Added test responsible for Montreal.cli (I believe)
This commit is contained in:
parent
1c2a405823
commit
d9e4343a08
150
tests/test_exports.py
Normal file
150
tests/test_exports.py
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
"""
|
||||||
|
TestExports test and validate the city export formats
|
||||||
|
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
||||||
|
Copyright © 2022 Concordia CERC group
|
||||||
|
Project Coder Guille Gutierrez guillermo.gutierrezmorote@concordia.ca
|
||||||
|
Code contributors: Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
|
||||||
|
"""
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
from unittest import TestCase
|
||||||
|
|
||||||
|
import hub.helpers.constants as cte
|
||||||
|
from hub.city_model_structure.city import City
|
||||||
|
from hub.exports.energy_building_exports_factory import EnergyBuildingsExportsFactory
|
||||||
|
from hub.exports.exports_factory import ExportsFactory
|
||||||
|
from hub.helpers.dictionaries import Dictionaries
|
||||||
|
from hub.imports.construction_factory import ConstructionFactory
|
||||||
|
from hub.imports.geometry_factory import GeometryFactory
|
||||||
|
from hub.imports.usage_factory import UsageFactory
|
||||||
|
from hub.imports.weather_factory import WeatherFactory
|
||||||
|
|
||||||
|
|
||||||
|
class TestExports(TestCase):
|
||||||
|
"""
|
||||||
|
TestExports class contains the unittest for export functionality
|
||||||
|
"""
|
||||||
|
def setUp(self) -> None:
|
||||||
|
"""
|
||||||
|
Test setup
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
|
self._city = None
|
||||||
|
self._complete_city = None
|
||||||
|
self._example_path = (Path(__file__).parent / 'tests_data').resolve()
|
||||||
|
self._output_path = (Path(__file__).parent / 'tests_outputs').resolve()
|
||||||
|
|
||||||
|
def _get_citygml(self, file):
|
||||||
|
file_path = (self._example_path / file).resolve()
|
||||||
|
self._city = GeometryFactory('citygml', path=file_path).city
|
||||||
|
self.assertIsNotNone(self._city, 'city is none')
|
||||||
|
return self._city
|
||||||
|
|
||||||
|
def _get_complete_city(self, from_pickle):
|
||||||
|
if self._complete_city is None:
|
||||||
|
if from_pickle:
|
||||||
|
file_path = (self._example_path / 'ConcordiaSWGcampus.pickle').resolve()
|
||||||
|
self._complete_city = City.load(file_path)
|
||||||
|
else:
|
||||||
|
file_path = (self._example_path / 'one_building_in_kelowna.gml').resolve()
|
||||||
|
self._complete_city = self._get_citygml(file_path)
|
||||||
|
for building in self._complete_city.buildings:
|
||||||
|
building.function = Dictionaries().hft_function_to_hub_function[building.function]
|
||||||
|
building.year_of_construction = 2006
|
||||||
|
ConstructionFactory('nrel', self._complete_city).enrich()
|
||||||
|
UsageFactory('nrcan', self._complete_city).enrich()
|
||||||
|
cli = (self._example_path / 'weather' / 'inseldb_Summerland.cli').resolve()
|
||||||
|
self._complete_city.climate_file = Path(cli)
|
||||||
|
self._complete_city.climate_reference_city = 'Summerland'
|
||||||
|
dummy_measures = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||||
|
for building in self._complete_city.buildings:
|
||||||
|
building.heating_demand[cte.MONTH] = dummy_measures
|
||||||
|
building.cooling_demand[cte.MONTH] = dummy_measures
|
||||||
|
building.heating_demand[cte.YEAR] = [0.0]
|
||||||
|
building.cooling_demand[cte.YEAR] = [0.0]
|
||||||
|
return self._complete_city
|
||||||
|
|
||||||
|
def _export(self, export_type, from_pickle=False):
|
||||||
|
self._complete_city = self._get_complete_city(from_pickle)
|
||||||
|
ExportsFactory(export_type, self._complete_city, self._output_path, base_uri='../glb').export()
|
||||||
|
|
||||||
|
def _export_building_energy(self, export_type, from_pickle=False):
|
||||||
|
self._complete_city = self._get_complete_city(from_pickle)
|
||||||
|
EnergyBuildingsExportsFactory(export_type, self._complete_city, self._output_path).export()
|
||||||
|
|
||||||
|
def test_obj_export(self):
|
||||||
|
"""
|
||||||
|
export to obj
|
||||||
|
"""
|
||||||
|
self._export('obj', False)
|
||||||
|
|
||||||
|
def test_cesiumjs_tileset_export(self):
|
||||||
|
"""
|
||||||
|
export to cesiumjs tileset
|
||||||
|
"""
|
||||||
|
self._export('cesiumjs_tileset', False)
|
||||||
|
tileset = Path(self._output_path / f'{self._city.name}.json')
|
||||||
|
self.assertTrue(tileset.exists())
|
||||||
|
with open(tileset, 'r') as f:
|
||||||
|
json_tileset = json.load(f)
|
||||||
|
self.assertEqual(1, len(json_tileset['root']['children']), "Wrong number of children")
|
||||||
|
|
||||||
|
def test_glb_export(self):
|
||||||
|
"""
|
||||||
|
export to glb format
|
||||||
|
"""
|
||||||
|
self._export('glb', False)
|
||||||
|
for building in self._city.buildings:
|
||||||
|
glb_file = Path(self._output_path / f'{building.name}.glb')
|
||||||
|
self.assertTrue(glb_file.exists(), f'{building.name} Building glb wasn\'t correctly generated')
|
||||||
|
|
||||||
|
def test_geojson_export(self):
|
||||||
|
self._export('geojson', False)
|
||||||
|
geojson_file = Path(self._output_path / f'{self._city.name}.geojson')
|
||||||
|
self.assertTrue(geojson_file.exists(), f'{geojson_file} doesn\'t exists')
|
||||||
|
with open(geojson_file, 'r') as f:
|
||||||
|
geojson = json.load(f)
|
||||||
|
self.assertEqual(1, len(geojson['features']), 'Wrong number of buildings')
|
||||||
|
geometry = geojson['features'][0]['geometry']
|
||||||
|
self.assertEqual('Polygon', geometry['type'], 'Wrong geometry type')
|
||||||
|
self.assertEqual(1, len(geometry['coordinates']), 'Wrong polygon structure')
|
||||||
|
self.assertEqual(11, len(geometry['coordinates'][0]), 'Wrong number of vertices')
|
||||||
|
os.unlink(geojson_file) # todo: this test need to cover a multipolygon example too
|
||||||
|
|
||||||
|
def test_energy_ade_export(self):
|
||||||
|
"""
|
||||||
|
export to energy ADE
|
||||||
|
"""
|
||||||
|
self._export_building_energy('energy_ade')
|
||||||
|
|
||||||
|
def test_sra_export(self):
|
||||||
|
"""
|
||||||
|
export to SRA
|
||||||
|
"""
|
||||||
|
self._export('sra')
|
||||||
|
|
||||||
|
def test_idf_export(self):
|
||||||
|
"""
|
||||||
|
export to IDF
|
||||||
|
"""
|
||||||
|
file = 'test.geojson'
|
||||||
|
file_path = (self._example_path / file).resolve()
|
||||||
|
city = GeometryFactory('geojson',
|
||||||
|
path=file_path,
|
||||||
|
height_field='citygml_me',
|
||||||
|
year_of_construction_field='ANNEE_CONS',
|
||||||
|
function_field='CODE_UTILI',
|
||||||
|
function_to_hub=Dictionaries().montreal_function_to_hub_function).city
|
||||||
|
|
||||||
|
self.assertIsNotNone(city, 'city is none')
|
||||||
|
EnergyBuildingsExportsFactory('idf', city, self._output_path).export()
|
||||||
|
ConstructionFactory('nrcan', city).enrich()
|
||||||
|
EnergyBuildingsExportsFactory('idf', city, self._output_path).export()
|
||||||
|
UsageFactory('nrcan', city).enrich()
|
||||||
|
WeatherFactory('epw', city).enrich()
|
||||||
|
print(self._output_path)
|
||||||
|
try:
|
||||||
|
EnergyBuildingsExportsFactory('idf', city, self._output_path).export()
|
||||||
|
except Exception:
|
||||||
|
self.fail("Idf ExportsFactory raised ExceptionType unexpectedly!")
|
409
tests/tests_data/one_building_in_kelowna.gml
Normal file
409
tests/tests_data/one_building_in_kelowna.gml
Normal file
@ -0,0 +1,409 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<core:CityModel xmlns:brid="http://www.opengis.net/citygml/bridge/2.0" xmlns:tran="http://www.opengis.net/citygml/transportation/2.0" xmlns:frn="http://www.opengis.net/citygml/cityfurniture/2.0" xmlns:wtr="http://www.opengis.net/citygml/waterbody/2.0" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:veg="http://www.opengis.net/citygml/vegetation/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tun="http://www.opengis.net/citygml/tunnel/2.0" xmlns:tex="http://www.opengis.net/citygml/texturedsurface/2.0" xmlns:gml="http://www.opengis.net/gml" xmlns:gen="http://www.opengis.net/citygml/generics/2.0" xmlns:dem="http://www.opengis.net/citygml/relief/2.0" xmlns:app="http://www.opengis.net/citygml/appearance/2.0" xmlns:luse="http://www.opengis.net/citygml/landuse/2.0" xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" xmlns:pbase="http://www.opengis.net/citygml/profiles/base/2.0" xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns:bldg="http://www.opengis.net/citygml/building/2.0" xmlns:core="http://www.opengis.net/citygml/2.0" xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/2.0">
|
||||||
|
<gml:boundedBy>
|
||||||
|
<gml:Envelope srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:lowerCorner>326011.03601000085 5526048.416990001 -1.6000000000058208</gml:lowerCorner>
|
||||||
|
<gml:upperCorner>329466.6600299999 5529018.72205 9.80000000000291</gml:upperCorner>
|
||||||
|
</gml:Envelope>
|
||||||
|
</gml:boundedBy>
|
||||||
|
<core:cityObjectMember>
|
||||||
|
<bldg:Building gml:id="BLD109438">
|
||||||
|
<gen:doubleAttribute name="gross_floor_area">
|
||||||
|
<gen:value>291</gen:value>
|
||||||
|
</gen:doubleAttribute>
|
||||||
|
<gen:stringAttribute name="gross_floor_raea_unit">
|
||||||
|
<gen:value>m2</gen:value>
|
||||||
|
</gen:stringAttribute>
|
||||||
|
<bldg:function>residential</bldg:function>
|
||||||
|
<bldg:yearOfConstruction>1996</bldg:yearOfConstruction>
|
||||||
|
<bldg:measuredHeight>5.3</bldg:measuredHeight>
|
||||||
|
<bldg:storeysAboveGround>1</bldg:storeysAboveGround>
|
||||||
|
<bldg:lod2Solid>
|
||||||
|
<gml:Solid srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:CompositeSurface>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_854e7876-bcb7-43f5-9f4b-7c55803cf04f"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_50045e42-87aa-4aa4-b179-99d03a5569df"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_6138b267-e734-4830-98f8-a79fc4d38da4"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_7e4a20ee-4581-4e9a-a661-3e80c79ae226"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_770546ef-e544-4d39-8747-e5c6c88d5725"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_0f22b07c-8bd5-43d1-8904-c96a5a0456ce"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_b6219259-c948-487a-96dc-25f9ce257974"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_d806c8f3-93e1-4155-ab28-743fed870f6b"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_da660fbf-9aea-4895-8d9c-cf5fab95862e"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_6315337c-3919-423e-9e46-35fc5f005b7d"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_6bed5c5e-9ee9-4b3a-bfbc-fac54c0f2090"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_8f4f6388-d576-4ded-925a-fd01d43e3c11"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_ad685374-7888-41cf-8464-48c037230174"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_1b440294-d10f-49e2-9c65-78aa0a57a389"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_4d4017ed-3a71-43c7-a79c-04acd9f86433"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_b7c0600b-0c3b-4b8c-8f5f-11d8f774966e"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_18f19ab4-f128-41a0-ab05-34d91ad061b9"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_e5b962d8-6186-4e78-ae08-fc0c00484e8c"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_eebbc322-bf68-4c56-a826-392b617db97c"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_16a00d48-90a4-4cd1-94e6-0654a5b9b1d2"/>
|
||||||
|
<gml:surfaceMember xlink:href="#UUID_4832dea6-f237-45ec-a711-ce1fc27b7e3b"/>
|
||||||
|
</gml:CompositeSurface>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Solid>
|
||||||
|
</bldg:lod2Solid>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_2e3a196c-b5b1-4ee4-af82-329ced61e624">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_854e7876-bcb7-43f5-9f4b-7c55803cf04f">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329231.5010599997 5528270.404139999 4.311470000000554 329229.15295 5528271.14002 3.8000000000029104 329229.30395000055 5528269.304020001 3.8000000000029104 329231.5010599997 5528270.404139999 4.311470000000554</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_9a4410b3-f53c-468a-aef9-1e9f1ba88748">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_50045e42-87aa-4aa4-b179-99d03a5569df">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329248.8121399991 5528267.658840001 4.925719999999274 329254.11205999926 5528262.99903 3.8000000000029104 329253.52796000056 5528272.956 3.8000000000029104 329248.8121399991 5528267.658840001 4.925719999999274</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:WallSurface gml:id="UUID_d4f2198a-dd18-4fe2-a1f3-33f47393cb22">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_6138b267-e734-4830-98f8-a79fc4d38da4">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329246.16602000035 5528272.533020001 0 329246.16602000035 5528272.533020001 3.8000000000029104 329253.52796000056 5528272.956 3.8000000000029104 329253.52796000056 5528272.956 0 329246.16602000035 5528272.533020001 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="UUID_3d62148d-9d75-455f-86aa-1c0877942853">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_7e4a20ee-4581-4e9a-a661-3e80c79ae226">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329241.7199700009 5528276.307010001 0 329241.7199700009 5528276.307010001 3.8000000000029104 329246.16602000035 5528272.533020001 3.8000000000029104 329246.16602000035 5528272.533020001 0 329241.7199700009 5528276.307010001 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="UUID_b59d0530-9980-46ae-8452-e0a07cfdf84d">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_770546ef-e544-4d39-8747-e5c6c88d5725">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329237.9890100006 5528272.159 0 329237.9890100006 5528272.159 3.8000000000029104 329241.7199700009 5528276.307010001 3.8000000000029104 329241.7199700009 5528276.307010001 0 329237.9890100006 5528272.159 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="UUID_c0bd57d9-a02c-40d5-b467-3fd57478e93b">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_0f22b07c-8bd5-43d1-8904-c96a5a0456ce">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329233.3360600006 5528276.213989999 0 329233.3360600006 5528276.213989999 3.8000000000029104 329237.9890100006 5528272.159 3.8000000000029104 329237.9890100006 5528272.159 0 329233.3360600006 5528276.213989999 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="UUID_2ff7cfd9-a3d1-4c76-b30e-501cc012b663">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_b6219259-c948-487a-96dc-25f9ce257974">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329229.15295 5528271.14002 0 329229.15295 5528271.14002 3.8000000000029104 329233.3360600006 5528276.213989999 3.8000000000029104 329233.3360600006 5528276.213989999 0 329229.15295 5528271.14002 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="UUID_4bcf78ac-c688-40f8-86ca-19bd790a6647">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_d806c8f3-93e1-4155-ab28-743fed870f6b">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329229.30395000055 5528269.304020001 0 329229.30395000055 5528269.304020001 3.8000000000029104 329229.15295 5528271.14002 3.8000000000029104 329229.15295 5528271.14002 0 329229.30395000055 5528269.304020001 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="UUID_5677b3e5-abef-4bc0-87a3-3366fc38e6f9">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_da660fbf-9aea-4895-8d9c-cf5fab95862e">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329242.40003000014 5528257.71503 0 329242.40003000014 5528257.71503 3.8000000000029104 329229.30395000055 5528269.304020001 3.8000000000029104 329229.30395000055 5528269.304020001 0 329242.40003000014 5528257.71503 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="UUID_e32a4a70-ad52-4f92-a7e4-bcaeb38ff7c9">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_6315337c-3919-423e-9e46-35fc5f005b7d">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329247.3289800007 5528262.52503 0 329247.3289800007 5528262.52503 3.8000000000029104 329242.40003000014 5528257.71503 3.8000000000029104 329242.40003000014 5528257.71503 0 329247.3289800007 5528262.52503 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="UUID_b1442311-0705-4bec-a28d-a81db9bd2f5d">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_6bed5c5e-9ee9-4b3a-bfbc-fac54c0f2090">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329254.11205999926 5528262.99903 0 329254.11205999926 5528262.99903 3.8000000000029104 329247.3289800007 5528262.52503 3.8000000000029104 329247.3289800007 5528262.52503 0 329254.11205999926 5528262.99903 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="UUID_63185eaf-4f7b-481b-b912-193cfcb4316a">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_8f4f6388-d576-4ded-925a-fd01d43e3c11">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329253.52796000056 5528272.956 0 329253.52796000056 5528272.956 3.8000000000029104 329254.11205999926 5528262.99903 3.8000000000029104 329254.11205999926 5528262.99903 0 329253.52796000056 5528272.956 0</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:WallSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:GroundSurface gml:id="UUID_e348daa3-75bc-44c5-b203-aca0902b4034">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_ad685374-7888-41cf-8464-48c037230174">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329253.52796000056 5528272.956 0 329254.11205999926 5528262.99903 0 329247.3289800007 5528262.52503 0 329242.40003000014 5528257.71503 0 329229.30395000055 5528269.304020001 0 329229.15295 5528271.14002 0 329233.3360600006 5528276.213989999 0 329237.9890100006 5528272.159 0 329241.7199700009 5528276.307010001 0 329246.16602000035 5528272.533020001 0 329253.52796000056 5528272.956 0</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:GroundSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_1b3328ee-ecdb-45a9-b6f3-e36247f4929e">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_1b440294-d10f-49e2-9c65-78aa0a57a389">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329246.16602000035 5528272.533020001 3.8000000000029104 329244.33748999983 5528267.074109999 4.999100000000908 329245.1323099993 5528267.42457 4.930840000000899 329248.8121399991 5528267.658840001 4.925719999999274 329253.52796000056 5528272.956 3.8000000000029104 329246.16602000035 5528272.533020001 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_02a78c5a-3d35-4491-9801-64aa42addf7e">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_4d4017ed-3a71-43c7-a79c-04acd9f86433">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329241.7199700009 5528276.307010001 3.8000000000029104 329242.3462899998 5528267.00502 5.30000000000291 329244.33748999983 5528267.074109999 4.999100000000908 329246.16602000035 5528272.533020001 3.8000000000029104 329241.7199700009 5528276.307010001 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_f550a210-6813-4f8a-b826-7f7965b50a4a">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_b7c0600b-0c3b-4b8c-8f5f-11d8f774966e">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329237.9890100006 5528272.159 3.8000000000029104 329238.32637000084 5528266.609999999 4.6887600000045495 329242.1777599994 5528266.829500001 5.298219999996945 329242.3462899998 5528267.00502 5.30000000000291 329241.7199700009 5528276.307010001 3.8000000000029104 329237.9890100006 5528272.159 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_8d65b4c5-fa18-4cee-81c9-45229588115e">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_18f19ab4-f128-41a0-ab05-34d91ad061b9">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329233.3360600006 5528276.213989999 3.8000000000029104 329233.80010999925 5528270.5848900005 4.683640000002924 329238.32637000084 5528266.609999999 4.6887600000045495 329237.9890100006 5528272.159 3.8000000000029104 329233.3360600006 5528276.213989999 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_46e8afe5-fd30-4c7a-88ae-a7ee5b2d2af6">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_e5b962d8-6186-4e78-ae08-fc0c00484e8c">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329229.15295 5528271.14002 3.8000000000029104 329231.5010599997 5528270.404139999 4.311470000000554 329233.80010999925 5528270.5848900005 4.683640000002924 329233.3360600006 5528276.213989999 3.8000000000029104 329229.15295 5528271.14002 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_c535c900-8077-46d6-a267-d3e9f3c34254">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_eebbc322-bf68-4c56-a826-392b617db97c">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329242.40003000014 5528257.71503 3.8000000000029104 329242.1777599994 5528266.829500001 5.298219999996945 329238.32637000084 5528266.609999999 4.6887600000045495 329233.80010999925 5528270.5848900005 4.683640000002924 329231.5010599997 5528270.404139999 4.311470000000554 329229.30395000055 5528269.304020001 3.8000000000029104 329242.40003000014 5528257.71503 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_d6d9c32d-cd29-490e-accc-3ac5decbb289">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_16a00d48-90a4-4cd1-94e6-0654a5b9b1d2">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329247.3289800007 5528262.52503 3.8000000000029104 329245.1323099993 5528267.42457 4.930840000000899 329244.33748999983 5528267.074109999 4.999100000000908 329242.3462899998 5528267.00502 5.30000000000291 329242.1777599994 5528266.829500001 5.298219999996945 329242.40003000014 5528257.71503 3.8000000000029104 329247.3289800007 5528262.52503 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
<bldg:boundedBy>
|
||||||
|
<bldg:RoofSurface gml:id="UUID_d97b1be8-8be7-4a5c-9f4d-3159853b054e">
|
||||||
|
<bldg:lod2MultiSurface>
|
||||||
|
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
|
||||||
|
<gml:surfaceMember>
|
||||||
|
<gml:Polygon gml:id="UUID_4832dea6-f237-45ec-a711-ce1fc27b7e3b">
|
||||||
|
<gml:exterior>
|
||||||
|
<gml:LinearRing>
|
||||||
|
<gml:posList>329254.11205999926 5528262.99903 3.8000000000029104 329248.8121399991 5528267.658840001 4.925719999999274 329245.1323099993 5528267.42457 4.930840000000899 329247.3289800007 5528262.52503 3.8000000000029104 329254.11205999926 5528262.99903 3.8000000000029104</gml:posList>
|
||||||
|
</gml:LinearRing>
|
||||||
|
</gml:exterior>
|
||||||
|
</gml:Polygon>
|
||||||
|
</gml:surfaceMember>
|
||||||
|
</gml:MultiSurface>
|
||||||
|
</bldg:lod2MultiSurface>
|
||||||
|
</bldg:RoofSurface>
|
||||||
|
</bldg:boundedBy>
|
||||||
|
</bldg:Building>
|
||||||
|
</core:cityObjectMember>
|
||||||
|
</core:CityModel>
|
Loading…
Reference in New Issue
Block a user