Commit 3cc00bf0 authored by Eric Duminil's avatar Eric Duminil
Browse files

RegionChooser: Adding test files from TestRepository.

parent 087c83fa
......@@ -12,12 +12,13 @@
public class RegionExtractorTests
{
private static final String EPSG_32118 = "EPSG:32118";
private static final String CITY_OBJECT_MEMBER_REGEX = "<(core:)?cityObjectMember";
private static final String CITY_MODEL_HEADER = "<CityModel";
private static final String CORE_CITY_MODEL_HEADER = "<core:CityModel";
private static final String CITY_MODEL_FOOTER = "</CityModel";
private static final String CORE_CITY_MODEL_FOOTER = "</core:CityModel";
private static final Path repo = Paths.get("../TestRepository");
private static final Path TEST_REPOSITORY = Paths.get("../RegionChooser/test/testdata/");
public static int countRegexMatches(String str, String subStr) {
Pattern pattern = Pattern.compile(subStr);
......@@ -33,7 +34,7 @@ public static int countRegexMatches(String str, String subStr) {
public void testExtract3BuildingsFromGSK3Model() throws Throwable {
//NOTE: Small region around Martinskirche in Grünbühl
String wktPolygon = "POLYGON((3515848.896028535 5415823.108586172,3515848.9512289143 5415803.590347393,3515829.0815150724 5415803.338023346,3515830.9784850604 5415793.437034622,3515842.0946056456 5415793.272282251,3515843.3515515197 5415766.204935087,3515864.1064344468 5415766.557899496,3515876.489172751 5415805.433782301,3515876.343844858 5415822.009293416,3515848.896028535 5415823.108586172))";
Path citygmlPath = repo.resolve("Gruenbuehl.proj/20140218_Gruenbuehl_LOD2.gml");
Path citygmlPath = TEST_REPOSITORY.resolve("Gruenbuehl.proj/20140218_Gruenbuehl_LOD2.gml");
String churchGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:31467")
.toString();
assertEquals(countRegexMatches(churchGMLString, CITY_OBJECT_MEMBER_REGEX), 3);
......@@ -55,8 +56,8 @@ public void testExtract3BuildingsFromGSK3Model() throws Throwable {
public void testExtractBuildingsWithoutCommentsInBetween() throws Throwable {
//NOTE: Small region around WashingtonSquare
String wktPolygon = "POLYGON((300259.78663489706 62835.835907766595,300230.33294975647 62792.0482567884,300213.5667431851 62770.83143720031,300183.6592861123 62730.20347659383,300252.9947486632 62676.938468840905,300273.3862256562 62701.767105345614,300257.5250407747 62715.760413539596,300308.2754543957 62805.14198211394,300259.78663489706 62835.835907766595))";
Path citygmlPath = repo.resolve("NewYork.proj/ManhattanSmall.gml");
String archGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:32118")
Path citygmlPath = TEST_REPOSITORY.resolve("NewYork.proj/ManhattanSmall.gml");
String archGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, EPSG_32118)
.toString();
assertEquals(countRegexMatches(archGMLString, CITY_OBJECT_MEMBER_REGEX), 2);
assertTrue(archGMLString.contains("WASHINGTON SQUARE"));
......@@ -73,9 +74,9 @@ public void testExtractBuildingsWithoutCommentsInBetween() throws Throwable {
@Test
public void testExtractBuildingsAndChangeEnvelope() throws Throwable {
String wktPolygon = "POLYGON((299761.8123557725 61122.68126771413,299721.46983062755 61058.11626595352,299780.84627343423 61021.99295737501,299823.9079725632 61083.3979344517,299761.8123557725 61122.68126771413))";
Path citygmlPath = repo.resolve("NewYork.proj/FamilyCourt_LOD2_with_PLUTO_attributes.gml");
Path citygmlPath = TEST_REPOSITORY.resolve("NewYork.proj/FamilyCourt_LOD2_with_PLUTO_attributes.gml");
String familyCourtBuilding = RegionExtractor
.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:32118").toString();
.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, EPSG_32118).toString();
assertEquals(countRegexMatches(familyCourtBuilding, CITY_OBJECT_MEMBER_REGEX), 1);
assertTrue(familyCourtBuilding.contains("Bldg_12210021066"));
assertFalse("The exported CityGML shouldn't contain the original envelope", familyCourtBuilding
......@@ -94,8 +95,8 @@ public void testExtractBuildingsAndChangeEnvelope() throws Throwable {
public void testExtract0BuildingsWithWrongCoordinates() throws Throwable {
//NOTE: Small region, far away from NYC
String wktPolygon = "POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))";
Path citygmlPath = repo.resolve("NewYork.proj/ManhattanSmall.gml");
String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:32118")
Path citygmlPath = TEST_REPOSITORY.resolve("NewYork.proj/ManhattanSmall.gml");
String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, EPSG_32118)
.toString();
assertEquals(countRegexMatches(emptyGMLString, CITY_OBJECT_MEMBER_REGEX), 0);
assertTrue(emptyGMLString.contains(CITY_MODEL_HEADER));
......@@ -106,8 +107,8 @@ public void testExtract0BuildingsWithWrongCoordinates() throws Throwable {
public void testExtract0BuildingsFromEmptyGML() throws Throwable {
//NOTE: Small region, with too many spaces between coordinates
String wktPolygon = "POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))";
Path citygmlPath = repo.resolve("NewYork.proj/empty_model.gml");
String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:32118")
Path citygmlPath = TEST_REPOSITORY.resolve("NewYork.proj/empty_model.gml");
String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, EPSG_32118)
.toString();
assertEquals(countRegexMatches(emptyGMLString, CITY_OBJECT_MEMBER_REGEX), 0);
assertTrue(emptyGMLString.contains(CORE_CITY_MODEL_HEADER));
......@@ -118,8 +119,8 @@ public void testExtract0BuildingsFromEmptyGML() throws Throwable {
public void testExtract0BuildingsFromWeirdGML() throws Throwable {
//NOTE: Small region, with too many spaces between coordinates
String wktPolygon = "POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))";
Path citygmlPath = repo.resolve("NewYork.proj/broken_nyc_lod2.gml");
String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:32118")
Path citygmlPath = TEST_REPOSITORY.resolve("NewYork.proj/broken_nyc_lod2.gml");
String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, EPSG_32118)
.toString();
assertEquals(countRegexMatches(emptyGMLString, CITY_OBJECT_MEMBER_REGEX), 0);
assertTrue(emptyGMLString.contains(CORE_CITY_MODEL_HEADER));
......@@ -129,7 +130,7 @@ public void testExtract0BuildingsFromWeirdGML() throws Throwable {
@Test
public void testExtractBuildingsFromCitygmlWithoutZinEnvelope() throws Throwable {
String wktPolygon = "POLYGON((3512683.1280912133 5404783.732132129,3512719.1608604863 5404714.627650777,3512831.40076119 5404768.344155442,3512790.239106708 5404838.614891164,3512683.1280912133 5404783.732132129))";
Path citygmlPath = repo.resolve("Stuttgart.proj/Stuttgart_LOD0_LOD1_small.gml");
Path citygmlPath = TEST_REPOSITORY.resolve("Stuttgart.proj/Stuttgart_LOD0_LOD1_small.gml");
String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:31463")
.toString();
assertEquals(countRegexMatches(emptyGMLString, "<bldg:Building gml:id"), 2);
......
......@@ -20,8 +20,9 @@
public class RegionExtractorWithDifferentInputTests
{
WKTReader reader = new WKTReader();
WKTWriter writer = new WKTWriter();
private static final WKTReader WKT_READER = new WKTReader();
private static final WKTWriter WKT_WRITER = new WKTWriter();
private static final Path TEST_REPOSITORY = Paths.get("../RegionChooser/test/testdata/");
//NOTE: This test can be adapted to download a region which is too large for the server. Here with local coordinates
@Test
......@@ -29,8 +30,7 @@ public void testExtractRegionWithLocalCRS()
throws IOException, XPathParseException, NavException, XPathEvalException, ParseException {
String citygml = "DA13_DA14_3D_Buildings_Port_Morris.gml";
String projectName = "NewYork";
Path repo = Paths.get("../TestRepository");
Path project = repo.resolve(projectName + ".proj");
Path project = TEST_REPOSITORY.resolve(projectName + ".proj");
String wktPolygon = "POLYGON ((307475.5578835043 70804.63316765877, 307236.984333501 70360.67156492763, 307650.1509142817 70061.64902227426, 307964.8070375744 70462.43265268637, 307627.75063951925 70710.99549733262, 307475.5578835043 70804.63316765877))";
Path citygmlPath = project.resolve(citygml);
......@@ -47,13 +47,12 @@ public void testExtractRegionWithWGS84()
String wgs84WktPolygon = "POLYGON((-73.91140940026597 40.804246732157196,-73.91424181298568 40.80025100302325,-73.90934946374252 40.79755456207104,-73.90561582879378 40.80116062104605,-73.90960695580794 40.80340212653638,-73.91140940026597 40.804246732157196))";
String citygml = "DA13_DA14_3D_Buildings_Port_Morris.gml";
String projectName = "NewYork";
Path repo = Paths.get("../TestRepository");
Path project = repo.resolve(projectName + ".proj");
Path project = TEST_REPOSITORY.resolve(projectName + ".proj");
Path citygmlPath = project.resolve(citygml);
Polygon wgs84Polygon = (Polygon) reader.read(wgs84WktPolygon);
Polygon wgs84Polygon = (Polygon) WKT_READER.read(wgs84WktPolygon);
CoordinateReferenceSystem localCRS = GeoUtils.crsFromCityGMLHeader(citygmlPath);
String localWktPolygon = writer.write(GeoUtils.changePolygonCRS(wgs84Polygon, GeoUtils.WGS84, localCRS));
String localWktPolygon = WKT_WRITER.write(GeoUtils.changePolygonCRS(wgs84Polygon, GeoUtils.WGS84, localCRS));
StringBuilder sb = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, localWktPolygon,
localCRS.getName());
assertTrue("One weird shaped roof should be inside the region",
......@@ -96,13 +95,12 @@ public void testExtractRegionWithOldCoordinates()
}).collect(Collectors.joining(",")) + "))";
String citygml = "DA13_DA14_3D_Buildings_Port_Morris.gml";
String projectName = "NewYork";
Path repo = Paths.get("../TestRepository");
Path project = repo.resolve(projectName + ".proj");
Path project = TEST_REPOSITORY.resolve(projectName + ".proj");
Path citygmlPath = project.resolve(citygml);
Polygon wgs84Polygon = (Polygon) reader.read(wgs84WktPolygon);
Polygon wgs84Polygon = (Polygon) WKT_READER.read(wgs84WktPolygon);
CoordinateReferenceSystem localCRS = GeoUtils.crsFromCityGMLHeader(citygmlPath);
String localWktPolygon = writer.write(GeoUtils.changePolygonCRS(wgs84Polygon, GeoUtils.WGS84, localCRS));
String localWktPolygon = WKT_WRITER.write(GeoUtils.changePolygonCRS(wgs84Polygon, GeoUtils.WGS84, localCRS));
StringBuilder sb = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, localWktPolygon,
localCRS.getName());
......
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<core:CityModel xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/1.0" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:base="http://www.citygml.org/citygml/profiles/base/1.0" xmlns:luse="http://www.opengis.net/citygml/landuse/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:frn="http://www.opengis.net/citygml/cityfurniture/1.0" xmlns:dem="http://www.opengis.net/citygml/relief/1.0" xmlns:tran="http://www.opengis.net/citygml/transportation/1.0" xmlns:wtr="http://www.opengis.net/citygml/waterbody/1.0" xmlns:tex="http://www.opengis.net/citygml/texturedsurface/1.0" xmlns:core="http://www.opengis.net/citygml/1.0" xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:bldg="http://www.opengis.net/citygml/building/1.0" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:app="http://www.opengis.net/citygml/appearance/1.0" xmlns:veg="http://www.opengis.net/citygml/vegetation/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:gen="http://www.opengis.net/citygml/generics/1.0">
<cityObjectMember>
<bldg:Building gml:id="gml_ZL7GWAR67EC4S4ILQ40LOJB7Y8NM02D0HAWS">
<gml:name>Bldg_1210018481</gml:name>
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="gml_G73EI5D84XNG6BTW7RBQKARYXFGFBMWRIZET">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007684.09091516 143034.642786562 24.6757999999973 1007630.56444742 143048.987574145 24.6757999999973 1007629.72324175 143045.848800898 24.6757999999973 1007624.51459074 143026.412159979 24.6757999999973 1007623.83709866 143023.884605974 24.6757999999973 1007677.36356641 143009.539818391 24.6757999999973 1007684.09091516 143034.642786562 24.6757999999973
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:GroundSurface gml:id="gml_AWDTFCCAUHPYIQ209FIFPFQDY87RB58G6AVL">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007684.09091516 143034.642786562 6.84230000000389 1007677.36356641 143009.539818391 6.84230000000389 1007623.83709866 143023.884605974 6.84230000000389 1007624.51459074 143026.412159979 6.84230000000389 1007629.72324175 143045.848800898 6.84230000000389 1007630.56444742 143048.987574145 6.84230000000389 1007684.09091516 143034.642786562 6.84230000000389
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:GroundSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="gml_NSLH7QDQZR6UT6SCR8E5FA4GFU9ZII2I5RMQ">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007630.56444742 143048.987574145 6.84230000000389 1007630.56444742 143048.987574145 24.6757999999973 1007684.09091516 143034.642786562 24.6757999999973 1007684.09091516 143034.642786562 6.84230000000389 1007630.56444742 143048.987574145 6.84230000000389
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="gml_4AI8CANHCM8FM5Z760FNXECMROHQZXZCTCHQ">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007629.72324175 143045.848800898 6.84230000000389 1007629.72324175 143045.848800898 24.6757999999973 1007630.56444742 143048.987574145 24.6757999999973 1007630.56444742 143048.987574145 6.84230000000389 1007629.72324175 143045.848800898 6.84230000000389
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="gml_0F3FXXE2W4MMT4MEM82Z85RY26SOX5VKYIH0">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007624.51459074 143026.412159979 6.84230000000389 1007624.51459074 143026.412159979 24.6757999999973 1007629.72324175 143045.848800898 24.6757999999973 1007629.72324175 143045.848800898 6.84230000000389 1007624.51459074 143026.412159979 6.84230000000389
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="gml_790AAJ0WB474LV0UKSS5YEM0F0E0JCYLXWGM">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007623.83709866 143023.884605974 6.84230000000389 1007623.83709866 143023.884605974 24.6757999999973 1007624.51459074 143026.412159979 24.6757999999973 1007624.51459074 143026.412159979 6.84230000000389 1007623.83709866 143023.884605974 6.84230000000389
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="gml_I2ZYF4W88XCCFBAF0LB2X94JF9N8FWGZONMR">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007677.36356641 143009.539818391 6.84230000000389 1007677.36356641 143009.539818391 24.6757999999973 1007623.83709866 143023.884605974 24.6757999999973 1007623.83709866 143023.884605974 6.84230000000389 1007677.36356641 143009.539818391 6.84230000000389
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="gml_23Z3SO1RXCUICSULUNZI7PTGRX2MQNY2YSN7">
<gen:stringAttribute name="DOITT_ID">
<gen:value>294532</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="BIN">
<gen:value>4465953</gen:value>
</gen:stringAttribute>
<gen:stringAttribute name="SOURCE_ID">
<gen:value>1210018481</gen:value>
</gen:stringAttribute>
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:2263" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
1007684.09091516 143034.642786562 6.84230000000389 1007684.09091516 143034.642786562 24.6757999999973 1007677.36356641 143009.539818391 24.6757999999973 1007677.36356641 143009.539818391 6.84230000000389 1007684.09091516 143034.642786562 6.84230000000389
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
</bldg:Building>
</cityObjectMember>
</core:CityModel>
<?xml version="1.0" encoding="UTF-8"?>
<core:CityModel xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/1.0" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:base="http://www.citygml.org/citygml/profiles/base/1.0" xmlns:luse="http://www.opengis.net/citygml/landuse/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:frn="http://www.opengis.net/citygml/cityfurniture/1.0" xmlns:dem="http://www.opengis.net/citygml/relief/1.0" xmlns:tran="http://www.opengis.net/citygml/transportation/1.0" xmlns:wtr="http://www.opengis.net/citygml/waterbody/1.0" xmlns:tex="http://www.opengis.net/citygml/texturedsurface/1.0" xmlns:core="http://www.opengis.net/citygml/1.0" xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:bldg="http://www.opengis.net/citygml/building/1.0" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:app="http://www.opengis.net/citygml/appearance/1.0" xmlns:veg="http://www.opengis.net/citygml/vegetation/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:gen="http://www.opengis.net/citygml/generics/1.0">
</core:CityModel>
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment