diff --git a/enrich-citygml-with-greenarea/.gitignore b/enrich-citygml-with-greenarea/.gitignore index f190e4bc19841cf1aa289fc09f5b260ea70f0b82..6a87605130080e7dbc3f84fd71a162776165a9d2 100644 --- a/enrich-citygml-with-greenarea/.gitignore +++ b/enrich-citygml-with-greenarea/.gitignore @@ -2,6 +2,13 @@ # Created by https://www.gitignore.io/api/java,maven,macos,linux,eclipse,windows,netbeans,intellij # Edit at https://www.gitignore.io/?templates=java,maven,macos,linux,eclipse,windows,netbeans,intellij +data/Marieke +data/Grombühl_BA_IST_trees_250_15.gml +data/Grombühl_BA_IST_trees_250_5.gml +data/Grombühl_BA_IST_trees_500_10.gml +data/Grombühl_BA_IST_trees_500_15.gml +data/Grombühl_BA_IST_trees_75_15.gml + # User specific .sonarlint/ diff --git a/enrich-citygml-with-greenarea/src/main/java/de/hft/stuttgart/citygml/green/osm/TreeUtils.java b/enrich-citygml-with-greenarea/src/main/java/de/hft/stuttgart/citygml/green/osm/TreeUtils.java index f66b6400778b9cb2dad6cf474297d7641db31e76..1c3dab9787c3f8d7a6ec2368397fd3ace9d93c5c 100644 --- a/enrich-citygml-with-greenarea/src/main/java/de/hft/stuttgart/citygml/green/osm/TreeUtils.java +++ b/enrich-citygml-with-greenarea/src/main/java/de/hft/stuttgart/citygml/green/osm/TreeUtils.java @@ -15,7 +15,9 @@ import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.measures.Length; -public class TreeUtils { + +public class TreeUtils +{ private static final GeometryFactory FACTORY = new GeometryFactory(); @@ -30,10 +32,10 @@ public class TreeUtils { // generateTreesFromKataster(cityModel, katasterData2); // All kataster trees are taken, osm trees are removed -// filterDuplicateTreesFromOSM(osmData, katasterData); + // filterDuplicateTreesFromOSM(osmData, katasterData); // filterDuplicateTreesFromOSM(osmData, katasterData2); -// generateTreesFromOSM(cityModel, osmData, wktPolygon); + // generateTreesFromOSM(cityModel, osmData, wktPolygon); } @@ -81,7 +83,8 @@ public class TreeUtils { // check if tree is in area Coordinate coordinate = tree.getPoint().getCoordinate(); if ((wktPolygon != null && !wktPolygon.contains(FACTORY.createPoint(coordinate))) - || !osmData.getBoundingBox().contains(FACTORY.createPoint(coordinate))) { + || osmData.getBoundingBox() != null + && !osmData.getBoundingBox().contains(FACTORY.createPoint(coordinate))) { continue; } diff --git a/enrich-citygml-with-greenarea/src/test/java/de/hft/stuttgart/citygml/green/alkis/AlkisGreenEnricherTest.java b/enrich-citygml-with-greenarea/src/test/java/de/hft/stuttgart/citygml/green/alkis/AlkisGreenEnricherTest.java index adeb2c3e28ac0fcafc3ff5369840b99f40e6862b..7d06f775dd64ca6aa5a8711f71fbddb9b132b9c0 100644 --- a/enrich-citygml-with-greenarea/src/test/java/de/hft/stuttgart/citygml/green/alkis/AlkisGreenEnricherTest.java +++ b/enrich-citygml-with-greenarea/src/test/java/de/hft/stuttgart/citygml/green/alkis/AlkisGreenEnricherTest.java @@ -1,43 +1,43 @@ package de.hft.stuttgart.citygml.green.alkis; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; +import java.io.File; import org.junit.jupiter.api.Test; import de.hft.stuttgart.citygml.green.osm.GreenEnricher; class AlkisGreenEnricherTest { - @Test - void testAlkisGreen() throws Exception { - //NOTE: From https://transfer.hft-stuttgart.de/gitlab/circulargreensimcity/circulargreensimcity/-/wikis/Fallstudien/Gromb%C3%BChl - Path outputGML = Paths.get("data/Grombühl_v4_case_study_alkis_test.gml"); - Files.deleteIfExists(outputGML); - assertFalse(Files.exists(outputGML)); - String[] args = new String[] { "data/Grombühl_v4_case_study.gml", // Input GML - "data/tn_09663/Nutzung.shp", // ALKIS Data - //NOTE: From https://transfer.hft-stuttgart.de/gitlab/circulargreensimcity/circulargreensimcity/-/issues/26#note_6544 - "data/Trees/Trees_realisticScenario_20240201.shp", // Added trees, in Baumkatasterformat, - "alkis_test", // Output GML suffix - "POLYGON((9.946874 49.803172, 9.949785 49.803205, 9.952122 49.803312, 9.953435 49.803089, 9.956488 49.803150, 9.955465 49.802374, 9.953216 49.800916, 9.952371 49.800676, 9.951810 49.800509, 9.949172 49.800829, 9.946792 49.800796, 9.946874 49.803172))" - }; - AlkisGreenEnricher.main(args); - assertTrue(Files.exists(outputGML)); - } + // @Test + // void testAlkisGreen() throws Exception { + // //NOTE: From https://transfer.hft-stuttgart.de/gitlab/circulargreensimcity/circulargreensimcity/-/wikis/Fallstudien/Gromb%C3%BChl + // Path outputGML = Paths.get("data/Grombühl_v4_case_study_alkis_test.gml"); + // Files.deleteIfExists(outputGML); + // assertFalse(Files.exists(outputGML)); + // String[] args = new String[] { "data/Grombühl_v4_case_study.gml", // Input GML + // "data/tn_09663/Nutzung.shp", // ALKIS Data + // //NOTE: From https://transfer.hft-stuttgart.de/gitlab/circulargreensimcity/circulargreensimcity/-/issues/26#note_6544 + // "data/Trees/Trees_realisticScenario_20240201.shp", // Added trees, in Baumkatasterformat, + // "alkis_test", // Output GML suffix + // "POLYGON((9.946874 49.803172, 9.949785 49.803205, 9.952122 49.803312, 9.953435 49.803089, 9.956488 49.803150, 9.955465 49.802374, 9.953216 49.800916, 9.952371 49.800676, 9.951810 49.800509, 9.949172 49.800829, 9.946792 49.800796, 9.946874 49.803172))" + // }; + // AlkisGreenEnricher.main(args); + // assertTrue(Files.exists(outputGML)); + // } @Test void testGreen() throws Exception { - Path outputGML = Paths.get("data/Grombühl_v4_case_study_enrich_test.gml"); - Files.deleteIfExists(outputGML); - assertFalse(Files.exists(outputGML)); - String[] args = new String[] { "data/Grombühl_v4_case_study.gml", // Input GML - "data/Trees/Trees_realisticScenario_20240201.shp", // Added trees, in Baumkatasterformat, - "enrich_test" // Output GML suffix - }; - GreenEnricher.main(args); - assertTrue(Files.exists(outputGML)); + File folder = new File("data/Marieke/ganzes_gebiet/"); + String gml = "Grombühl_BA_IST.gml"; + File[] shapefiles = folder.listFiles((dir, name) -> name.endsWith(".shp")); + for (File shapefile : shapefiles) { + System.out.println(shapefile); + String extension = shapefile.getName().replaceAll("\\.shp", ""); + String[] args = new String[] { folder.toPath().resolve(gml).toString(), // Input GML + shapefile.toString(), // Added trees, in Baumkatasterformat, + extension, // Output GML suffix + }; + GreenEnricher.main(args); + } + // assertTrue(Files.exists(outputGML)); } }