From 0e2b56e42087c579ed290fd9854809a06cb3fc89 Mon Sep 17 00:00:00 2001 From: duminil Date: Mon, 1 Jun 2015 14:28:11 +0000 Subject: [PATCH] RegionChooser: Adding "EPSG:31467" to Citygml from NovaFactory if needed --- .../nf4j/ExportJobFromJavaFXRegionChooser.java | 2 -- .../simstadt/regionchooser/RegionChooserFX.java | 16 ++++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/eu/simstadt/nf4j/ExportJobFromJavaFXRegionChooser.java b/src/eu/simstadt/nf4j/ExportJobFromJavaFXRegionChooser.java index 614d356..5696c96 100644 --- a/src/eu/simstadt/nf4j/ExportJobFromJavaFXRegionChooser.java +++ b/src/eu/simstadt/nf4j/ExportJobFromJavaFXRegionChooser.java @@ -40,8 +40,6 @@ public void processJob(Geometry poly, String productName, JSObject novaFactoryOp description.setProduct(productName); description.setJobnumber(userName); - //FIXME: Zipped GMLs coming from nF don't have any defined srsName - ArrayList regionPolygon = new ArrayList<>(); for (Coordinate point : poly.getCoordinates()) { diff --git a/src/eu/simstadt/regionchooser/RegionChooserFX.java b/src/eu/simstadt/regionchooser/RegionChooserFX.java index e63647f..f68fafd 100644 --- a/src/eu/simstadt/regionchooser/RegionChooserFX.java +++ b/src/eu/simstadt/regionchooser/RegionChooserFX.java @@ -3,9 +3,9 @@ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; @@ -106,15 +106,15 @@ public void extractZIPtoGML(String zipFilename) throws IOException { zeName.replace("_GML.", ".").replace(userName, "novaFACTORY"), ""); if (extractedCityGML != null) { InputStream cityGMLInputStream = zipFile.getInputStream(ze); - // System.out.println("Extract zipFile " + zipFilename + " to " + extractedCityGML); - FileOutputStream fos = new FileOutputStream(extractedCityGML); - byte[] bytes = new byte[1024]; - int length; - while ((length = cityGMLInputStream.read(bytes)) >= 0) { - fos.write(bytes, 0, length); + BufferedReader cityGMLZipReader = new BufferedReader(new InputStreamReader(cityGMLInputStream)); + BufferedWriter cityGMLOutput = Files.newBufferedWriter(extractedCityGML.toPath()); + String buf = null; + while ((buf = cityGMLZipReader.readLine()) != null) { + cityGMLOutput.write(buf.replace("srsName=\"\"", "srsName=\"EPSG:31467\"")); } + cityGMLZipReader.close(); cityGMLInputStream.close(); - fos.close(); + cityGMLOutput.close(); System.out.println("Extracted"); } } -- GitLab