From 9bf39b18ed306faa43e67b96ade89bf12fb82de9 Mon Sep 17 00:00:00 2001 From: Eric Duminil <eric.duminil@gmail.com> Date: Sat, 11 Apr 2020 15:48:28 +0200 Subject: [PATCH] Added tests for CRS from header --- .../CRSfromCityGMLHeaderTests.java | 54 ++++ .../Others.proj/Aachen_LoD2_293_5623_1_NW.gml | 149 ++++++++++ .../testdata/Others.proj/SimpleSolid_MSBS.gml | 273 ++++++++++++++++++ .../Valladolid_Spain_only_header.gml | 10 + 4 files changed, 486 insertions(+) create mode 100644 src/test/java/eu/simstadt/regionchooser/CRSfromCityGMLHeaderTests.java create mode 100644 src/test/resources/testdata/Others.proj/Aachen_LoD2_293_5623_1_NW.gml create mode 100644 src/test/resources/testdata/Others.proj/SimpleSolid_MSBS.gml create mode 100644 src/test/resources/testdata/Others.proj/Valladolid_Spain_only_header.gml diff --git a/src/test/java/eu/simstadt/regionchooser/CRSfromCityGMLHeaderTests.java b/src/test/java/eu/simstadt/regionchooser/CRSfromCityGMLHeaderTests.java new file mode 100644 index 0000000..5e902fa --- /dev/null +++ b/src/test/java/eu/simstadt/regionchooser/CRSfromCityGMLHeaderTests.java @@ -0,0 +1,54 @@ +package eu.simstadt.regionchooser; + +import static org.junit.Assert.assertEquals; +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; +import org.junit.Test; +import eu.simstadt.geo.RegionChooserUtils; + + +public class CRSfromCityGMLHeaderTests +{ + private Path repo = Paths.get("src/test/resources/testdata"); + + private void testExtractCSRNameFromHeader(Path citygmlPath, String crsName) throws IOException { + assertEquals(crsName, RegionChooserUtils.crsFromCityGMLHeader(citygmlPath).toString()); + } + + @Test + public void testExtractCRSFromStuttgart() throws IOException { + testExtractCSRNameFromHeader(repo.resolve("Stuttgart.proj/Stuttgart_LOD0_LOD1_buildings_and_trees.gml"), "EPSG:31463"); + } + + @Test + public void testExtractCRSFromGruenbuehl() throws IOException { + testExtractCSRNameFromHeader(repo.resolve("Gruenbuehl.proj/20140218_Gruenbuehl_LOD2_1building.gml"), "EPSG:31467"); + } + + @Test + public void testExtractCRSFromMunich() throws IOException { + testExtractCSRNameFromHeader(repo.resolve("Muenchen.proj/Munich_v_1_0_0.gml"), "EPSG:32632"); + } + + @Test + public void testExtractCRSFromNYC() throws IOException { + testExtractCSRNameFromHeader(repo.resolve("NewYork.proj/ManhattanSmall.gml"), "EPSG:32118"); + } + + @Test + public void testExtractCRSFromAachen() throws IOException { + testExtractCSRNameFromHeader(repo.resolve("Others.proj/Aachen_LoD2_293_5623_1_NW.gml"), "EPSG:25832"); + } + + @Test + public void testExtractCRSFromValladolid() throws IOException { + testExtractCSRNameFromHeader(repo.resolve("Others.proj/Valladolid_Spain_only_header.gml"), "EPSG:25830"); + } + + @Test(expected = IllegalArgumentException.class) + public void testDontExtractCRSFromBrokenCityGML() throws IOException { + Path citygmlPath = repo.resolve("Others.proj/SimpleSolid_MSBS.gml"); + testExtractCSRNameFromHeader(citygmlPath, "Nothing found. Should throw an exception"); + } +} diff --git a/src/test/resources/testdata/Others.proj/Aachen_LoD2_293_5623_1_NW.gml b/src/test/resources/testdata/Others.proj/Aachen_LoD2_293_5623_1_NW.gml new file mode 100644 index 0000000..37dbef2 --- /dev/null +++ b/src/test/resources/testdata/Others.proj/Aachen_LoD2_293_5623_1_NW.gml @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="windows-1252" standalone="yes"?> +<core:CityModel xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:gml="http://www.opengis.net/gml" xmlns:app="http://www.opengis.net/citygml/appearance/1.0" xmlns:core="http://www.opengis.net/citygml/1.0" xmlns:tex="http://www.opengis.net/citygml/texturedsurface/1.0" xmlns:dem="http://www.opengis.net/citygml/relief/1.0" xmlns:veg="http://www.opengis.net/citygml/vegetation/1.0" xmlns:wtr="http://www.opengis.net/citygml/waterbody/1.0" xmlns:tran="http://www.opengis.net/citygml/transportation/1.0" xmlns:bldg="http://www.opengis.net/citygml/building/1.0" xmlns:frn="http://www.opengis.net/citygml/cityfurniture/1.0" xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/1.0" xmlns:gen="http://www.opengis.net/citygml/generics/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:luse="http://www.opengis.net/citygml/landuse/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/citygml/building/1.0 http://schemas.opengis.net/citygml/building/1.0/building.xsd http://www.opengis.net/citygml/cityfurniture/1.0 http://schemas.opengis.net/citygml/cityfurniture/1.0/cityFurniture.xsd http://www.opengis.net/citygml/appearance/1.0 http://schemas.opengis.net/citygml/appearance/1.0/appearance.xsd http://www.opengis.net/citygml/cityobjectgroup/1.0 http://schemas.opengis.net/citygml/cityobjectgroup/1.0/cityObjectGroup.xsd http://www.opengis.net/citygml/generics/1.0 http://schemas.opengis.net/citygml/generics/1.0/generics.xsd http://www.opengis.net/citygml/texturedsurface/1.0 http://schemas.opengis.net/citygml/texturedsurface/1.0/texturedSurface.xsd http://www.opengis.net/citygml/relief/1.0 http://schemas.opengis.net/citygml/relief/1.0/relief.xsd http://www.opengis.net/citygml/vegetation/1.0 http://schemas.opengis.net/citygml/vegetation/1.0/vegetation.xsd http://www.opengis.net/citygml/waterbody/1.0 http://schemas.opengis.net/citygml/waterbody/1.0/waterBody.xsd http://www.opengis.net/citygml/transportation/1.0 http://schemas.opengis.net/citygml/transportation/1.0/transportation.xsd http://www.opengis.net/citygml/landuse/1.0 http://schemas.opengis.net/citygml/landuse/1.0/landUse.xsd"> + <gml:name>LoD1_293_5623_1_NW</gml:name> + <gml:boundedBy> + <gml:Envelope srsName="urn:adv:crs:ETRS89_UTM32*DE_DHHN92_NH"> + <gml:lowerCorner srsDimension="3">293000.0 5623000.0 291.37</gml:lowerCorner> + <gml:upperCorner srsDimension="3">294000.0 5624000.0 294.37</gml:upperCorner> + </gml:Envelope> + </gml:boundedBy> + <core:cityObjectMember> + <bldg:Building gml:id="DENW39AL10003jfi"> + <core:creationDate>2015-12-18</core:creationDate> + <core:externalReference> + <core:informationSystem>http://repository.gdi-de.org/schemas/adv/citygml/fdv/art.htm</core:informationSystem> + <core:externalObject> + <core:name>DENW39AL10003jfi</core:name> + </core:externalObject> + </core:externalReference> + <gen:stringAttribute name="DatenquelleDachhoehe"> + <gen:value>3000</gen:value> + </gen:stringAttribute> + <gen:stringAttribute name="DatenquelleLage"> + <gen:value>1000</gen:value> + </gen:stringAttribute> + <gen:stringAttribute name="Gemeindeschluessel"> + <gen:value>05334002</gen:value> + </gen:stringAttribute> + <gen:stringAttribute name="DatenquelleBodenhoehe"> + <gen:value>1100</gen:value> + </gen:stringAttribute> + <bldg:function>31001_2000</bldg:function> + <bldg:measuredHeight uom="urn:adv:uom:m">3.0</bldg:measuredHeight> + <bldg:lod1Solid> + <gml:Solid gml:id="UUID_5975d8a4-ac67-451c-ac07-94b17249c272"> + <gml:exterior> + <gml:CompositeSurface gml:id="UUID_09896245-a517-4309-8009-6aa452c83241"> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_b9db823d-cc7e-41ed-9dd3-0edae5e35968"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_b9db823d-cc7e-41ed-9dd3-0edae5e35968_0_"> + <gml:posList srsDimension="3">293419.864 5623614.091 294.37 293420.389 5623616.431 294.37 293420.389 5623616.431 291.37 293419.864 5623614.091 291.37 293419.864 5623614.091 294.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_6ab56fed-c69d-4ca7-ab10-4e1df778ba42"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_6ab56fed-c69d-4ca7-ab10-4e1df778ba42_0_"> + <gml:posList srsDimension="3">293420.389 5623616.431 294.37 293422.915 5623617.223 294.37 293422.915 5623617.223 291.37 293420.389 5623616.431 291.37 293420.389 5623616.431 294.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_9f7551d0-a458-4959-9b48-75a7bd2eb1a3"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_9f7551d0-a458-4959-9b48-75a7bd2eb1a3_0_"> + <gml:posList srsDimension="3">293422.915 5623617.223 294.37 293424.598 5623615.468 294.37 293424.598 5623615.468 291.37 293422.915 5623617.223 291.37 293422.915 5623617.223 294.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_6f1c4986-26fd-44bb-9962-d12321915256"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_6f1c4986-26fd-44bb-9962-d12321915256_0_"> + <gml:posList srsDimension="3">293424.598 5623615.468 294.37 293424.06 5623613.068 294.37 293424.06 5623613.068 291.37 293424.598 5623615.468 291.37 293424.598 5623615.468 294.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_dd97b9a6-a10e-44e6-895d-e94ab9d802b2"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_dd97b9a6-a10e-44e6-895d-e94ab9d802b2_0_"> + <gml:posList srsDimension="3">293424.06 5623613.068 294.37 293421.595 5623612.293 294.37 293421.595 5623612.293 291.37 293424.06 5623613.068 291.37 293424.06 5623613.068 294.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_d2373d80-6e27-4604-863d-fa730626ffcc"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_d2373d80-6e27-4604-863d-fa730626ffcc_0_"> + <gml:posList srsDimension="3">293421.595 5623612.293 294.37 293419.864 5623614.091 294.37 293419.864 5623614.091 291.37 293421.595 5623612.293 291.37 293421.595 5623612.293 294.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_b201ece1-17f9-4769-8b45-51e08e763dae"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_b201ece1-17f9-4769-8b45-51e08e763dae_0_"> + <gml:posList srsDimension="3">293421.595 5623612.293 294.37 293424.06 5623613.068 294.37 293424.598 5623615.468 294.37 293422.915 5623617.223 294.37 293420.389 5623616.431 294.37 293419.864 5623614.091 294.37 293421.595 5623612.293 294.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="UUID_5fdc05ef-025a-4212-903c-8bc3d637829d"> + <gml:exterior> + <gml:LinearRing gml:id="UUID_5fdc05ef-025a-4212-903c-8bc3d637829d_0_"> + <gml:posList srsDimension="3">293419.864 5623614.091 291.37 293420.389 5623616.431 291.37 293422.915 5623617.223 291.37 293424.598 5623615.468 291.37 293424.06 5623613.068 291.37 293421.595 5623612.293 291.37 293419.864 5623614.091 291.37</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:CompositeSurface> + </gml:exterior> + </gml:Solid> + </bldg:lod1Solid> + <bldg:lod1TerrainIntersection> + <gml:MultiCurve> + <gml:curveMember> + <gml:LineString> + <gml:posList srsDimension="3">293419.864 5623614.091 291.706 293420.0 5623614.697 291.676 293420.068 5623615.0 291.665 293420.088 5623615.088 291.663 293420.292 5623616.0 291.64 293420.377 5623616.377 291.634 293420.389 5623616.431 291.633</gml:posList> + </gml:LineString> + </gml:curveMember> + <gml:curveMember> + <gml:LineString> + <gml:posList srsDimension="3">293420.389 5623616.431 291.633 293420.45 5623616.45 291.628 293421.0 5623616.623 291.59 293421.907 5623616.907 291.545 293422.0 5623616.936 291.541 293422.204 5623617.0 291.528 293422.915 5623617.223 291.474</gml:posList> + </gml:LineString> + </gml:curveMember> + <gml:curveMember> + <gml:LineString> + <gml:posList srsDimension="3">293422.915 5623617.223 291.474 293423.0 5623617.134 291.473 293423.066 5623617.066 291.473 293423.129 5623617.0 291.468 293423.555 5623616.555 291.448 293424.0 5623616.092 291.426 293424.045 5623616.045 291.424 293424.088 5623616.0 291.419 293424.534 5623615.534 291.375 293424.598 5623615.468 291.37</gml:posList> + </gml:LineString> + </gml:curveMember> + <gml:curveMember> + <gml:LineString> + <gml:posList srsDimension="3">293424.06 5623613.068 291.407 293424.269 5623614.0 291.418 293424.347 5623614.347 291.405 293424.493 5623615.0 291.401 293424.598 5623615.468 291.37</gml:posList> + </gml:LineString> + </gml:curveMember> + <gml:curveMember> + <gml:LineString> + <gml:posList srsDimension="3">293421.595 5623612.293 291.554 293422.0 5623612.42 291.527 293422.613 5623612.613 291.492 293423.0 5623612.735 291.467 293423.844 5623613.0 291.421 293424.0 5623613.049 291.411 293424.06 5623613.068 291.407</gml:posList> + </gml:LineString> + </gml:curveMember> + <gml:curveMember> + <gml:LineString> + <gml:posList srsDimension="3">293419.864 5623614.091 291.706 293419.952 5623614.0 291.696 293419.975 5623613.975 291.693 293420.0 5623613.95 291.691 293420.466 5623613.466 291.658 293420.914 5623613.0 291.618 293420.956 5623612.956 291.614 293421.0 5623612.911 291.608 293421.447 5623612.447 291.572 293421.595 5623612.293 291.554</gml:posList> + </gml:LineString> + </gml:curveMember> + </gml:MultiCurve> + </bldg:lod1TerrainIntersection> + </bldg:Building> + </core:cityObjectMember> +</core:CityModel> \ No newline at end of file diff --git a/src/test/resources/testdata/Others.proj/SimpleSolid_MSBS.gml b/src/test/resources/testdata/Others.proj/SimpleSolid_MSBS.gml new file mode 100644 index 0000000..f5b5365 --- /dev/null +++ b/src/test/resources/testdata/Others.proj/SimpleSolid_MSBS.gml @@ -0,0 +1,273 @@ +<?xml version="1.0" encoding="utf-8"?> +<core:CityModel xmlns:core="http://www.opengis.net/citygml/1.0" xmlns:gen="http://www.opengis.net/citygml/generics/1.0" xmlns:bldg="http://www.opengis.net/citygml/building/1.0" xmlns:app="http://www.opengis.net/citygml/appearance/1.0" xmlns:dem="http://www.opengis.net/citygml/relief/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/citygml/building/1.0 http://schemas.opengis.net/citygml/building/1.0/building.xsd http://www.opengis.net/citygml/appearance/1.0 http://schemas.opengis.net/citygml/appearance/1.0/appearance.xsd http://www.opengis.net/citygml/relief/1.0 http://schemas.opengis.net/citygml/relief/1.0/relief.xsd http://www.opengis.net/citygml/1.0 http://schemas.opengis.net/citygml/1.0/cityGMLBase.xsd http://www.opengis.net/citygml/generics/1.0 http://schemas.opengis.net/citygml/generics/1.0/generics.xsd"> + <core:cityObjectMember> + <bldg:Building gml:id="_Simple_BD.1"> + <bldg:lod2MultiSurface> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.1ms"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.1_LR.1ms"> + <gml:posList srsDimension="3"> + 10.0 10.0 0.0 + 10.0 15.0 0.0 + 13.0 15.0 0.0 + 13.0 10.0 0.0 + 10.0 10.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.2ms"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.2_LR.1ms"> + <gml:posList srsDimension="3"> + 13.0 15.0 0.0 + 13.0 15.0 3.0 + 13.0 10.0 3.0 + 13.0 10.0 0.0 + 13.0 15.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.3ms"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.3_LR.1ms"> + <gml:posList srsDimension="3"> + 10.0 15.0 0.0 + 10.0 15.0 3.0 + 11.5 15.0 4.5 + 13.0 15.0 3.0 + 13.0 15.0 0.0 + 10.0 15.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.4ms"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.4_LR.1ms"> + <gml:posList srsDimension="3"> + 10.0 10.0 3.0 + 10.0 15.0 3.0 + 10.0 15.0 0.0 + 10.0 10.0 0.0 + 10.0 10.0 3.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.5ms"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.5_LR.1ms"> + <gml:posList srsDimension="3"> + 13.0 10.0 0.0 + 13.0 10.0 3.0 + 11.5 10.0 4.5 + 10.0 10.0 3.0 + 10.0 10.0 0.0 + 13.0 10.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.6ms"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.6_LR.1ms"> + <gml:posList srsDimension="3"> + 10.0 10.0 3.0 + 11.5 10.0 4.5 + 11.5 15.0 4.5 + 10.0 15.0 3.0 + 10.0 10.0 3.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.7ms"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.7_LR.1ms"> + <gml:posList srsDimension="3"> + 11.5 10.0 4.5 + 13.0 10.0 3.0 + 13.0 15.0 3.0 + 11.5 15.0 4.5 + 11.5 10.0 4.5 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </bldg:lod2MultiSurface> + <bldg:boundedBy> + <bldg:WallSurface gml:id="_Simple_BD.1_WallSurface_1"> + <bldg:lod2MultiSurface> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.2"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.2_LR.1"> + <gml:posList srsDimension="3"> + 13.0 15.0 0.0 + 13.0 15.0 3.0 + 13.0 10.0 3.0 + 13.0 10.0 0.0 + 13.0 15.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </bldg:lod2MultiSurface> + </bldg:WallSurface> + </bldg:boundedBy> + <bldg:boundedBy> + <bldg:WallSurface gml:id="_Simple_BD.1_WallSurface_2"> + <bldg:lod2MultiSurface> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.3"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.3_LR.1"> + <gml:posList srsDimension="3"> + 10.0 15.0 0.0 + 10.0 15.0 3.0 + 11.5 15.0 4.5 + 13.0 15.0 3.0 + 13.0 15.0 0.0 + 10.0 15.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </bldg:lod2MultiSurface> + </bldg:WallSurface> + </bldg:boundedBy> + <bldg:boundedBy> + <bldg:WallSurface gml:id="_Simple_BD.1_WallSurface_3"> + <bldg:lod2MultiSurface> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.4"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.4_LR.1"> + <gml:posList srsDimension="3"> + 10.0 10.0 3.0 + 10.0 15.0 3.0 + 10.0 15.0 0.0 + 10.0 10.0 0.0 + 10.0 10.0 3.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </bldg:lod2MultiSurface> + </bldg:WallSurface> + </bldg:boundedBy> + <bldg:boundedBy> + <bldg:WallSurface gml:id="_Simple_BD.1_WallSurface_4"> + <bldg:lod2MultiSurface> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.5"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.5_LR.1"> + <gml:posList srsDimension="3"> + 13.0 10.0 0.0 + 13.0 10.0 3.0 + 11.5 10.0 4.5 + 10.0 10.0 3.0 + 10.0 10.0 0.0 + 13.0 10.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </bldg:lod2MultiSurface> + </bldg:WallSurface> + </bldg:boundedBy> + <bldg:boundedBy> + <bldg:RoofSurface gml:id="_Simple_BD.1_RoofSurface_1"> + <bldg:lod2MultiSurface> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.6"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.6_LR.1"> + <gml:posList srsDimension="3"> + 10.0 10.0 3.0 + 11.5 10.0 4.5 + 11.5 15.0 4.5 + 10.0 15.0 3.0 + 10.0 10.0 3.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.7"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.7_LR.1"> + <gml:posList srsDimension="3"> + 11.5 10.0 4.5 + 13.0 10.0 3.0 + 13.0 15.0 3.0 + 11.5 15.0 4.5 + 11.5 10.0 4.5 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </bldg:lod2MultiSurface> + </bldg:RoofSurface> + </bldg:boundedBy> + <bldg:boundedBy> + <bldg:GroundSurface gml:id="_Simple_BD.1_GroundSurface_1"> + <bldg:lod2MultiSurface> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="_Simple_BD.1_PG.1"> + <gml:exterior> + <gml:LinearRing gml:id="_Simple_BD.1_PG.1_LR.1"> + <gml:posList srsDimension="3"> + 10.0 10.0 0.0 + 10.0 15.0 0.0 + 13.0 15.0 0.0 + 13.0 10.0 0.0 + 10.0 10.0 0.0 + </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </bldg:lod2MultiSurface> + </bldg:GroundSurface> + </bldg:boundedBy> + </bldg:Building> + </core:cityObjectMember> +</core:CityModel> \ No newline at end of file diff --git a/src/test/resources/testdata/Others.proj/Valladolid_Spain_only_header.gml b/src/test/resources/testdata/Others.proj/Valladolid_Spain_only_header.gml new file mode 100644 index 0000000..62e72e3 --- /dev/null +++ b/src/test/resources/testdata/Others.proj/Valladolid_Spain_only_header.gml @@ -0,0 +1,10 @@ +<?xml version='1.0' encoding='utf-8'?> +<core:CityModel xmlns:core='http://www.opengis.net/citygml/2.0' xmlns:app='http://www.opengis.net/citygml/appearance/2.0' xmlns:brid='http://www.opengis.net/citygml/bridge/2.0' xmlns:bldg='http://www.opengis.net/citygml/building/2.0' xmlns:frn='http://www.opengis.net/citygml/cityfurniture/2.0' xmlns:grp='http://www.opengis.net/citygml/cityobjectgroup/2.0' xmlns:gen='http://www.opengis.net/citygml/generics/2.0' xmlns:luse='http://www.opengis.net/citygml/landuse/2.0' xmlns:dem='http://www.opengis.net/citygml/relief/2.0' xmlns:tran='http://www.opengis.net/citygml/transportation/2.0' xmlns:tun='http://www.opengis.net/citygml/tunnel/2.0' xmlns:veg='http://www.opengis.net/citygml/vegetation/2.0' xmlns:wtr='http://www.opengis.net/citygml/waterbody/2.0' xmlns:tex='http://www.opengis.net/citygml/texturedsurface/2.0' xmlns:gml='http://www.opengis.net/gml' xmlns:xal='urn:oasis:names:tc:ciq:xsdschema:xAL:2.0' xmlns:smil20lang='http://www.w3.org/2001/SMIL20/Language' xmlns:smil20='http://www.w3.org/2001/SMIL20/' xmlns:wfs='http://www.opengis.net/wfs' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:noise='http://www.citygml.org/ade/noise_de/2.0' xsi:schemaLocation='http://www.opengis.net/citygml/2.0 http://schemas.opengis.net/citygml/2.0/cityGMLBase.xsd http://www.opengis.net/citygml/appearance/2.0 http://schemas.opengis.net/citygml/appearance/2.0/appearance.xsd http://www.opengis.net/citygml/bridge/2.0 http://schemas.opengis.net/citygml/bridge/2.0/bridge.xsd http://www.opengis.net/citygml/building/2.0 http://schemas.opengis.net/citygml/building/2.0/building.xsd http://www.opengis.net/citygml/cityfurniture/2.0 http://schemas.opengis.net/citygml/cityfurniture/2.0/cityFurniture.xsd http://www.opengis.net/citygml/cityobjectgroup/2.0 http://schemas.opengis.net/citygml/cityobjectgroup/2.0/cityObjectGroup.xsd http://www.opengis.net/citygml/generics/2.0 http://schemas.opengis.net/citygml/generics/2.0/generics.xsd http://www.opengis.net/citygml/landuse/2.0 http://schemas.opengis.net/citygml/landuse/2.0/landUse.xsd http://www.opengis.net/citygml/relief/2.0 http://schemas.opengis.net/citygml/relief/2.0/relief.xsd http://www.opengis.net/citygml/transportation/2.0 http://schemas.opengis.net/citygml/transportation/2.0/transportation.xsd http://www.opengis.net/citygml/tunnel/2.0 http://schemas.opengis.net/citygml/tunnel/2.0/tunnel.xsd http://www.opengis.net/citygml/vegetation/2.0 http://schemas.opengis.net/citygml/vegetation/2.0/vegetation.xsd http://www.opengis.net/citygml/waterbody/2.0 http://schemas.opengis.net/citygml/waterbody/2.0/waterBody.xsd http://www.opengis.net/citygml/texturedsurface/2.0 http://schemas.opengis.net/citygml/texturedsurface/2.0/texturedSurface.xsd http://www.citygml.org/ade/noise_de/2.0 http://schemas.opengis.net/citygml/examples/2.0/ade/noise-ade/CityGML-NoiseADE.xsd '> +<gml:name>4 DE MARZO, VALLADOLID (SPAIN) LOD2</gml:name> +<gml:boundedBy> + <gml:Envelope srsName='urn:ogc:def:crs:EPSG::25830' srsDimension='3'> + <gml:lowerCorner>354759.866 4610778.142 680.66</gml:lowerCorner> + <gml:upperCorner>355145.627 4611001.435 728.36</gml:upperCorner> + </gml:Envelope> +</gml:boundedBy> +</core:CityModel> \ No newline at end of file -- GitLab