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

RegionChooser: Adding test files from TestRepository.

parent 087c83fa
Showing with 409135 additions and 25 deletions
+409135 -25
......@@ -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 source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<?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 source diff could not be displayed because it is too large. You can view the blob instead.
Supports Markdown
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