diff --git a/src/eu/simstadt/nf4j/ExportJobFromJavaFXRegionChooser.java b/src/eu/simstadt/nf4j/ExportJobFromJavaFXRegionChooser.java index 614d356e1ab784579b9b927adf51da5bb650645a..5696c96034847b904ccc8b997e07fa6012cbd805 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<Coord> 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 e63647fbb6d51bda4b95faee0c724a7304586cc2..f68fafd0c47310cba5c94196ad8a87ecc242d129 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"); } }