diff --git a/build/bblocks.jsonld b/build/bblocks.jsonld index 3a1d66e..d251586 100644 --- a/build/bblocks.jsonld +++ b/build/bblocks.jsonld @@ -106,12 +106,12 @@ "name": "Building Blocks - Topo-Feature", "abstract": "Features with geometry defined via generalised topology between identified objects (Features).", "description": "Defines Feature (object) topology using a _topology_ property to reference an ordered list of references to other features. \n\nOther features may be either features with topology properties or GeoJSON (or FG-JSON) geometry properties.\n\nTopo-Feature defined objects can be solids, swept volumes or any other concept. \n\nTopo-Feature allows for general topology to be described between independent features (objects) with any geometry dimensions. \n\nTopo-Feature-Collections define a self-contained set of such objects with referential integrity (all elements are present to fully define geometry coordinates.\n\nNote: This is a generalisation of the TopoJSON concept using inline, nested arrays of coordinates - but not limited to self-contained geometries per feature, duplicated between topologically related features.. \n\n_Topo-Feature allows for explicit CRS. If desired coordinate compaction transformations could be defined as per TopoJSON functionality, using specialised CRS definition._\n", - "modified": "2024-10-20T11:35:43.640535", + "modified": "2024-10-21T10:20:55.447931", "tooling": { "bblocks-postprocess": { - "commitId": "\"b762fc0e8ff295bfc8279d19691d0ee3a4e3d1ee", - "shortCommitId": "\"b762fc", - "date": "2024-10-18T09:34:41+00:00\"" + "commitId": "\"d42a292b30b8f9c89b07edcdc1ce6c98d4a1e6a2", + "shortCommitId": "\"d42a29", + "date": "2024-10-21T10:16:59+00:00\"" } }, "gitRepository": "https://github.com/ogcincubator/topo-feature", @@ -137,7 +137,7 @@ "itemClass": "schema", "register": "ogc", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "tags": [ "3D", "geometry", @@ -181,6 +181,55 @@ } ] } + }, + { + "id": "topo-feature-semantic-uplift", + "description": "Transforms CityJSON geometries and vertices to GeoJSON / TopoFeature features, and then to a custom RDF model.", + "type": "semantic-uplift", + "ref": "https://ogcincubator.github.io/topo-feature/_sources/alignments/cityjson-transform/transforms/topo-feature-uplift.yml", + "code": "transform:\n # Assign fragment ids to City Objects and format geometries (semantics surfaces/values)\n - |\n \n # CityJSON -> topoFeature type mapping\n # (note: Surface is used as an auxiliary type)\n def toTopoGeometry: {\n \"MultiSurface\": \"MultiPolygon\",\n \"CompositeSurface\": \"MultiPolygon\",\n \"Solid\": \"Polyhedron\",\n \"MultiSolid\": \"MultiPolyhedron\",\n \"CompositeSolid\": \"MultiPolyhedron\",\n } as $MAP | ($MAP[.] // .);\n\n # CityJSON geometry array contents mapping\n # (note: Surface is used as an auxiliary type)\n def nextGeometry: {\n \"MultiPolyhedron\": \"Polyhedron\",\n \"Polyhedron\": \"MultiPolygon\",\n \"MultiPolygon\": \"Polygon\",\n \"Polygon\": \"LineString\"\n } as $MAP | $MAP[.];\n\n # Accepts object with \"references\" (to inner geometries or vertices), \"type\", and optional \"id\"\n def processBoundaries: .type as $TYPE | .id as $ID | (.type | toTopoGeometry) as $TOPO_TYPE | ($TOPO_TYPE | nextGeometry) as $NEXT_TYPE | {\n \"@type\": \"Feature\",\n \"@id\": ($ID // empty),\n \"geometry\": null,\n \"topology\": {\n \"type\": $TOPO_TYPE,\n \"references\": (if (.type == \"MultiPoint\" or .type == \"LineString\") then (.references | map(\"#vertices-\\(.)\")) else (.references | to_entries | map({\n \"type\": $NEXT_TYPE,\n \"id\": (if $ID then \"\\($ID)_\\(.key + 1)\" else empty end),\n \"references\": .value\n } | processBoundaries)) end)\n },\n \"properties\": null\n };\n\n .CityObjects |= [\n to_entries | .[]\n | .value.parents |= if . then map(\"#:city-objects-\\(.)\") else empty end\n | { \"@id\": \"#city-objects-\\(.key | @uri)\", \"dct:identifier\": .key } + .value\n | .\"@id\" as $OBJECT_ID\n | .geometry |= if . then ([ .[] |\n .type as $GEOM_TYPE | .boundaries as $BOUNDARIES | (try (.semantics.values | to_entries) catch []) as $INDEXES\n | {\n \"surfaces\": (if .semantics.surfaces\n then [.semantics.surfaces | to_entries | .[] | .key as $IDX\n | .value + {\n \"@type\": (if .type then [$GEOM_TYPE, .type] else $GEOM_TYPE end),\n \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_\\($IDX)\", \"references\": [$BOUNDARIES | .[$INDEXES | map(if .value == $IDX then .key else empty end) | .[]]]} | processBoundaries)\n }]\n else [{\"@type\": $GEOM_TYPE, \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_0\", \"references\": $BOUNDARIES} | processBoundaries)}]\n end),\n \"lod\": \"\\(.lod)\"\n }\n ]) else empty end\n ]\n | . + {\n \"@id\": \"#city\"\n }\n # Format coordinates and assign fragment ids to vertices\n - |\n def to_coords: if . then { \"city:x\": .[0], \"city:y\": .[1], \"city:z\": .[2] } else empty end ;\n (.transform.scale |= to_coords) | (.transform.translate |= to_coords)\n | .metadata.geographicalExtent |= if . then { \n \"city:min\": .[0:3] | to_coords,\n \"city:max\": .[3:6] | to_coords\n } else empty end\n | .vertices |= [to_entries | .[] | { \n \"@id\": \"#vertices-\\(.key | @uri)\",\n \"type\": \"Feature\",\n \"geometry\": {\n \"@type\": \"Point\",\n \"geojson:coordinates\": .value\n },\n \"properties\": (.value | to_coords), \n }]\n\ncontext:\n $:\n '@version': 1.1\n '@base': https://example.com/city-topo-feature\n c: https://example.com/city-topo-feature#\n\n city: http://example.com/vocab/city/\n attr: http://example.com/vocab/city/attr#\n dct: http://purl.org/dc/terms/\n xsd: http://www.w3.org/2001/XMLSchema#\n gml: http://www.opengis.net/ont/gml#\n geojson: https://purl.org/geojson/vocab#\n\n CityJSON: city:City\n\n type: '@type'\n id: dct:identifier\n version: city:version\n\n attributes: '@nest'\n\n CityObjects:\n '@id': city:hasObject\n '@context':\n # City Objects\n Bridge: city:Bridge\n BridgeConstructiveElement: city:BridgeConstructiveElement\n BridgeFurniture: city:BridgeFurniture\n BridgeInstallation: city:BridgeInstallation\n BridgePart: city:BridgePart\n BridgeRoom: city:BridgeRoom\n Building: city:Building\n BuildingConstructiveElement: city:BuildingConstructiveElement\n BuildingFurniture: city:BuildingFurniture\n BuildingInstallation: city:BuildingInstallation\n BuildingPart: city:BuildingPart\n BuildingRoom: city:BuildingRoom\n BuildingStorey: city:BuildingStorey\n BuildingUnit: city:BuildingUnit\n CityFurniture: city:CityFurniture\n CityObjectGroup: city:CityObjectGroup\n ExtensionObject: city:ExtensionObject\n LandUse: city:LandUse\n OtherConstruction: city:OtherConstruction\n PlantCover: city:PlantCover\n Railway: city:Railway\n Road: city:Road\n SolitaryVegetationObject: city:SolitaryVegetationObject\n TINRelief: city:TINRelief\n TransportSquare: city:TransportSquare\n Tunnel: city:Tunnel\n TunnelConstructiveElement: city:TunnelConstructiveElement\n TunnelFurniture: city:TunnelFurniture\n TunnelHollowSpace: city:TunnelHollowSpace\n TunnelInstallation: city:TunnelInstallation\n TunnelPart: city:TunnelPart\n WaterBody: city:WaterBody\n Waterway: city:Waterway\n _AbstractBuilding: city:_AbstractBuilding\n _AbstractCityObject: city:_AbstractCityObject\n _AbstractTransportationComplex: city:_AbstractTransportationComplex\n '+GenericCityObject': https://www.cityjson.org/extensions/download/generic.ext.json#GenericCityObject\n\n function: city:hasFunction\n usage: city:hasUsage\n\n Feature: geojson:Feature\n \n geometry:\n '@id': city:hasGeometry\n '@context':\n # Geometry Objects\n GeometryInstance: city:GeometryInstance\n Semantics: city:Semantics\n\n CompositeSolid: gml:CompositeSolid\n CompositeSurface: gml:CompositeSurface\n MultiLineString: gml:MultiLineString\n MultiPoint: gml:MultiPoint\n MultiSolid: gml:MultiSolid\n MultiSurface: gml:MultiSurface\n Solid: gml:Solid\n\n # Geometric primitives\n RoofSurface: city:RoofSurface\n GroundSurface: city:GroundSurface\n WallSurface: city:WallSurface\n ClosureSurface: city:ClosureSurface\n OuterCeilingSurface: city:OuterCeilingSurface\n OuterFloorSurface: city:OuterFloorSurface\n Window: city:Window\n Door: city:Door\n InteriorWallSurface: city:InteriorWallSurface\n CeilingSurface: city:CeilingSurface\n FloorSurface: city:FloorSurface\n WaterSurface: city:WaterSurface\n WaterGroundSurface: city:WaterGroundSurface\n WaterClosureSurface: city:WaterClosureSurface\n TrafficArea: city:TrafficArea\n AuxiliaryTrafficArea: city:AuxiliaryTrafficArea\n TransportationHole: city:TransportationHole\n TransportationMarking: city:TransportationMarking\n\n # Appearance Objects\n Material: city:Material\n Texture: city:Texture\n\n lod:\n '@id': city:lod\n surfaces:\n '@id': city:hasSurface\n '@context':\n '@vocab': http://example.com/vocab/city/attr#\n boundaries:\n '@id': city:boundaries\n '@container': '@list'\n '@type': '@id'\n\n # Topo-feature\n topology:\n '@type': '@id'\n '@id': geojson:topology\n '@context':\n references:\n '@id': geojson:relatedFeatures\n '@type': '@id'\n '@container': '@list'\n GeometryCollection: geojson:GeometryCollection\n LineString: geojson:LineString\n MultiLineString: geojson:MultiLineString\n MultiPoint: geojson:MultiPoint\n MultiPolygon: geojson:MultiPolygon\n Point: geojson:Point\n Polygon: geojson:Polygon\n Polyhedron: geojson:Polyhedron\n MultiPolyhedron: geojson:MultiPolyhedron\n Prism:\n '@id': geojson:Prism\n '@context':\n base: geojson:prismBase\n lower: geojson:prismLower\n upper: geojson:prismUpper\n MultiPrism:\n '@id': geojson:MultiPrism\n '@context':\n prisms: geojson:prisms\n parents:\n '@id': city:hasParent\n '@type': '@id'\n children:\n '@id': city:hasChild\n '@type': '@id'\n\n 'city:x':\n '@id': city:x\n '@type': xsd:decimal\n 'city:y':\n '@id': city:y\n '@type': xsd:decimal\n 'city:z':\n '@id': city:z\n '@type': xsd:decimal\n\n transform:\n '@id': city:hasTransform\n '@context':\n scale: city:scale\n translate: city:translate\n\n metadata:\n '@id': '@nest'\n '@context':\n identifier: dct:identifier\n geographicalExtent: city:geographicalExtent\n\n vertices: city:hasVertex\n\n extensions:\n '@id': city:hasExtension\n '@container': '@index'\n '@index': dct:identifier\n '@context':\n url: '@id'\n version: dct:version", + "inputs": { + "mediaTypes": [ + { + "id": "json", + "defaultExtension": "json", + "label": "JSON", + "mimeType": "application/json", + "extensions": [ + "json" + ] + } + ] + }, + "outputs": { + "mediaTypes": [ + { + "id": "ttl", + "defaultExtension": "ttl", + "label": "RDF/Turtle", + "mimeType": "text/turtle", + "aliases": [ + "turtle", + "rdf/turtle" + ], + "extensions": [ + "ttl" + ] + }, + { + "id": "rdf", + "defaultExtension": "rdf", + "label": "RDF/XML", + "mimeType": "application/rdf+xml", + "aliases": [ + "rdf/xml" + ], + "extensions": [ + "rdf" + ] + } + ] + } } ], "documentation": { @@ -212,7 +261,7 @@ "itemClass": "schema", "register": "icsm-csdm", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "link": "https://github.com/icsm-au/3d-csdm-schema", "sources": [], "maturity": "development", @@ -262,7 +311,7 @@ "itemClass": "schema", "register": "ogcincubator", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", @@ -322,7 +371,7 @@ "itemClass": "schema", "register": "icsm-csdm", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "link": "https://github.com/icsm-au/3d-csdm-schema", "sources": [], "maturity": "development", @@ -375,14 +424,14 @@ "itemClass": "schema", "register": "ogc-building-block-register", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", "dependsOn": [ - "ogc.geo.common.data_types.geojson", "ogc.geo.topo.datatypes.topology", - "ogc.geo.json-fg.feature" + "ogc.geo.json-fg.feature", + "ogc.geo.common.data_types.geojson" ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ @@ -437,7 +486,7 @@ "itemClass": "schema", "register": "ogc-building-block-register", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "shaclRules": { "ogc.geo.topo.features.topo-feature-collection": [ @@ -452,8 +501,8 @@ "maturity": "development", "scope": "unstable", "dependsOn": [ - "ogc.geo.json-fg.featureCollection-lenient", "ogc.geo.topo.features.topo-feature", + "ogc.geo.json-fg.featureCollection-lenient", "ogc.geo.common.data_types.geojson" ], "tags": [ @@ -500,7 +549,7 @@ "itemClass": "schema", "register": "ogcincubator", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", @@ -510,20 +559,20 @@ "topology" ], "shaclRules": { - "ogc.geo.topo.features.topo-feature-collection": [ + "ogc.geo.topo.features.topo-feature": [ "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], - "ogc.geo.topo.features.topo-feature": [ + "ogc.geo.topo.features.topo-feature-collection": [ "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [], "dependsOn": [ - "ogc.geo.topo.features.topo-feature-collection", + "ogc.geo.topo.datatypes.topology", "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.features.topo-feature-collection" ], "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-polyhedron/context.jsonld", "schema": { diff --git a/build/bblocks.ttl b/build/bblocks.ttl index d6e5241..8c7090b 100644 --- a/build/bblocks.ttl +++ b/build/bblocks.ttl @@ -13,14 +13,14 @@ rdfs:label "CityJSON to TopoFeature transform" ; dct:abstract "Demonstration of a transform from CityJSON to TopoFeature" ; dct:created "2024-10-18T08:31:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "text/markdown" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/alignments/cityjson-transform/index.md" ], + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/alignments/cityjson-transform/index.json" ], [ dct:format "text/html" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.alignments.cityjson-transform" ], - [ dct:format "application/json" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/alignments/cityjson-transform/index.json" ] ; + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/alignments/cityjson-transform/index.md" ] ; dct:hasVersion "0.1" ; - dct:modified "2024-10-20"^^xsd:date ; + dct:modified "2024-10-21"^^xsd:date ; skos:inScheme ; dcat:keyword "3D", "cityjson", @@ -34,14 +34,14 @@ rdfs:label "Non-linear Arc and Spline Descriptions using Point topology" ; dct:abstract "Defines options for describing Arcs, Circles, Splines using point features as canonical source of geometry coordinates" ; dct:created "2023-11-01T00:00:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "text/markdown" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md" ], + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json" ], [ dct:format "text/html" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-arc" ], - [ dct:format "application/json" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json" ] ; + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md" ] ; dct:hasVersion "0.1" ; - dct:modified "2024-10-20"^^xsd:date ; + dct:modified "2024-10-21"^^xsd:date ; skos:inScheme ; dcat:keyword "2D", "geometry", @@ -62,14 +62,14 @@ rdfs:label "Line using Point References" ; dct:abstract "Demonstration of a schema using coordinates of points, without duplication. Reuses context but constrains to Line types" ; dct:created "2023-04-05T00:00:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "text/markdown" ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-line/index.json" ], + [ dct:format "text/markdown" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md" ], [ dct:format "text/html" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-line" ], - [ dct:format "application/json" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-line/index.json" ] ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-line" ] ; dct:hasVersion "0.1" ; - dct:modified "2024-10-20"^^xsd:date ; + dct:modified "2024-10-21"^^xsd:date ; skos:inScheme ; dcat:keyword "3D", "geometry", @@ -88,14 +88,14 @@ rdfs:label "3D (Polyhedron) using nested Polygons and Point topology" ; dct:abstract "Defines options for describing 3D polyhedrons using features with Point geometry coordinates" ; dct:created "2023-11-01T00:00:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "text/markdown" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-polyhedron/index.md" ], - [ dct:format "application/json" ; + dct:description [ dct:format "application/json" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-polyhedron/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-polyhedron/index.md" ], [ dct:format "text/html" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-polyhedron" ] ; dct:hasVersion "0.1" ; - dct:modified "2024-10-20"^^xsd:date ; + dct:modified "2024-10-21"^^xsd:date ; skos:inScheme ; dcat:keyword "3D", "geometry", @@ -125,7 +125,7 @@ [ dct:format "application/json" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json" ] ; dct:hasVersion "0.1" ; - dct:modified "2024-10-20"^^xsd:date ; + dct:modified "2024-10-21"^^xsd:date ; skos:inScheme ; dcat:keyword "feature", "topology" ; @@ -154,7 +154,7 @@ [ dct:format "application/json" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json" ] ; dct:hasVersion "0.1" ; - dct:modified "2024-10-20"^^xsd:date ; + dct:modified "2024-10-21"^^xsd:date ; skos:inScheme ; dcat:keyword "feature", "topology" ; @@ -176,14 +176,14 @@ rdfs:label "Geometry using references" ; dct:abstract "Demonstration of a schema using coordinates of points, withpout duplication" ; dct:created "2023-04-05T00:00:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "text/markdown" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" ], + dct:description [ dct:format "text/html" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.datatypes.topology" ], [ dct:format "application/json" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json" ], - [ dct:format "text/html" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.datatypes.topology" ] ; + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" ] ; dct:hasVersion "0.1" ; - dct:modified "2024-10-20"^^xsd:date ; + dct:modified "2024-10-21"^^xsd:date ; skos:inScheme ; dcat:keyword "3D", "geometry", @@ -218,14 +218,14 @@ _Topo-Feature allows for explicit CRS. If desired coordinate compaction transfor bblocks:imports . [] a prov:Activity ; - prov:endedAtTime "2024-10-20T11:35:53.413795"^^xsd:dateTime ; - prov:startedAtTime "2024-10-20T11:35:53.347244"^^xsd:dateTime ; + prov:endedAtTime "2024-10-21T10:21:08.522469"^^xsd:dateTime ; + prov:startedAtTime "2024-10-21T10:21:08.440951"^^xsd:dateTime ; prov:used [ a prov:Entity ; dct:format "application/yaml" ; rdfs:seeAlso ], [ a prov:Entity ; dct:format "application/json" ; - dct:hasVersion "git:d1065f455f5f33fe7bebce2f8aae13cf4714825f" ; + dct:hasVersion "git:24d9c3cebfb0202ce616f6f0d42f5d4ff90e927e" ; rdfs:seeAlso ] ; prov:wasAssociatedWith [ a prov:Agent, schema:SoftwareApplication ; diff --git a/build/generateddocs/json-full/geo/topo/alignments/cityjson-transform/index.json b/build/generateddocs/json-full/geo/topo/alignments/cityjson-transform/index.json index aebc9d9..d273d7a 100644 --- a/build/generateddocs/json-full/geo/topo/alignments/cityjson-transform/index.json +++ b/build/generateddocs/json-full/geo/topo/alignments/cityjson-transform/index.json @@ -9,7 +9,7 @@ "itemClass": "schema", "register": "ogc", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "tags": [ "3D", "geometry", @@ -53,6 +53,55 @@ } ] } + }, + { + "id": "topo-feature-semantic-uplift", + "description": "Transforms CityJSON geometries and vertices to GeoJSON / TopoFeature features, and then to a custom RDF model.", + "type": "semantic-uplift", + "ref": "https://ogcincubator.github.io/topo-feature/_sources/alignments/cityjson-transform/transforms/topo-feature-uplift.yml", + "code": "transform:\n # Assign fragment ids to City Objects and format geometries (semantics surfaces/values)\n - |\n \n # CityJSON -> topoFeature type mapping\n # (note: Surface is used as an auxiliary type)\n def toTopoGeometry: {\n \"MultiSurface\": \"MultiPolygon\",\n \"CompositeSurface\": \"MultiPolygon\",\n \"Solid\": \"Polyhedron\",\n \"MultiSolid\": \"MultiPolyhedron\",\n \"CompositeSolid\": \"MultiPolyhedron\",\n } as $MAP | ($MAP[.] // .);\n\n # CityJSON geometry array contents mapping\n # (note: Surface is used as an auxiliary type)\n def nextGeometry: {\n \"MultiPolyhedron\": \"Polyhedron\",\n \"Polyhedron\": \"MultiPolygon\",\n \"MultiPolygon\": \"Polygon\",\n \"Polygon\": \"LineString\"\n } as $MAP | $MAP[.];\n\n # Accepts object with \"references\" (to inner geometries or vertices), \"type\", and optional \"id\"\n def processBoundaries: .type as $TYPE | .id as $ID | (.type | toTopoGeometry) as $TOPO_TYPE | ($TOPO_TYPE | nextGeometry) as $NEXT_TYPE | {\n \"@type\": \"Feature\",\n \"@id\": ($ID // empty),\n \"geometry\": null,\n \"topology\": {\n \"type\": $TOPO_TYPE,\n \"references\": (if (.type == \"MultiPoint\" or .type == \"LineString\") then (.references | map(\"#vertices-\\(.)\")) else (.references | to_entries | map({\n \"type\": $NEXT_TYPE,\n \"id\": (if $ID then \"\\($ID)_\\(.key + 1)\" else empty end),\n \"references\": .value\n } | processBoundaries)) end)\n },\n \"properties\": null\n };\n\n .CityObjects |= [\n to_entries | .[]\n | .value.parents |= if . then map(\"#:city-objects-\\(.)\") else empty end\n | { \"@id\": \"#city-objects-\\(.key | @uri)\", \"dct:identifier\": .key } + .value\n | .\"@id\" as $OBJECT_ID\n | .geometry |= if . then ([ .[] |\n .type as $GEOM_TYPE | .boundaries as $BOUNDARIES | (try (.semantics.values | to_entries) catch []) as $INDEXES\n | {\n \"surfaces\": (if .semantics.surfaces\n then [.semantics.surfaces | to_entries | .[] | .key as $IDX\n | .value + {\n \"@type\": (if .type then [$GEOM_TYPE, .type] else $GEOM_TYPE end),\n \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_\\($IDX)\", \"references\": [$BOUNDARIES | .[$INDEXES | map(if .value == $IDX then .key else empty end) | .[]]]} | processBoundaries)\n }]\n else [{\"@type\": $GEOM_TYPE, \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_0\", \"references\": $BOUNDARIES} | processBoundaries)}]\n end),\n \"lod\": \"\\(.lod)\"\n }\n ]) else empty end\n ]\n | . + {\n \"@id\": \"#city\"\n }\n # Format coordinates and assign fragment ids to vertices\n - |\n def to_coords: if . then { \"city:x\": .[0], \"city:y\": .[1], \"city:z\": .[2] } else empty end ;\n (.transform.scale |= to_coords) | (.transform.translate |= to_coords)\n | .metadata.geographicalExtent |= if . then { \n \"city:min\": .[0:3] | to_coords,\n \"city:max\": .[3:6] | to_coords\n } else empty end\n | .vertices |= [to_entries | .[] | { \n \"@id\": \"#vertices-\\(.key | @uri)\",\n \"type\": \"Feature\",\n \"geometry\": {\n \"@type\": \"Point\",\n \"geojson:coordinates\": .value\n },\n \"properties\": (.value | to_coords), \n }]\n\ncontext:\n $:\n '@version': 1.1\n '@base': https://example.com/city-topo-feature\n c: https://example.com/city-topo-feature#\n\n city: http://example.com/vocab/city/\n attr: http://example.com/vocab/city/attr#\n dct: http://purl.org/dc/terms/\n xsd: http://www.w3.org/2001/XMLSchema#\n gml: http://www.opengis.net/ont/gml#\n geojson: https://purl.org/geojson/vocab#\n\n CityJSON: city:City\n\n type: '@type'\n id: dct:identifier\n version: city:version\n\n attributes: '@nest'\n\n CityObjects:\n '@id': city:hasObject\n '@context':\n # City Objects\n Bridge: city:Bridge\n BridgeConstructiveElement: city:BridgeConstructiveElement\n BridgeFurniture: city:BridgeFurniture\n BridgeInstallation: city:BridgeInstallation\n BridgePart: city:BridgePart\n BridgeRoom: city:BridgeRoom\n Building: city:Building\n BuildingConstructiveElement: city:BuildingConstructiveElement\n BuildingFurniture: city:BuildingFurniture\n BuildingInstallation: city:BuildingInstallation\n BuildingPart: city:BuildingPart\n BuildingRoom: city:BuildingRoom\n BuildingStorey: city:BuildingStorey\n BuildingUnit: city:BuildingUnit\n CityFurniture: city:CityFurniture\n CityObjectGroup: city:CityObjectGroup\n ExtensionObject: city:ExtensionObject\n LandUse: city:LandUse\n OtherConstruction: city:OtherConstruction\n PlantCover: city:PlantCover\n Railway: city:Railway\n Road: city:Road\n SolitaryVegetationObject: city:SolitaryVegetationObject\n TINRelief: city:TINRelief\n TransportSquare: city:TransportSquare\n Tunnel: city:Tunnel\n TunnelConstructiveElement: city:TunnelConstructiveElement\n TunnelFurniture: city:TunnelFurniture\n TunnelHollowSpace: city:TunnelHollowSpace\n TunnelInstallation: city:TunnelInstallation\n TunnelPart: city:TunnelPart\n WaterBody: city:WaterBody\n Waterway: city:Waterway\n _AbstractBuilding: city:_AbstractBuilding\n _AbstractCityObject: city:_AbstractCityObject\n _AbstractTransportationComplex: city:_AbstractTransportationComplex\n '+GenericCityObject': https://www.cityjson.org/extensions/download/generic.ext.json#GenericCityObject\n\n function: city:hasFunction\n usage: city:hasUsage\n\n Feature: geojson:Feature\n \n geometry:\n '@id': city:hasGeometry\n '@context':\n # Geometry Objects\n GeometryInstance: city:GeometryInstance\n Semantics: city:Semantics\n\n CompositeSolid: gml:CompositeSolid\n CompositeSurface: gml:CompositeSurface\n MultiLineString: gml:MultiLineString\n MultiPoint: gml:MultiPoint\n MultiSolid: gml:MultiSolid\n MultiSurface: gml:MultiSurface\n Solid: gml:Solid\n\n # Geometric primitives\n RoofSurface: city:RoofSurface\n GroundSurface: city:GroundSurface\n WallSurface: city:WallSurface\n ClosureSurface: city:ClosureSurface\n OuterCeilingSurface: city:OuterCeilingSurface\n OuterFloorSurface: city:OuterFloorSurface\n Window: city:Window\n Door: city:Door\n InteriorWallSurface: city:InteriorWallSurface\n CeilingSurface: city:CeilingSurface\n FloorSurface: city:FloorSurface\n WaterSurface: city:WaterSurface\n WaterGroundSurface: city:WaterGroundSurface\n WaterClosureSurface: city:WaterClosureSurface\n TrafficArea: city:TrafficArea\n AuxiliaryTrafficArea: city:AuxiliaryTrafficArea\n TransportationHole: city:TransportationHole\n TransportationMarking: city:TransportationMarking\n\n # Appearance Objects\n Material: city:Material\n Texture: city:Texture\n\n lod:\n '@id': city:lod\n surfaces:\n '@id': city:hasSurface\n '@context':\n '@vocab': http://example.com/vocab/city/attr#\n boundaries:\n '@id': city:boundaries\n '@container': '@list'\n '@type': '@id'\n\n # Topo-feature\n topology:\n '@type': '@id'\n '@id': geojson:topology\n '@context':\n references:\n '@id': geojson:relatedFeatures\n '@type': '@id'\n '@container': '@list'\n GeometryCollection: geojson:GeometryCollection\n LineString: geojson:LineString\n MultiLineString: geojson:MultiLineString\n MultiPoint: geojson:MultiPoint\n MultiPolygon: geojson:MultiPolygon\n Point: geojson:Point\n Polygon: geojson:Polygon\n Polyhedron: geojson:Polyhedron\n MultiPolyhedron: geojson:MultiPolyhedron\n Prism:\n '@id': geojson:Prism\n '@context':\n base: geojson:prismBase\n lower: geojson:prismLower\n upper: geojson:prismUpper\n MultiPrism:\n '@id': geojson:MultiPrism\n '@context':\n prisms: geojson:prisms\n parents:\n '@id': city:hasParent\n '@type': '@id'\n children:\n '@id': city:hasChild\n '@type': '@id'\n\n 'city:x':\n '@id': city:x\n '@type': xsd:decimal\n 'city:y':\n '@id': city:y\n '@type': xsd:decimal\n 'city:z':\n '@id': city:z\n '@type': xsd:decimal\n\n transform:\n '@id': city:hasTransform\n '@context':\n scale: city:scale\n translate: city:translate\n\n metadata:\n '@id': '@nest'\n '@context':\n identifier: dct:identifier\n geographicalExtent: city:geographicalExtent\n\n vertices: city:hasVertex\n\n extensions:\n '@id': city:hasExtension\n '@container': '@index'\n '@index': dct:identifier\n '@context':\n url: '@id'\n version: dct:version", + "inputs": { + "mediaTypes": [ + { + "id": "json", + "defaultExtension": "json", + "label": "JSON", + "mimeType": "application/json", + "extensions": [ + "json" + ] + } + ] + }, + "outputs": { + "mediaTypes": [ + { + "id": "ttl", + "defaultExtension": "ttl", + "label": "RDF/Turtle", + "mimeType": "text/turtle", + "aliases": [ + "turtle", + "rdf/turtle" + ], + "extensions": [ + "ttl" + ] + }, + { + "id": "rdf", + "defaultExtension": "rdf", + "label": "RDF/XML", + "mimeType": "application/rdf+xml", + "aliases": [ + "rdf/xml" + ], + "extensions": [ + "rdf" + ] + } + ] + } } ], "examples": [ @@ -64,7 +113,8 @@ "ref": "examples/cube.city.json", "code": "{\n \"CityObjects\": {\n \"id-1\": {\n \"geometry\": [\n {\n \"boundaries\": [\n [\n [\n [\n 0,\n 1,\n 2,\n 3\n ]\n ],\n [\n [\n 4,\n 5,\n 1,\n 0\n ]\n ],\n [\n [\n 5,\n 6,\n 2,\n 1\n ]\n ],\n [\n [\n 6,\n 7,\n 3,\n 2\n ]\n ],\n [\n [\n 7,\n 4,\n 0,\n 3\n ]\n ],\n [\n [\n 7,\n 6,\n 5,\n 4\n ]\n ]\n ]\n ],\n \"lod\": \"3.3\",\n \"type\": \"Solid\"\n }\n ],\n \"attributes\": {\n \"function\": \"something\"\n },\n \"type\": \"+GenericCityObject\"\n }\n },\n \"type\": \"CityJSON\",\n \"version\": \"1.1\",\n \"vertices\": [\n [\n 0,\n 0,\n 1000\n ],\n [\n 1000,\n 0,\n 1000\n ],\n [\n 1000,\n 1000,\n 1000\n ],\n [\n 0,\n 1000,\n 1000\n ],\n [\n 0,\n 0,\n 0\n ],\n [\n 1000,\n 0,\n 0\n ],\n [\n 1000,\n 1000,\n 0\n ],\n [\n 0,\n 1000,\n 0\n ]\n ],\n \"metadata\": {\n \"geographicalExtent\": [\n 0.0,\n 0.0,\n 0.0,\n 1.0,\n 1.0,\n 1.0\n ]\n },\n \"transform\": {\n \"scale\": [\n 0.001,\n 0.001,\n 0.001\n ],\n \"translate\": [\n 0.0,\n 0.0,\n 0.0\n ]\n },\n \"extensions\": {\n \"Generic\": {\n \"url\": \"https://cityjson.org/extensions/download/generic.ext.json\",\n \"version\": \"1.0\"\n }\n }\n}", "transformResults": { - "topo-feature": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_1_1.topo-feature.json" + "topo-feature": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_1_1.topo-feature.json", + "topo-feature-semantic-uplift": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_1_1.topo-feature-semantic-uplift.ttl" }, "url": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/example_1_1.json" } @@ -78,7 +128,8 @@ "ref": "examples/twobuildings.city.json", "code": "{\n \"type\": \"CityJSON\",\n \"version\": \"1.1\",\n \"metadata\": {\n \"geographicalExtent\": [\n 300578.235,\n 5041258.061,\n 13.688,\n 300618.138,\n 5041289.394,\n 29.45\n ]\n },\n \"CityObjects\": {\n \"Building_1\": {\n \"geometry\": [\n {\n \"type\": \"MultiSurface\",\n \"lod\": \"2\",\n \"semantics\": {\n \"surfaces\": [\n {\n \"type\": \"GroundSurface\"\n },\n {\n \"type\": \"WallSurface\"\n },\n {\n \"type\": \"RoofSurface\"\n }\n ],\n \"values\": [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2\n ]\n },\n \"boundaries\": [\n [\n [\n 0,\n 1,\n 2\n ]\n ],\n [\n [\n 3,\n 4,\n 5\n ]\n ],\n [\n [\n 4,\n 6,\n 5\n ]\n ],\n [\n [\n 2,\n 7,\n 6\n ]\n ],\n [\n [\n 5,\n 8,\n 9\n ]\n ],\n [\n [\n 0,\n 2,\n 4\n ]\n ],\n [\n [\n 4,\n 2,\n 6\n ]\n ],\n [\n [\n 5,\n 6,\n 8\n ]\n ],\n [\n [\n 8,\n 10,\n 9\n ]\n ],\n [\n [\n 11,\n 12,\n 13\n ]\n ],\n [\n [\n 11,\n 9,\n 12\n ]\n ],\n [\n [\n 12,\n 10,\n 14\n ]\n ],\n [\n [\n 9,\n 10,\n 12\n ]\n ],\n [\n [\n 15,\n 5,\n 11\n ]\n ],\n [\n [\n 5,\n 9,\n 11\n ]\n ],\n [\n [\n 16,\n 3,\n 17\n ]\n ],\n [\n [\n 17,\n 5,\n 15\n ]\n ],\n [\n [\n 3,\n 5,\n 17\n ]\n ],\n [\n [\n 18,\n 17,\n 15\n ]\n ],\n [\n [\n 16,\n 19,\n 20\n ]\n ],\n [\n [\n 20,\n 19,\n 21\n ]\n ],\n [\n [\n 21,\n 19,\n 7\n ]\n ],\n [\n [\n 3,\n 20,\n 4\n ]\n ],\n [\n [\n 21,\n 7,\n 2\n ]\n ],\n [\n [\n 16,\n 20,\n 3\n ]\n ],\n [\n [\n 22,\n 2,\n 1\n ]\n ],\n [\n [\n 22,\n 21,\n 2\n ]\n ],\n [\n [\n 23,\n 1,\n 0\n ]\n ],\n [\n [\n 23,\n 22,\n 1\n ]\n ],\n [\n [\n 23,\n 4,\n 20\n ]\n ],\n [\n [\n 23,\n 0,\n 4\n ]\n ],\n [\n [\n 19,\n 24,\n 6\n ]\n ],\n [\n [\n 19,\n 6,\n 7\n ]\n ],\n [\n [\n 24,\n 25,\n 8\n ]\n ],\n [\n [\n 24,\n 8,\n 6\n ]\n ],\n [\n [\n 25,\n 10,\n 8\n ]\n ],\n [\n [\n 25,\n 14,\n 10\n ]\n ],\n [\n [\n 26,\n 27,\n 28\n ]\n ],\n [\n [\n 29,\n 26,\n 28\n ]\n ],\n [\n [\n 30,\n 26,\n 29\n ]\n ],\n [\n [\n 30,\n 31,\n 26\n ]\n ],\n [\n [\n 32,\n 13,\n 12\n ]\n ],\n [\n [\n 32,\n 12,\n 33\n ]\n ],\n [\n [\n 34,\n 32,\n 33\n ]\n ],\n [\n [\n 34,\n 33,\n 35\n ]\n ],\n [\n [\n 36,\n 37,\n 38\n ]\n ],\n [\n [\n 37,\n 39,\n 38\n ]\n ],\n [\n [\n 40,\n 41,\n 42\n ]\n ],\n [\n [\n 40,\n 42,\n 43\n ]\n ],\n [\n [\n 44,\n 40,\n 43\n ]\n ],\n [\n [\n 45,\n 40,\n 44\n ]\n ],\n [\n [\n 45,\n 44,\n 46\n ]\n ],\n [\n [\n 44,\n 47,\n 46\n ]\n ],\n [\n [\n 36,\n 46,\n 47\n ]\n ],\n [\n [\n 36,\n 47,\n 37\n ]\n ],\n [\n [\n 18,\n 35,\n 17\n ]\n ],\n [\n [\n 18,\n 34,\n 35\n ]\n ],\n [\n [\n 48,\n 49,\n 50\n ]\n ],\n [\n [\n 48,\n 50,\n 51\n ]\n ],\n [\n [\n 41,\n 51,\n 42\n ]\n ],\n [\n [\n 41,\n 48,\n 51\n ]\n ],\n [\n [\n 52,\n 27,\n 53\n ]\n ],\n [\n [\n 52,\n 28,\n 27\n ]\n ],\n [\n [\n 54,\n 31,\n 30\n ]\n ],\n [\n [\n 54,\n 55,\n 31\n ]\n ],\n [\n [\n 56,\n 52,\n 53\n ]\n ],\n [\n [\n 55,\n 56,\n 53\n ]\n ],\n [\n [\n 54,\n 56,\n 55\n ]\n ],\n [\n [\n 38,\n 39,\n 49\n ]\n ],\n [\n [\n 39,\n 50,\n 49\n ]\n ],\n [\n [\n 20,\n 21,\n 22\n ]\n ],\n [\n [\n 23,\n 20,\n 22\n ]\n ],\n [\n [\n 52,\n 29,\n 28\n ]\n ],\n [\n [\n 56,\n 29,\n 52\n ]\n ],\n [\n [\n 54,\n 29,\n 56\n ]\n ],\n [\n [\n 54,\n 30,\n 29\n ]\n ],\n [\n [\n 15,\n 11,\n 32\n ]\n ],\n [\n [\n 18,\n 15,\n 34\n ]\n ],\n [\n [\n 34,\n 15,\n 32\n ]\n ],\n [\n [\n 32,\n 11,\n 13\n ]\n ],\n [\n [\n 38,\n 49,\n 46\n ]\n ],\n [\n [\n 45,\n 46,\n 41\n ]\n ],\n [\n [\n 36,\n 38,\n 46\n ]\n ],\n [\n [\n 45,\n 41,\n 40\n ]\n ],\n [\n [\n 46,\n 49,\n 41\n ]\n ],\n [\n [\n 41,\n 49,\n 48\n ]\n ],\n [\n [\n 50,\n 12,\n 14\n ]\n ],\n [\n [\n 39,\n 12,\n 50\n ]\n ],\n [\n [\n 19,\n 27,\n 24\n ]\n ],\n [\n [\n 53,\n 27,\n 19\n ]\n ],\n [\n [\n 16,\n 35,\n 31\n ]\n ],\n [\n [\n 31,\n 37,\n 44\n ]\n ],\n [\n [\n 16,\n 31,\n 55\n ]\n ],\n [\n [\n 27,\n 43,\n 51\n ]\n ],\n [\n [\n 27,\n 51,\n 24\n ]\n ],\n [\n [\n 35,\n 37,\n 31\n ]\n ],\n [\n [\n 26,\n 43,\n 27\n ]\n ],\n [\n [\n 31,\n 44,\n 26\n ]\n ],\n [\n [\n 16,\n 53,\n 19\n ]\n ],\n [\n [\n 26,\n 44,\n 43\n ]\n ],\n [\n [\n 37,\n 47,\n 44\n ]\n ],\n [\n [\n 16,\n 55,\n 53\n ]\n ],\n [\n [\n 43,\n 42,\n 51\n ]\n ],\n [\n [\n 50,\n 14,\n 25\n ]\n ],\n [\n [\n 33,\n 12,\n 39\n ]\n ],\n [\n [\n 35,\n 33,\n 37\n ]\n ],\n [\n [\n 24,\n 51,\n 25\n ]\n ],\n [\n [\n 16,\n 17,\n 35\n ]\n ],\n [\n [\n 51,\n 50,\n 25\n ]\n ],\n [\n [\n 37,\n 33,\n 39\n ]\n ]\n ]\n }\n ],\n \"type\": \"Building\"\n },\n \"Building_2\": {\n \"geometry\": [\n {\n \"boundaries\": [\n [\n [\n 57,\n 58,\n 59\n ]\n ],\n [\n [\n 59,\n 60,\n 61\n ]\n ],\n [\n [\n 59,\n 61,\n 62\n ]\n ],\n [\n [\n 63,\n 59,\n 64\n ]\n ],\n [\n [\n 57,\n 59,\n 63\n ]\n ],\n [\n [\n 59,\n 65,\n 60\n ]\n ],\n [\n [\n 58,\n 65,\n 59\n ]\n ],\n [\n [\n 66,\n 67,\n 68\n ]\n ],\n [\n [\n 67,\n 69,\n 68\n ]\n ],\n [\n [\n 70,\n 71,\n 72\n ]\n ],\n [\n [\n 72,\n 71,\n 73\n ]\n ],\n [\n [\n 74,\n 75,\n 76\n ]\n ],\n [\n [\n 75,\n 77,\n 76\n ]\n ],\n [\n [\n 78,\n 79,\n 80\n ]\n ],\n [\n [\n 81,\n 82,\n 83\n ]\n ],\n [\n [\n 81,\n 84,\n 82\n ]\n ],\n [\n [\n 85,\n 86,\n 87\n ]\n ],\n [\n [\n 88,\n 86,\n 89\n ]\n ],\n [\n [\n 90,\n 86,\n 88\n ]\n ],\n [\n [\n 89,\n 86,\n 85\n ]\n ],\n [\n [\n 91,\n 92,\n 93\n ]\n ],\n [\n [\n 91,\n 94,\n 92\n ]\n ],\n [\n [\n 95,\n 93,\n 96\n ]\n ],\n [\n [\n 91,\n 93,\n 95\n ]\n ],\n [\n [\n 97,\n 98,\n 99\n ]\n ],\n [\n [\n 100,\n 101,\n 102\n ]\n ],\n [\n [\n 103,\n 101,\n 100\n ]\n ],\n [\n [\n 102,\n 101,\n 104\n ]\n ],\n [\n [\n 102,\n 104,\n 105\n ]\n ],\n [\n [\n 106,\n 107,\n 108\n ]\n ],\n [\n [\n 108,\n 107,\n 109\n ]\n ],\n [\n [\n 110,\n 111,\n 112\n ]\n ],\n [\n [\n 110,\n 113,\n 111\n ]\n ],\n [\n [\n 114,\n 115,\n 116\n ]\n ],\n [\n [\n 114,\n 117,\n 115\n ]\n ],\n [\n [\n 118,\n 116,\n 119\n ]\n ],\n [\n [\n 114,\n 116,\n 118\n ]\n ],\n [\n [\n 120,\n 121,\n 122\n ]\n ],\n [\n [\n 122,\n 121,\n 123\n ]\n ],\n [\n [\n 124,\n 125,\n 126\n ]\n ],\n [\n [\n 125,\n 127,\n 128\n ]\n ],\n [\n [\n 124,\n 127,\n 125\n ]\n ],\n [\n [\n 129,\n 130,\n 131\n ]\n ],\n [\n [\n 131,\n 132,\n 133\n ]\n ],\n [\n [\n 129,\n 131,\n 133\n ]\n ],\n [\n [\n 134,\n 135,\n 136\n ]\n ],\n [\n [\n 134,\n 136,\n 137\n ]\n ],\n [\n [\n 138,\n 139,\n 140\n ]\n ],\n [\n [\n 138,\n 140,\n 141\n ]\n ],\n [\n [\n 142,\n 143,\n 144\n ]\n ],\n [\n [\n 142,\n 145,\n 143\n ]\n ],\n [\n [\n 146,\n 144,\n 147\n ]\n ],\n [\n [\n 142,\n 144,\n 146\n ]\n ],\n [\n [\n 148,\n 149,\n 150\n ]\n ],\n [\n [\n 151,\n 148,\n 150\n ]\n ],\n [\n [\n 149,\n 152,\n 150\n ]\n ],\n [\n [\n 152,\n 153,\n 150\n ]\n ],\n [\n [\n 154,\n 155,\n 156\n ]\n ],\n [\n [\n 157,\n 155,\n 154\n ]\n ],\n [\n [\n 158,\n 159,\n 160\n ]\n ],\n [\n [\n 159,\n 161,\n 160\n ]\n ],\n [\n [\n 162,\n 163,\n 164\n ]\n ],\n [\n [\n 165,\n 162,\n 164\n ]\n ],\n [\n [\n 163,\n 166,\n 164\n ]\n ],\n [\n [\n 166,\n 167,\n 164\n ]\n ],\n [\n [\n 93,\n 78,\n 80\n ]\n ],\n [\n [\n 93,\n 80,\n 168\n ]\n ],\n [\n [\n 93,\n 168,\n 96\n ]\n ],\n [\n [\n 116,\n 138,\n 141\n ]\n ],\n [\n [\n 116,\n 141,\n 119\n ]\n ],\n [\n [\n 144,\n 124,\n 126\n ]\n ],\n [\n [\n 144,\n 126,\n 147\n ]\n ],\n [\n [\n 169,\n 170,\n 171\n ]\n ],\n [\n [\n 169,\n 171,\n 97\n ]\n ],\n [\n [\n 171,\n 98,\n 97\n ]\n ],\n [\n [\n 172,\n 173,\n 135\n ]\n ],\n [\n [\n 172,\n 135,\n 134\n ]\n ],\n [\n [\n 174,\n 130,\n 129\n ]\n ],\n [\n [\n 174,\n 175,\n 130\n ]\n ],\n [\n [\n 176,\n 177,\n 178\n ]\n ],\n [\n [\n 179,\n 89,\n 85\n ]\n ],\n [\n [\n 180,\n 166,\n 163\n ]\n ],\n [\n [\n 181,\n 152,\n 149\n ]\n ],\n [\n [\n 182,\n 183,\n 184\n ]\n ],\n [\n [\n 185,\n 186,\n 187\n ]\n ],\n [\n [\n 156,\n 102,\n 188\n ]\n ],\n [\n [\n 155,\n 102,\n 156\n ]\n ],\n [\n [\n 188,\n 102,\n 105\n ]\n ],\n [\n [\n 160,\n 161,\n 189\n ]\n ],\n [\n [\n 161,\n 190,\n 189\n ]\n ],\n [\n [\n 191,\n 192,\n 193\n ]\n ],\n [\n [\n 194,\n 192,\n 191\n ]\n ],\n [\n [\n 157,\n 154,\n 74\n ]\n ],\n [\n [\n 154,\n 75,\n 74\n ]\n ],\n [\n [\n 159,\n 195,\n 196\n ]\n ],\n [\n [\n 158,\n 195,\n 159\n ]\n ],\n [\n [\n 197,\n 110,\n 145\n ]\n ],\n [\n [\n 197,\n 113,\n 110\n ]\n ],\n [\n [\n 110,\n 143,\n 145\n ]\n ],\n [\n [\n 197,\n 198,\n 113\n ]\n ],\n [\n [\n 174,\n 199,\n 200\n ]\n ],\n [\n [\n 174,\n 200,\n 175\n ]\n ],\n [\n [\n 103,\n 76,\n 201\n ]\n ],\n [\n [\n 103,\n 100,\n 76\n ]\n ],\n [\n [\n 77,\n 202,\n 201\n ]\n ],\n [\n [\n 76,\n 77,\n 201\n ]\n ],\n [\n [\n 196,\n 189,\n 190\n ]\n ],\n [\n [\n 195,\n 189,\n 196\n ]\n ],\n [\n [\n 90,\n 203,\n 204\n ]\n ],\n [\n [\n 90,\n 88,\n 203\n ]\n ],\n [\n [\n 205,\n 206,\n 204\n ]\n ],\n [\n [\n 203,\n 205,\n 204\n ]\n ],\n [\n [\n 192,\n 178,\n 193\n ]\n ],\n [\n [\n 193,\n 178,\n 177\n ]\n ],\n [\n [\n 151,\n 207,\n 107\n ]\n ],\n [\n [\n 107,\n 207,\n 109\n ]\n ],\n [\n [\n 151,\n 107,\n 148\n ]\n ],\n [\n [\n 109,\n 207,\n 208\n ]\n ],\n [\n [\n 209,\n 210,\n 186\n ]\n ],\n [\n [\n 210,\n 187,\n 186\n ]\n ],\n [\n [\n 211,\n 212,\n 213\n ]\n ],\n [\n [\n 214,\n 211,\n 213\n ]\n ],\n [\n [\n 123,\n 215,\n 216\n ]\n ],\n [\n [\n 165,\n 121,\n 162\n ]\n ],\n [\n [\n 121,\n 215,\n 123\n ]\n ],\n [\n [\n 165,\n 215,\n 121\n ]\n ],\n [\n [\n 217,\n 218,\n 183\n ]\n ],\n [\n [\n 218,\n 184,\n 183\n ]\n ],\n [\n [\n 219,\n 91,\n 95\n ]\n ],\n [\n [\n 219,\n 95,\n 220\n ]\n ],\n [\n [\n 221,\n 118,\n 222\n ]\n ],\n [\n [\n 221,\n 114,\n 118\n ]\n ],\n [\n [\n 197,\n 142,\n 146\n ]\n ],\n [\n [\n 197,\n 146,\n 198\n ]\n ],\n [\n [\n 204,\n 206,\n 86\n ]\n ],\n [\n [\n 206,\n 87,\n 86\n ]\n ],\n [\n [\n 164,\n 167,\n 215\n ]\n ],\n [\n [\n 167,\n 216,\n 215\n ]\n ],\n [\n [\n 150,\n 153,\n 207\n ]\n ],\n [\n [\n 153,\n 208,\n 207\n ]\n ],\n [\n [\n 201,\n 202,\n 223\n ]\n ],\n [\n [\n 201,\n 223,\n 101\n ]\n ],\n [\n [\n 223,\n 104,\n 101\n ]\n ],\n [\n [\n 224,\n 225,\n 226\n ]\n ],\n [\n [\n 226,\n 225,\n 227\n ]\n ],\n [\n [\n 228,\n 211,\n 214\n ]\n ],\n [\n [\n 228,\n 229,\n 211\n ]\n ],\n [\n [\n 225,\n 230,\n 231\n ]\n ],\n [\n [\n 225,\n 231,\n 227\n ]\n ],\n [\n [\n 231,\n 230,\n 232\n ]\n ],\n [\n [\n 228,\n 233,\n 229\n ]\n ],\n [\n [\n 228,\n 234,\n 233\n ]\n ],\n [\n [\n 235,\n 232,\n 230\n ]\n ],\n [\n [\n 235,\n 64,\n 232\n ]\n ],\n [\n [\n 64,\n 59,\n 232\n ]\n ],\n [\n [\n 233,\n 60,\n 65\n ]\n ],\n [\n [\n 233,\n 212,\n 60\n ]\n ],\n [\n [\n 234,\n 212,\n 233\n ]\n ],\n [\n [\n 234,\n 213,\n 212\n ]\n ],\n [\n [\n 236,\n 65,\n 58\n ]\n ],\n [\n [\n 236,\n 233,\n 65\n ]\n ],\n [\n [\n 212,\n 237,\n 60\n ]\n ],\n [\n [\n 60,\n 237,\n 61\n ]\n ],\n [\n [\n 224,\n 226,\n 235\n ]\n ],\n [\n [\n 226,\n 64,\n 235\n ]\n ],\n [\n [\n 226,\n 63,\n 64\n ]\n ],\n [\n [\n 238,\n 63,\n 226\n ]\n ],\n [\n [\n 238,\n 57,\n 63\n ]\n ],\n [\n [\n 232,\n 59,\n 239\n ]\n ],\n [\n [\n 59,\n 62,\n 239\n ]\n ],\n [\n [\n 239,\n 62,\n 61\n ]\n ],\n [\n [\n 239,\n 61,\n 237\n ]\n ],\n [\n [\n 57,\n 236,\n 58\n ]\n ],\n [\n [\n 238,\n 236,\n 57\n ]\n ],\n [\n [\n 68,\n 69,\n 203\n ]\n ],\n [\n [\n 69,\n 205,\n 203\n ]\n ],\n [\n [\n 227,\n 231,\n 229\n ]\n ],\n [\n [\n 231,\n 211,\n 229\n ]\n ],\n [\n [\n 125,\n 99,\n 98\n ]\n ],\n [\n [\n 240,\n 241,\n 242\n ]\n ],\n [\n [\n 125,\n 241,\n 99\n ]\n ],\n [\n [\n 242,\n 241,\n 243\n ]\n ],\n [\n [\n 125,\n 128,\n 132\n ]\n ],\n [\n [\n 125,\n 132,\n 241\n ]\n ],\n [\n [\n 244,\n 128,\n 245\n ]\n ],\n [\n [\n 79,\n 241,\n 229\n ]\n ],\n [\n [\n 244,\n 132,\n 128\n ]\n ],\n [\n [\n 227,\n 132,\n 131\n ]\n ],\n [\n [\n 227,\n 229,\n 132\n ]\n ],\n [\n [\n 125,\n 98,\n 171\n ]\n ],\n [\n [\n 168,\n 80,\n 236\n ]\n ],\n [\n [\n 236,\n 80,\n 229\n ]\n ],\n [\n [\n 80,\n 79,\n 229\n ]\n ],\n [\n [\n 132,\n 229,\n 241\n ]\n ],\n [\n [\n 79,\n 243,\n 241\n ]\n ],\n [\n [\n 238,\n 226,\n 227\n ]\n ],\n [\n [\n 236,\n 229,\n 233\n ]\n ],\n [\n [\n 238,\n 146,\n 236\n ]\n ],\n [\n [\n 140,\n 131,\n 130\n ]\n ],\n [\n [\n 118,\n 130,\n 175\n ]\n ],\n [\n [\n 141,\n 140,\n 130\n ]\n ],\n [\n [\n 146,\n 126,\n 171\n ]\n ],\n [\n [\n 118,\n 141,\n 130\n ]\n ],\n [\n [\n 146,\n 171,\n 170\n ]\n ],\n [\n [\n 238,\n 135,\n 173\n ]\n ],\n [\n [\n 238,\n 118,\n 175\n ]\n ],\n [\n [\n 126,\n 125,\n 171\n ]\n ],\n [\n [\n 146,\n 170,\n 236\n ]\n ],\n [\n [\n 95,\n 168,\n 236\n ]\n ],\n [\n [\n 220,\n 95,\n 236\n ]\n ],\n [\n [\n 238,\n 222,\n 118\n ]\n ],\n [\n [\n 238,\n 198,\n 146\n ]\n ],\n [\n [\n 140,\n 136,\n 131\n ]\n ],\n [\n [\n 146,\n 147,\n 126\n ]\n ],\n [\n [\n 238,\n 175,\n 198\n ]\n ],\n [\n [\n 175,\n 200,\n 198\n ]\n ],\n [\n [\n 198,\n 200,\n 113\n ]\n ],\n [\n [\n 118,\n 119,\n 141\n ]\n ],\n [\n [\n 170,\n 220,\n 236\n ]\n ],\n [\n [\n 238,\n 173,\n 222\n ]\n ],\n [\n [\n 173,\n 82,\n 222\n ]\n ],\n [\n [\n 222,\n 82,\n 84\n ]\n ],\n [\n [\n 170,\n 246,\n 220\n ]\n ],\n [\n [\n 200,\n 244,\n 111\n ]\n ],\n [\n [\n 220,\n 246,\n 72\n ]\n ],\n [\n [\n 82,\n 136,\n 140\n ]\n ],\n [\n [\n 82,\n 140,\n 82\n ]\n ],\n [\n [\n 246,\n 240,\n 72\n ]\n ],\n [\n [\n 113,\n 200,\n 111\n ]\n ],\n [\n [\n 84,\n 82,\n 82\n ]\n ],\n [\n [\n 238,\n 227,\n 135\n ]\n ],\n [\n [\n 136,\n 227,\n 131\n ]\n ],\n [\n [\n 135,\n 227,\n 136\n ]\n ],\n [\n [\n 247,\n 134,\n 137\n ]\n ],\n [\n [\n 172,\n 134,\n 247\n ]\n ],\n [\n [\n 199,\n 129,\n 133\n ]\n ],\n [\n [\n 174,\n 129,\n 199\n ]\n ],\n [\n [\n 115,\n 139,\n 138\n ]\n ],\n [\n [\n 116,\n 115,\n 138\n ]\n ],\n [\n [\n 81,\n 83,\n 115\n ]\n ],\n [\n [\n 83,\n 139,\n 115\n ]\n ],\n [\n [\n 221,\n 117,\n 114\n ]\n ],\n [\n [\n 219,\n 94,\n 91\n ]\n ],\n [\n [\n 143,\n 127,\n 124\n ]\n ],\n [\n [\n 144,\n 143,\n 124\n ]\n ],\n [\n [\n 110,\n 112,\n 143\n ]\n ],\n [\n [\n 112,\n 127,\n 143\n ]\n ],\n [\n [\n 197,\n 145,\n 142\n ]\n ],\n [\n [\n 169,\n 97,\n 248\n ]\n ],\n [\n [\n 248,\n 97,\n 99\n ]\n ],\n [\n [\n 248,\n 99,\n 241\n ]\n ],\n [\n [\n 70,\n 92,\n 71\n ]\n ],\n [\n [\n 93,\n 92,\n 78\n ]\n ],\n [\n [\n 70,\n 79,\n 92\n ]\n ],\n [\n [\n 92,\n 79,\n 78\n ]\n ],\n [\n [\n 70,\n 243,\n 79\n ]\n ],\n [\n [\n 234,\n 214,\n 213\n ]\n ],\n [\n [\n 228,\n 214,\n 234\n ]\n ],\n [\n [\n 224,\n 235,\n 230\n ]\n ],\n [\n [\n 224,\n 230,\n 225\n ]\n ],\n [\n [\n 249,\n 209,\n 185\n ]\n ],\n [\n [\n 185,\n 209,\n 186\n ]\n ],\n [\n [\n 182,\n 217,\n 183\n ]\n ],\n [\n [\n 250,\n 217,\n 182\n ]\n ],\n [\n [\n 148,\n 107,\n 106\n ]\n ],\n [\n [\n 181,\n 149,\n 148\n ]\n ],\n [\n [\n 251,\n 181,\n 148\n ]\n ],\n [\n [\n 251,\n 148,\n 106\n ]\n ],\n [\n [\n 151,\n 150,\n 207\n ]\n ],\n [\n [\n 165,\n 164,\n 215\n ]\n ],\n [\n [\n 180,\n 163,\n 162\n ]\n ],\n [\n [\n 252,\n 162,\n 120\n ]\n ],\n [\n [\n 252,\n 180,\n 162\n ]\n ],\n [\n [\n 162,\n 121,\n 120\n ]\n ],\n [\n [\n 211,\n 237,\n 212\n ]\n ],\n [\n [\n 231,\n 232,\n 211\n ]\n ],\n [\n [\n 232,\n 194,\n 211\n ]\n ],\n [\n [\n 232,\n 159,\n 194\n ]\n ],\n [\n [\n 232,\n 239,\n 161\n ]\n ],\n [\n [\n 194,\n 253,\n 211\n ]\n ],\n [\n [\n 232,\n 161,\n 159\n ]\n ],\n [\n [\n 154,\n 254,\n 194\n ]\n ],\n [\n [\n 154,\n 156,\n 254\n ]\n ],\n [\n [\n 156,\n 188,\n 254\n ]\n ],\n [\n [\n 161,\n 239,\n 190\n ]\n ],\n [\n [\n 202,\n 239,\n 223\n ]\n ],\n [\n [\n 159,\n 154,\n 194\n ]\n ],\n [\n [\n 154,\n 196,\n 77\n ]\n ],\n [\n [\n 159,\n 196,\n 154\n ]\n ],\n [\n [\n 190,\n 239,\n 202\n ]\n ],\n [\n [\n 196,\n 190,\n 202\n ]\n ],\n [\n [\n 196,\n 202,\n 77\n ]\n ],\n [\n [\n 194,\n 191,\n 66\n ]\n ],\n [\n [\n 194,\n 66,\n 253\n ]\n ],\n [\n [\n 239,\n 237,\n 153\n ]\n ],\n [\n [\n 211,\n 249,\n 250\n ]\n ],\n [\n [\n 211,\n 253,\n 249\n ]\n ],\n [\n [\n 211,\n 182,\n 237\n ]\n ],\n [\n [\n 211,\n 250,\n 182\n ]\n ],\n [\n [\n 249,\n 180,\n 252\n ]\n ],\n [\n [\n 188,\n 177,\n 176\n ]\n ],\n [\n [\n 253,\n 181,\n 251\n ]\n ],\n [\n [\n 185,\n 187,\n 166\n ]\n ],\n [\n [\n 185,\n 166,\n 180\n ]\n ],\n [\n [\n 181,\n 85,\n 152\n ]\n ],\n [\n [\n 182,\n 184,\n 237\n ]\n ],\n [\n [\n 179,\n 85,\n 181\n ]\n ],\n [\n [\n 239,\n 153,\n 85\n ]\n ],\n [\n [\n 249,\n 185,\n 180\n ]\n ],\n [\n [\n 239,\n 177,\n 105\n ]\n ],\n [\n [\n 239,\n 85,\n 206\n ]\n ],\n [\n [\n 187,\n 237,\n 167\n ]\n ],\n [\n [\n 253,\n 179,\n 181\n ]\n ],\n [\n [\n 167,\n 237,\n 216\n ]\n ],\n [\n [\n 153,\n 237,\n 208\n ]\n ],\n [\n [\n 188,\n 105,\n 177\n ]\n ],\n [\n [\n 254,\n 188,\n 176\n ]\n ],\n [\n [\n 223,\n 239,\n 105\n ]\n ],\n [\n [\n 249,\n 252,\n 250\n ]\n ],\n [\n [\n 253,\n 251,\n 249\n ]\n ],\n [\n [\n 187,\n 167,\n 166\n ]\n ],\n [\n [\n 218,\n 216,\n 184\n ]\n ],\n [\n [\n 218,\n 123,\n 216\n ]\n ],\n [\n [\n 216,\n 237,\n 184\n ]\n ],\n [\n [\n 85,\n 153,\n 152\n ]\n ],\n [\n [\n 210,\n 208,\n 187\n ]\n ],\n [\n [\n 210,\n 109,\n 208\n ]\n ],\n [\n [\n 208,\n 237,\n 187\n ]\n ],\n [\n [\n 239,\n 206,\n 177\n ]\n ],\n [\n [\n 67,\n 193,\n 205\n ]\n ],\n [\n [\n 193,\n 177,\n 206\n ]\n ],\n [\n [\n 193,\n 206,\n 205\n ]\n ],\n [\n [\n 249,\n 251,\n 210\n ]\n ],\n [\n [\n 251,\n 108,\n 210\n ]\n ],\n [\n [\n 250,\n 252,\n 218\n ]\n ],\n [\n [\n 252,\n 122,\n 218\n ]\n ],\n [\n [\n 122,\n 123,\n 218\n ]\n ],\n [\n [\n 108,\n 109,\n 210\n ]\n ],\n [\n [\n 158,\n 160,\n 195\n ]\n ],\n [\n [\n 160,\n 189,\n 195\n ]\n ],\n [\n [\n 157,\n 100,\n 155\n ]\n ],\n [\n [\n 155,\n 100,\n 102\n ]\n ],\n [\n [\n 157,\n 74,\n 100\n ]\n ],\n [\n [\n 74,\n 76,\n 100\n ]\n ],\n [\n [\n 103,\n 201,\n 101\n ]\n ],\n [\n [\n 90,\n 204,\n 86\n ]\n ],\n [\n [\n 254,\n 176,\n 192\n ]\n ],\n [\n [\n 194,\n 254,\n 192\n ]\n ],\n [\n [\n 176,\n 178,\n 192\n ]\n ],\n [\n [\n 179,\n 88,\n 89\n ]\n ],\n [\n [\n 68,\n 203,\n 88\n ]\n ],\n [\n [\n 66,\n 68,\n 253\n ]\n ],\n [\n [\n 253,\n 68,\n 88\n ]\n ],\n [\n [\n 253,\n 88,\n 179\n ]\n ]\n ],\n \"lod\": \"2\",\n \"semantics\": {\n \"surfaces\": [\n {\n \"type\": \"GroundSurface\"\n },\n {\n \"type\": \"WallSurface\"\n },\n {\n \"type\": \"RoofSurface\"\n }\n ],\n \"values\": [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2\n ]\n },\n \"type\": \"MultiSurface\"\n }\n ],\n \"type\": \"Building\"\n }\n },\n \"vertices\": [\n [\n 19211,\n 19441,\n 0\n ],\n [\n 17245,\n 14582,\n 0\n ],\n [\n 16068,\n 15059,\n 0\n ],\n [\n 20166,\n 25185,\n 0\n ],\n [\n 18034,\n 19918,\n 0\n ],\n [\n 9831,\n 29283,\n 0\n ],\n [\n 8944,\n 16499,\n 0\n ],\n [\n 15156,\n 12804,\n 0\n ],\n [\n 5482,\n 17965,\n 0\n ],\n [\n 4403,\n 31333,\n 0\n ],\n [\n 0,\n 20015,\n 0\n ],\n [\n 4403,\n 31333,\n 14494\n ],\n [\n 4338,\n 31167,\n 13252\n ],\n [\n 4338,\n 31167,\n 14494\n ],\n [\n 0,\n 20015,\n 13252\n ],\n [\n 9831,\n 29283,\n 14494\n ],\n [\n 20166,\n 25185,\n 13252\n ],\n [\n 13671,\n 27760,\n 13252\n ],\n [\n 13671,\n 27760,\n 14494\n ],\n [\n 15156,\n 12804,\n 13252\n ],\n [\n 18034,\n 19918,\n 12747\n ],\n [\n 16068,\n 15059,\n 12747\n ],\n [\n 17245,\n 14582,\n 12462\n ],\n [\n 19211,\n 19441,\n 12444\n ],\n [\n 8944,\n 16499,\n 13252\n ],\n [\n 5482,\n 17965,\n 13252\n ],\n [\n 12313,\n 22218,\n 13252\n ],\n [\n 11229,\n 19602,\n 13252\n ],\n [\n 11229,\n 19602,\n 14469\n ],\n [\n 12313,\n 22218,\n 15152\n ],\n [\n 13264,\n 24729,\n 14469\n ],\n [\n 13264,\n 24729,\n 13252\n ],\n [\n 9769,\n 29122,\n 14494\n ],\n [\n 9769,\n 29122,\n 13252\n ],\n [\n 13593,\n 27596,\n 14494\n ],\n [\n 13593,\n 27596,\n 13252\n ],\n [\n 10099,\n 28352,\n 13885\n ],\n [\n 10099,\n 28352,\n 13252\n ],\n [\n 9539,\n 28524,\n 13885\n ],\n [\n 9539,\n 28524,\n 13252\n ],\n [\n 8646,\n 22157,\n 13885\n ],\n [\n 7855,\n 22489,\n 13885\n ],\n [\n 7855,\n 22489,\n 13252\n ],\n [\n 8646,\n 22157,\n 13252\n ],\n [\n 9173,\n 23630,\n 13252\n ],\n [\n 9173,\n 23630,\n 13885\n ],\n [\n 8382,\n 23962,\n 13885\n ],\n [\n 8382,\n 23962,\n 13252\n ],\n [\n 6358,\n 18288,\n 13885\n ],\n [\n 5712,\n 18565,\n 13885\n ],\n [\n 5712,\n 18565,\n 13252\n ],\n [\n 6358,\n 18288,\n 13252\n ],\n [\n 16385,\n 17555,\n 14469\n ],\n [\n 16385,\n 17555,\n 13252\n ],\n [\n 18420,\n 22682,\n 14469\n ],\n [\n 18420,\n 22682,\n 13252\n ],\n [\n 17440,\n 20213,\n 15152\n ],\n [\n 39903,\n 11453,\n 2794\n ],\n [\n 35253,\n 0,\n 2794\n ],\n [\n 34792,\n 12604,\n 2794\n ],\n [\n 30547,\n 1946,\n 2794\n ],\n [\n 26216,\n 3965,\n 2794\n ],\n [\n 30437,\n 14347,\n 2794\n ],\n [\n 36641,\n 12768,\n 2794\n ],\n [\n 35123,\n 13399,\n 2794\n ],\n [\n 31584,\n 1450,\n 2794\n ],\n [\n 31011,\n 9397,\n 12359\n ],\n [\n 30662,\n 9548,\n 11975\n ],\n [\n 29940,\n 9860,\n 12359\n ],\n [\n 29940,\n 9860,\n 11163\n ],\n [\n 35848,\n 3916,\n 12279\n ],\n [\n 35848,\n 3915,\n 12278\n ],\n [\n 35848,\n 3916,\n 10927\n ],\n [\n 35848,\n 3915,\n 10926\n ],\n [\n 31054,\n 12948,\n 12234\n ],\n [\n 31054,\n 12948,\n 10993\n ],\n [\n 31053,\n 12947,\n 12233\n ],\n [\n 31053,\n 12947,\n 10992\n ],\n [\n 35075,\n 3551,\n 11502\n ],\n [\n 34758,\n 4112,\n 11994\n ],\n [\n 35075,\n 3551,\n 11496\n ],\n [\n 38175,\n 10016,\n 12379\n ],\n [\n 38175,\n 10018,\n 11068\n ],\n [\n 38175,\n 10018,\n 12381\n ],\n [\n 38175,\n 10016,\n 11067\n ],\n [\n 29144,\n 9506,\n 10542\n ],\n [\n 29142,\n 9506,\n 11498\n ],\n [\n 29142,\n 9506,\n 10540\n ],\n [\n 29940,\n 9858,\n 12357\n ],\n [\n 29144,\n 9506,\n 11497\n ],\n [\n 29940,\n 9858,\n 12360\n ],\n [\n 35896,\n 3208,\n 11498\n ],\n [\n 35847,\n 3915,\n 12277\n ],\n [\n 35896,\n 3210,\n 11497\n ],\n [\n 35847,\n 3915,\n 12281\n ],\n [\n 35896,\n 3208,\n 10622\n ],\n [\n 35896,\n 3210,\n 10623\n ],\n [\n 35544,\n 4683,\n 11496\n ],\n [\n 35544,\n 4683,\n 11485\n ],\n [\n 34780,\n 4493,\n 12114\n ],\n [\n 31053,\n 12946,\n 12232\n ],\n [\n 30306,\n 12519,\n 11498\n ],\n [\n 30308,\n 12520,\n 11497\n ],\n [\n 31053,\n 12946,\n 12235\n ],\n [\n 30306,\n 12519,\n 10462\n ],\n [\n 30308,\n 12520,\n 10463\n ],\n [\n 28977,\n 7536,\n 12286\n ],\n [\n 28975,\n 7541,\n 12281\n ],\n [\n 28977,\n 7536,\n 11160\n ],\n [\n 28975,\n 7541,\n 11156\n ],\n [\n 37014,\n 6955,\n 12269\n ],\n [\n 37013,\n 6960,\n 10993\n ],\n [\n 37013,\n 6960,\n 12274\n ],\n [\n 37014,\n 6955,\n 10990\n ],\n [\n 38348,\n 9208,\n 11498\n ],\n [\n 38174,\n 10015,\n 12377\n ],\n [\n 38347,\n 9211,\n 11496\n ],\n [\n 38174,\n 10015,\n 12383\n ],\n [\n 38348,\n 9208,\n 10615\n ],\n [\n 38347,\n 9211,\n 10617\n ],\n [\n 28089,\n 5212,\n 12279\n ],\n [\n 28083,\n 5223,\n 12268\n ],\n [\n 28089,\n 5212,\n 11229\n ],\n [\n 28083,\n 5223,\n 11219\n ],\n [\n 36296,\n 6544,\n 11503\n ],\n [\n 35895,\n 7269,\n 12117\n ],\n [\n 36296,\n 6544,\n 11488\n ],\n [\n 35804,\n 7434,\n 12274\n ],\n [\n 35804,\n 7434,\n 12261\n ],\n [\n 36768,\n 7673,\n 11493\n ],\n [\n 36768,\n 7673,\n 11477\n ],\n [\n 35913,\n 7468,\n 12175\n ],\n [\n 35792,\n 7440,\n 12274\n ],\n [\n 35792,\n 7440,\n 12287\n ],\n [\n 37994,\n 10685,\n 11497\n ],\n [\n 37994,\n 10685,\n 11477\n ],\n [\n 36945,\n 10527,\n 12367\n ],\n [\n 36945,\n 10527,\n 12385\n ],\n [\n 37529,\n 9553,\n 11500\n ],\n [\n 36948,\n 10525,\n 12381\n ],\n [\n 36948,\n 10525,\n 12363\n ],\n [\n 37529,\n 9553,\n 11481\n ],\n [\n 37134,\n 6196,\n 11498\n ],\n [\n 37010,\n 6952,\n 12264\n ],\n [\n 37133,\n 6205,\n 11492\n ],\n [\n 37010,\n 6952,\n 12281\n ],\n [\n 37134,\n 6196,\n 10603\n ],\n [\n 37133,\n 6205,\n 10608\n ],\n [\n 28979,\n 7543,\n 12277\n ],\n [\n 28638,\n 8384,\n 11492\n ],\n [\n 28635,\n 8393,\n 11498\n ],\n [\n 28979,\n 7543,\n 12292\n ],\n [\n 28638,\n 8384,\n 10502\n ],\n [\n 28635,\n 8393,\n 10495\n ],\n [\n 32141,\n 12473,\n 12192\n ],\n [\n 31233,\n 12121,\n 11503\n ],\n [\n 31233,\n 12121,\n 11487\n ],\n [\n 32141,\n 12473,\n 12234\n ],\n [\n 32146,\n 12473,\n 12238\n ],\n [\n 32146,\n 12473,\n 12197\n ],\n [\n 31683,\n 13262,\n 11496\n ],\n [\n 31683,\n 13262,\n 11454\n ],\n [\n 28094,\n 5227,\n 12259\n ],\n [\n 27685,\n 6031,\n 11486\n ],\n [\n 27674,\n 6053,\n 11498\n ],\n [\n 28094,\n 5227,\n 12292\n ],\n [\n 27685,\n 6031,\n 10520\n ],\n [\n 27674,\n 6053,\n 10501\n ],\n [\n 35549,\n 3354,\n 10990\n ],\n [\n 36374,\n 4339,\n 11501\n ],\n [\n 36374,\n 4339,\n 10607\n ],\n [\n 35662,\n 4635,\n 11358\n ],\n [\n 38825,\n 10339,\n 11500\n ],\n [\n 38825,\n 10339,\n 10599\n ],\n [\n 37614,\n 7332,\n 11505\n ],\n [\n 37614,\n 7332,\n 10587\n ],\n [\n 30462,\n 10275,\n 11497\n ],\n [\n 29620,\n 10636,\n 10551\n ],\n [\n 29620,\n 10636,\n 11500\n ],\n [\n 29997,\n 9141,\n 11501\n ],\n [\n 28578,\n 5686,\n 11509\n ],\n [\n 29536,\n 8019,\n 11504\n ],\n [\n 28091,\n 4563,\n 11487\n ],\n [\n 27192,\n 4909,\n 11511\n ],\n [\n 27192,\n 4909,\n 10492\n ],\n [\n 29059,\n 6892,\n 11493\n ],\n [\n 28155,\n 7258,\n 11504\n ],\n [\n 28155,\n 7258,\n 10485\n ],\n [\n 30527,\n 12425,\n 10710\n ],\n [\n 30784,\n 13650,\n 11501\n ],\n [\n 30784,\n 13650,\n 10464\n ],\n [\n 30662,\n 9549,\n 11974\n ],\n [\n 29941,\n 9861,\n 12362\n ],\n [\n 29941,\n 9861,\n 11163\n ],\n [\n 31014,\n 9397,\n 12362\n ],\n [\n 31055,\n 12950,\n 12238\n ],\n [\n 31055,\n 12950,\n 10993\n ],\n [\n 37611,\n 7324,\n 11498\n ],\n [\n 37611,\n 7324,\n 10587\n ],\n [\n 37014,\n 6961,\n 12287\n ],\n [\n 37014,\n 6961,\n 10993\n ],\n [\n 30783,\n 13647,\n 11498\n ],\n [\n 30783,\n 13647,\n 10464\n ],\n [\n 29939,\n 9859,\n 12358\n ],\n [\n 29619,\n 10634,\n 11498\n ],\n [\n 29939,\n 9859,\n 11162\n ],\n [\n 29619,\n 10634,\n 10550\n ],\n [\n 28158,\n 7265,\n 11498\n ],\n [\n 28158,\n 7265,\n 10484\n ],\n [\n 28976,\n 7535,\n 12298\n ],\n [\n 28976,\n 7535,\n 11160\n ],\n [\n 30976,\n 2842,\n 14923\n ],\n [\n 30547,\n 1946,\n 14707\n ],\n [\n 30547,\n 1946,\n 15762\n ],\n [\n 30976,\n 2842,\n 15762\n ],\n [\n 27197,\n 4925,\n 11498\n ],\n [\n 27197,\n 4925,\n 10491\n ],\n [\n 28088,\n 5211,\n 12305\n ],\n [\n 28088,\n 5211,\n 11229\n ],\n [\n 36373,\n 4336,\n 11498\n ],\n [\n 36373,\n 4336,\n 10607\n ],\n [\n 38824,\n 10336,\n 11498\n ],\n [\n 38824,\n 10336,\n 10599\n ],\n [\n 30501,\n 12980,\n 10466\n ],\n [\n 36641,\n 12768,\n 15263\n ],\n [\n 36310,\n 11972,\n 15263\n ],\n [\n 36641,\n 12768,\n 13471\n ],\n [\n 36310,\n 11972,\n 13471\n ],\n [\n 32013,\n 2346,\n 15762\n ],\n [\n 32013,\n 2346,\n 13857\n ],\n [\n 34792,\n 12604,\n 15263\n ],\n [\n 35008,\n 12514,\n 14923\n ],\n [\n 34792,\n 12604,\n 14605\n ],\n [\n 31584,\n 1450,\n 13857\n ],\n [\n 31584,\n 1450,\n 15762\n ],\n [\n 35123,\n 13399,\n 15263\n ],\n [\n 35253,\n 0,\n 10024\n ],\n [\n 26216,\n 3965,\n 9933\n ],\n [\n 39903,\n 11453,\n 10035\n ],\n [\n 30437,\n 14347,\n 9865\n ],\n [\n 35608,\n 4017,\n 11181\n ],\n [\n 34574,\n 4440,\n 12284\n ],\n [\n 35607,\n 4015,\n 11180\n ],\n [\n 34577,\n 4436,\n 12279\n ],\n [\n 35906,\n 7395,\n 12153\n ],\n [\n 35906,\n 7394,\n 12153\n ],\n [\n 35848,\n 3918,\n 10927\n ],\n [\n 38175,\n 10018,\n 12385\n ],\n [\n 35848,\n 3918,\n 12284\n ],\n [\n 30001,\n 7131,\n 12298\n ],\n [\n 29067,\n 4855,\n 12305\n ],\n [\n 29990,\n 7136,\n 12286\n ],\n [\n 29044,\n 4864,\n 12279\n ],\n [\n 30673,\n 9315,\n 12077\n ],\n [\n 30641,\n 9987,\n 11782\n ]\n ],\n \"transform\": {\n \"scale\": [\n 0.001,\n 0.001,\n 0.001\n ],\n \"translate\": [\n 300578.235,\n 5041258.061,\n 13.688\n ]\n }\n}", "transformResults": { - "topo-feature": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_2_1.topo-feature.json" + "topo-feature": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_2_1.topo-feature.json", + "topo-feature-semantic-uplift": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_2_1.topo-feature-semantic-uplift.ttl" }, "url": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/alignments/cityjson-transform/example_2_1.json" } diff --git a/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json b/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json index 272c310..eee484d 100644 --- a/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json +++ b/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json @@ -9,7 +9,7 @@ "itemClass": "schema", "register": "icsm-csdm", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "link": "https://github.com/icsm-au/3d-csdm-schema", "sources": [], "maturity": "development", diff --git a/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json b/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json index fb78c53..0a5069a 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json @@ -9,7 +9,7 @@ "itemClass": "schema", "register": "ogcincubator", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", diff --git a/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json b/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json index 38f277b..f6cf231 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json @@ -9,7 +9,7 @@ "itemClass": "schema", "register": "ogc-building-block-register", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "shaclRules": { "ogc.geo.topo.features.topo-feature-collection": [ @@ -24,8 +24,8 @@ "maturity": "development", "scope": "unstable", "dependsOn": [ - "ogc.geo.json-fg.featureCollection-lenient", "ogc.geo.topo.features.topo-feature", + "ogc.geo.json-fg.featureCollection-lenient", "ogc.geo.common.data_types.geojson" ], "tags": [ diff --git a/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json b/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json index 0aa720d..4b70614 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json @@ -9,14 +9,14 @@ "itemClass": "schema", "register": "ogc-building-block-register", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", "dependsOn": [ - "ogc.geo.common.data_types.geojson", "ogc.geo.topo.datatypes.topology", - "ogc.geo.json-fg.feature" + "ogc.geo.json-fg.feature", + "ogc.geo.common.data_types.geojson" ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ diff --git a/build/generateddocs/json-full/geo/topo/features/topo-line/index.json b/build/generateddocs/json-full/geo/topo/features/topo-line/index.json index 34f9de9..cd63ee3 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-line/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-line/index.json @@ -9,7 +9,7 @@ "itemClass": "schema", "register": "icsm-csdm", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "link": "https://github.com/icsm-au/3d-csdm-schema", "sources": [], "maturity": "development", diff --git a/build/generateddocs/json-full/geo/topo/features/topo-polyhedron/index.json b/build/generateddocs/json-full/geo/topo/features/topo-polyhedron/index.json index e75197b..4286815 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-polyhedron/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-polyhedron/index.json @@ -9,7 +9,7 @@ "itemClass": "schema", "register": "ogcincubator", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", @@ -19,20 +19,20 @@ "topology" ], "shaclRules": { - "ogc.geo.topo.features.topo-feature-collection": [ + "ogc.geo.topo.features.topo-feature": [ "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], - "ogc.geo.topo.features.topo-feature": [ + "ogc.geo.topo.features.topo-feature-collection": [ "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [], "dependsOn": [ - "ogc.geo.topo.features.topo-feature-collection", + "ogc.geo.topo.datatypes.topology", "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.features.topo-feature-collection" ], "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-polyhedron/context.jsonld", "schema": { @@ -64,7 +64,7 @@ }, { "language": "ttl", - "code": "@prefix dcterms: .\n@prefix geojson: .\n@prefix ns1: .\n@prefix ns2: .\n@prefix oa: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix time: .\n@prefix xsd: .\n\n a ,\n geojson:Feature ;\n dcterms:spatial [ a geojson:Polyhedron ;\n geojson:coordinates ( ( ( ( ( 4.798167e+05 5.705862e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798242e+05 5.705854e+06 110 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798242e+05 5.705854e+06 110 ) ) ) ( ( ( 4.798297e+05 5.705859e+06 120 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798297e+05 5.705859e+06 120 ) ) ) ( ( ( 4.798222e+05 5.705867e+06 120 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798167e+05 5.705862e+06 110 ) ( 4.798222e+05 5.705867e+06 120 ) ) ) ) ) ] ;\n dcterms:time [ time:hasTime ( \"2014-04-24T10:50:18Z\" \"..\" ) ] ;\n ns2:CoordinateReferenceSystemCRS \"http://www.opengis.net/def/crs/EPSG/0/5555\" ;\n rdfs:seeAlso [ rdfs:label \"This feature is of type 'building'\" ;\n ns1:relation ;\n oa:hasTarget ],\n [ rdfs:label \"Cadastral parcel 313 in district W\u00c3\u00bcnnenberg (016)\" ;\n ns1:relation ;\n oa:hasTarget ] ;\n geojson:geometry [ a geojson:Polygon ;\n geojson:coordinates ( ( ( 8.709205e+00 5.150353e+01 100 ) ( 8.709313e+00 5.150346e+01 100 ) ( 8.709392e+00 5.15035e+01 100 ) ( 8.709284e+00 5.150357e+01 100 ) ( 8.709205e+00 5.150353e+01 100 ) ) ) ] ;\n geojson:topology [ a geojson:Polyhedron ;\n geojson:relatedFeatures ( ( ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ) ) ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798222e+05 5.705867e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798242e+05 5.705854e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798297e+05 5.705859e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798167e+05 5.705862e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798222e+05 5.705867e+06 120 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798242e+05 5.705854e+06 110 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798297e+05 5.705859e+06 120 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798167e+05 5.705862e+06 110 ) ] .\n\n[] a geojson:FeatureCollection ;\n geojson:features ,\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n .\n\n", + "code": "@prefix dcterms: .\n@prefix geojson: .\n@prefix ns1: .\n@prefix ns2: .\n@prefix oa: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix time: .\n@prefix xsd: .\n\n a ,\n geojson:Feature ;\n dcterms:spatial [ a geojson:Polyhedron ;\n geojson:coordinates ( ( ( ( ( 4.798167e+05 5.705862e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798242e+05 5.705854e+06 110 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798242e+05 5.705854e+06 110 ) ) ) ( ( ( 4.798297e+05 5.705859e+06 120 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798297e+05 5.705859e+06 120 ) ) ) ( ( ( 4.798222e+05 5.705867e+06 120 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798167e+05 5.705862e+06 110 ) ( 4.798222e+05 5.705867e+06 120 ) ) ) ) ) ] ;\n dcterms:time [ time:hasTime ( \"2014-04-24T10:50:18Z\" \"..\" ) ] ;\n ns2:CoordinateReferenceSystemCRS \"http://www.opengis.net/def/crs/EPSG/0/5555\" ;\n rdfs:seeAlso [ rdfs:label \"Cadastral parcel 313 in district W\u00c3\u00bcnnenberg (016)\" ;\n ns1:relation ;\n oa:hasTarget ],\n [ rdfs:label \"This feature is of type 'building'\" ;\n ns1:relation ;\n oa:hasTarget ] ;\n geojson:geometry [ a geojson:Polygon ;\n geojson:coordinates ( ( ( 8.709205e+00 5.150353e+01 100 ) ( 8.709313e+00 5.150346e+01 100 ) ( 8.709392e+00 5.15035e+01 100 ) ( 8.709284e+00 5.150357e+01 100 ) ( 8.709205e+00 5.150353e+01 100 ) ) ) ] ;\n geojson:topology [ a geojson:Polyhedron ;\n geojson:relatedFeatures ( ( ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ) ) ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798222e+05 5.705867e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798242e+05 5.705854e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798297e+05 5.705859e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798167e+05 5.705862e+06 100 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798222e+05 5.705867e+06 120 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798242e+05 5.705854e+06 110 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798297e+05 5.705859e+06 120 ) ] .\n\n a geojson:Feature ;\n geojson:geometry [ a geojson:Point ;\n geojson:coordinates ( 4.798167e+05 5.705862e+06 110 ) ] .\n\n[] a geojson:FeatureCollection ;\n geojson:features ,\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n .\n\n", "url": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/features/topo-polyhedron/example_1_1.ttl" } ] diff --git a/build/generateddocs/markdown/geo/topo/features/topo-polyhedron/index.md b/build/generateddocs/markdown/geo/topo/features/topo-polyhedron/index.md index 5386f54..3232f8b 100644 --- a/build/generateddocs/markdown/geo/topo/features/topo-polyhedron/index.md +++ b/build/generateddocs/markdown/geo/topo/features/topo-polyhedron/index.md @@ -905,12 +905,12 @@ A feature type using a topology property to reference points defining Polyhedron geojson:coordinates ( ( ( ( ( 4.798167e+05 5.705862e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798242e+05 5.705854e+06 110 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798242e+05 5.705854e+06 110 ) ) ) ( ( ( 4.798297e+05 5.705859e+06 120 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798297e+05 5.705859e+06 120 ) ) ) ( ( ( 4.798222e+05 5.705867e+06 120 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798167e+05 5.705862e+06 110 ) ( 4.798222e+05 5.705867e+06 120 ) ) ) ) ) ] ; dcterms:time [ time:hasTime ( "2014-04-24T10:50:18Z" ".." ) ] ; ns2:CoordinateReferenceSystemCRS "http://www.opengis.net/def/crs/EPSG/0/5555" ; - rdfs:seeAlso [ rdfs:label "This feature is of type 'building'" ; - ns1:relation ; - oa:hasTarget ], - [ rdfs:label "Cadastral parcel 313 in district Wünnenberg (016)" ; + rdfs:seeAlso [ rdfs:label "Cadastral parcel 313 in district Wünnenberg (016)" ; ns1:relation ; - oa:hasTarget ] ; + oa:hasTarget ], + [ rdfs:label "This feature is of type 'building'" ; + ns1:relation ; + oa:hasTarget ] ; geojson:geometry [ a geojson:Polygon ; geojson:coordinates ( ( ( 8.709205e+00 5.150353e+01 100 ) ( 8.709313e+00 5.150346e+01 100 ) ( 8.709392e+00 5.15035e+01 100 ) ( 8.709284e+00 5.150357e+01 100 ) ( 8.709205e+00 5.150353e+01 100 ) ) ) ] ; geojson:topology [ a geojson:Polyhedron ; diff --git a/build/register.json b/build/register.json index d384cf1..e183b04 100644 --- a/build/register.json +++ b/build/register.json @@ -2,12 +2,12 @@ "name": "Topo-Feature", "abstract": "Features with geometry defined via generalised topology between identified objects (Features).", "description": "Defines Feature (object) topology using a _topology_ property to reference an ordered list of references to other features. \n\nOther features may be either features with topology properties or GeoJSON (or FG-JSON) geometry properties.\n\nTopo-Feature defined objects can be solids, swept volumes or any other concept. \n\nTopo-Feature allows for general topology to be described between independent features (objects) with any geometry dimensions. \n\nTopo-Feature-Collections define a self-contained set of such objects with referential integrity (all elements are present to fully define geometry coordinates.\n\nNote: This is a generalisation of the TopoJSON concept using inline, nested arrays of coordinates - but not limited to self-contained geometries per feature, duplicated between topologically related features.. \n\n_Topo-Feature allows for explicit CRS. If desired coordinate compaction transformations could be defined as per TopoJSON functionality, using specialised CRS definition._\n", - "modified": "2024-10-20T11:35:43.640535", + "modified": "2024-10-21T10:20:55.447931", "tooling": { "bblocks-postprocess": { - "commitId": "\"b762fc0e8ff295bfc8279d19691d0ee3a4e3d1ee", - "shortCommitId": "\"b762fc", - "date": "2024-10-18T09:34:41+00:00\"" + "commitId": "\"d42a292b30b8f9c89b07edcdc1ce6c98d4a1e6a2", + "shortCommitId": "\"d42a29", + "date": "2024-10-21T10:16:59+00:00\"" } }, "gitRepository": "https://github.com/ogcincubator/topo-feature", @@ -28,7 +28,7 @@ "itemClass": "schema", "register": "ogc", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "tags": [ "3D", "geometry", @@ -72,6 +72,55 @@ } ] } + }, + { + "id": "topo-feature-semantic-uplift", + "description": "Transforms CityJSON geometries and vertices to GeoJSON / TopoFeature features, and then to a custom RDF model.", + "type": "semantic-uplift", + "ref": "https://ogcincubator.github.io/topo-feature/_sources/alignments/cityjson-transform/transforms/topo-feature-uplift.yml", + "code": "transform:\n # Assign fragment ids to City Objects and format geometries (semantics surfaces/values)\n - |\n \n # CityJSON -> topoFeature type mapping\n # (note: Surface is used as an auxiliary type)\n def toTopoGeometry: {\n \"MultiSurface\": \"MultiPolygon\",\n \"CompositeSurface\": \"MultiPolygon\",\n \"Solid\": \"Polyhedron\",\n \"MultiSolid\": \"MultiPolyhedron\",\n \"CompositeSolid\": \"MultiPolyhedron\",\n } as $MAP | ($MAP[.] // .);\n\n # CityJSON geometry array contents mapping\n # (note: Surface is used as an auxiliary type)\n def nextGeometry: {\n \"MultiPolyhedron\": \"Polyhedron\",\n \"Polyhedron\": \"MultiPolygon\",\n \"MultiPolygon\": \"Polygon\",\n \"Polygon\": \"LineString\"\n } as $MAP | $MAP[.];\n\n # Accepts object with \"references\" (to inner geometries or vertices), \"type\", and optional \"id\"\n def processBoundaries: .type as $TYPE | .id as $ID | (.type | toTopoGeometry) as $TOPO_TYPE | ($TOPO_TYPE | nextGeometry) as $NEXT_TYPE | {\n \"@type\": \"Feature\",\n \"@id\": ($ID // empty),\n \"geometry\": null,\n \"topology\": {\n \"type\": $TOPO_TYPE,\n \"references\": (if (.type == \"MultiPoint\" or .type == \"LineString\") then (.references | map(\"#vertices-\\(.)\")) else (.references | to_entries | map({\n \"type\": $NEXT_TYPE,\n \"id\": (if $ID then \"\\($ID)_\\(.key + 1)\" else empty end),\n \"references\": .value\n } | processBoundaries)) end)\n },\n \"properties\": null\n };\n\n .CityObjects |= [\n to_entries | .[]\n | .value.parents |= if . then map(\"#:city-objects-\\(.)\") else empty end\n | { \"@id\": \"#city-objects-\\(.key | @uri)\", \"dct:identifier\": .key } + .value\n | .\"@id\" as $OBJECT_ID\n | .geometry |= if . then ([ .[] |\n .type as $GEOM_TYPE | .boundaries as $BOUNDARIES | (try (.semantics.values | to_entries) catch []) as $INDEXES\n | {\n \"surfaces\": (if .semantics.surfaces\n then [.semantics.surfaces | to_entries | .[] | .key as $IDX\n | .value + {\n \"@type\": (if .type then [$GEOM_TYPE, .type] else $GEOM_TYPE end),\n \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_\\($IDX)\", \"references\": [$BOUNDARIES | .[$INDEXES | map(if .value == $IDX then .key else empty end) | .[]]]} | processBoundaries)\n }]\n else [{\"@type\": $GEOM_TYPE, \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_0\", \"references\": $BOUNDARIES} | processBoundaries)}]\n end),\n \"lod\": \"\\(.lod)\"\n }\n ]) else empty end\n ]\n | . + {\n \"@id\": \"#city\"\n }\n # Format coordinates and assign fragment ids to vertices\n - |\n def to_coords: if . then { \"city:x\": .[0], \"city:y\": .[1], \"city:z\": .[2] } else empty end ;\n (.transform.scale |= to_coords) | (.transform.translate |= to_coords)\n | .metadata.geographicalExtent |= if . then { \n \"city:min\": .[0:3] | to_coords,\n \"city:max\": .[3:6] | to_coords\n } else empty end\n | .vertices |= [to_entries | .[] | { \n \"@id\": \"#vertices-\\(.key | @uri)\",\n \"type\": \"Feature\",\n \"geometry\": {\n \"@type\": \"Point\",\n \"geojson:coordinates\": .value\n },\n \"properties\": (.value | to_coords), \n }]\n\ncontext:\n $:\n '@version': 1.1\n '@base': https://example.com/city-topo-feature\n c: https://example.com/city-topo-feature#\n\n city: http://example.com/vocab/city/\n attr: http://example.com/vocab/city/attr#\n dct: http://purl.org/dc/terms/\n xsd: http://www.w3.org/2001/XMLSchema#\n gml: http://www.opengis.net/ont/gml#\n geojson: https://purl.org/geojson/vocab#\n\n CityJSON: city:City\n\n type: '@type'\n id: dct:identifier\n version: city:version\n\n attributes: '@nest'\n\n CityObjects:\n '@id': city:hasObject\n '@context':\n # City Objects\n Bridge: city:Bridge\n BridgeConstructiveElement: city:BridgeConstructiveElement\n BridgeFurniture: city:BridgeFurniture\n BridgeInstallation: city:BridgeInstallation\n BridgePart: city:BridgePart\n BridgeRoom: city:BridgeRoom\n Building: city:Building\n BuildingConstructiveElement: city:BuildingConstructiveElement\n BuildingFurniture: city:BuildingFurniture\n BuildingInstallation: city:BuildingInstallation\n BuildingPart: city:BuildingPart\n BuildingRoom: city:BuildingRoom\n BuildingStorey: city:BuildingStorey\n BuildingUnit: city:BuildingUnit\n CityFurniture: city:CityFurniture\n CityObjectGroup: city:CityObjectGroup\n ExtensionObject: city:ExtensionObject\n LandUse: city:LandUse\n OtherConstruction: city:OtherConstruction\n PlantCover: city:PlantCover\n Railway: city:Railway\n Road: city:Road\n SolitaryVegetationObject: city:SolitaryVegetationObject\n TINRelief: city:TINRelief\n TransportSquare: city:TransportSquare\n Tunnel: city:Tunnel\n TunnelConstructiveElement: city:TunnelConstructiveElement\n TunnelFurniture: city:TunnelFurniture\n TunnelHollowSpace: city:TunnelHollowSpace\n TunnelInstallation: city:TunnelInstallation\n TunnelPart: city:TunnelPart\n WaterBody: city:WaterBody\n Waterway: city:Waterway\n _AbstractBuilding: city:_AbstractBuilding\n _AbstractCityObject: city:_AbstractCityObject\n _AbstractTransportationComplex: city:_AbstractTransportationComplex\n '+GenericCityObject': https://www.cityjson.org/extensions/download/generic.ext.json#GenericCityObject\n\n function: city:hasFunction\n usage: city:hasUsage\n\n Feature: geojson:Feature\n \n geometry:\n '@id': city:hasGeometry\n '@context':\n # Geometry Objects\n GeometryInstance: city:GeometryInstance\n Semantics: city:Semantics\n\n CompositeSolid: gml:CompositeSolid\n CompositeSurface: gml:CompositeSurface\n MultiLineString: gml:MultiLineString\n MultiPoint: gml:MultiPoint\n MultiSolid: gml:MultiSolid\n MultiSurface: gml:MultiSurface\n Solid: gml:Solid\n\n # Geometric primitives\n RoofSurface: city:RoofSurface\n GroundSurface: city:GroundSurface\n WallSurface: city:WallSurface\n ClosureSurface: city:ClosureSurface\n OuterCeilingSurface: city:OuterCeilingSurface\n OuterFloorSurface: city:OuterFloorSurface\n Window: city:Window\n Door: city:Door\n InteriorWallSurface: city:InteriorWallSurface\n CeilingSurface: city:CeilingSurface\n FloorSurface: city:FloorSurface\n WaterSurface: city:WaterSurface\n WaterGroundSurface: city:WaterGroundSurface\n WaterClosureSurface: city:WaterClosureSurface\n TrafficArea: city:TrafficArea\n AuxiliaryTrafficArea: city:AuxiliaryTrafficArea\n TransportationHole: city:TransportationHole\n TransportationMarking: city:TransportationMarking\n\n # Appearance Objects\n Material: city:Material\n Texture: city:Texture\n\n lod:\n '@id': city:lod\n surfaces:\n '@id': city:hasSurface\n '@context':\n '@vocab': http://example.com/vocab/city/attr#\n boundaries:\n '@id': city:boundaries\n '@container': '@list'\n '@type': '@id'\n\n # Topo-feature\n topology:\n '@type': '@id'\n '@id': geojson:topology\n '@context':\n references:\n '@id': geojson:relatedFeatures\n '@type': '@id'\n '@container': '@list'\n GeometryCollection: geojson:GeometryCollection\n LineString: geojson:LineString\n MultiLineString: geojson:MultiLineString\n MultiPoint: geojson:MultiPoint\n MultiPolygon: geojson:MultiPolygon\n Point: geojson:Point\n Polygon: geojson:Polygon\n Polyhedron: geojson:Polyhedron\n MultiPolyhedron: geojson:MultiPolyhedron\n Prism:\n '@id': geojson:Prism\n '@context':\n base: geojson:prismBase\n lower: geojson:prismLower\n upper: geojson:prismUpper\n MultiPrism:\n '@id': geojson:MultiPrism\n '@context':\n prisms: geojson:prisms\n parents:\n '@id': city:hasParent\n '@type': '@id'\n children:\n '@id': city:hasChild\n '@type': '@id'\n\n 'city:x':\n '@id': city:x\n '@type': xsd:decimal\n 'city:y':\n '@id': city:y\n '@type': xsd:decimal\n 'city:z':\n '@id': city:z\n '@type': xsd:decimal\n\n transform:\n '@id': city:hasTransform\n '@context':\n scale: city:scale\n translate: city:translate\n\n metadata:\n '@id': '@nest'\n '@context':\n identifier: dct:identifier\n geographicalExtent: city:geographicalExtent\n\n vertices: city:hasVertex\n\n extensions:\n '@id': city:hasExtension\n '@container': '@index'\n '@index': dct:identifier\n '@context':\n url: '@id'\n version: dct:version", + "inputs": { + "mediaTypes": [ + { + "id": "json", + "defaultExtension": "json", + "label": "JSON", + "mimeType": "application/json", + "extensions": [ + "json" + ] + } + ] + }, + "outputs": { + "mediaTypes": [ + { + "id": "ttl", + "defaultExtension": "ttl", + "label": "RDF/Turtle", + "mimeType": "text/turtle", + "aliases": [ + "turtle", + "rdf/turtle" + ], + "extensions": [ + "ttl" + ] + }, + { + "id": "rdf", + "defaultExtension": "rdf", + "label": "RDF/XML", + "mimeType": "application/rdf+xml", + "aliases": [ + "rdf/xml" + ], + "extensions": [ + "rdf" + ] + } + ] + } } ], "documentation": { @@ -98,7 +147,7 @@ "itemClass": "schema", "register": "icsm-csdm", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "link": "https://github.com/icsm-au/3d-csdm-schema", "sources": [], "maturity": "development", @@ -143,7 +192,7 @@ "itemClass": "schema", "register": "ogcincubator", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", @@ -198,7 +247,7 @@ "itemClass": "schema", "register": "icsm-csdm", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "link": "https://github.com/icsm-au/3d-csdm-schema", "sources": [], "maturity": "development", @@ -246,14 +295,14 @@ "itemClass": "schema", "register": "ogc-building-block-register", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", "dependsOn": [ - "ogc.geo.common.data_types.geojson", "ogc.geo.topo.datatypes.topology", - "ogc.geo.json-fg.feature" + "ogc.geo.json-fg.feature", + "ogc.geo.common.data_types.geojson" ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ @@ -303,7 +352,7 @@ "itemClass": "schema", "register": "ogc-building-block-register", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "shaclRules": { "ogc.geo.topo.features.topo-feature-collection": [ @@ -318,8 +367,8 @@ "maturity": "development", "scope": "unstable", "dependsOn": [ - "ogc.geo.json-fg.featureCollection-lenient", "ogc.geo.topo.features.topo-feature", + "ogc.geo.json-fg.featureCollection-lenient", "ogc.geo.common.data_types.geojson" ], "tags": [ @@ -361,7 +410,7 @@ "itemClass": "schema", "register": "ogcincubator", "version": "0.1", - "dateOfLastChange": "2024-10-20", + "dateOfLastChange": "2024-10-21", "sources": [], "maturity": "development", "scope": "unstable", @@ -371,20 +420,20 @@ "topology" ], "shaclRules": { - "ogc.geo.topo.features.topo-feature-collection": [ + "ogc.geo.topo.features.topo-feature": [ "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], - "ogc.geo.topo.features.topo-feature": [ + "ogc.geo.topo.features.topo-feature-collection": [ "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [], "dependsOn": [ - "ogc.geo.topo.features.topo-feature-collection", + "ogc.geo.topo.datatypes.topology", "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.features.topo-feature-collection" ], "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-polyhedron/context.jsonld", "schema": { diff --git a/build/tests/geo/topo/alignments/cityjson-transform/_report.json b/build/tests/geo/topo/alignments/cityjson-transform/_report.json index 5c75dd6..244a07e 100644 --- a/build/tests/geo/topo/alignments/cityjson-transform/_report.json +++ b/build/tests/geo/topo/alignments/cityjson-transform/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.alignments.cityjson-transform - CityJSON to TopoFeature transform", "bblockName": "CityJSON to TopoFeature transform", "bblockId": "ogc.geo.topo.alignments.cityjson-transform", - "generated": "2024-10-20T11:35:46.072928+00:00", + "generated": "2024-10-21T10:20:58.126851+00:00", "result": true, "items": [ { diff --git a/build/tests/geo/topo/alignments/cityjson-transform/example_1_1.validation_passed.txt b/build/tests/geo/topo/alignments/cityjson-transform/example_1_1.validation_passed.txt index 93b180b..1a585e3 100644 --- a/build/tests/geo/topo/alignments/cityjson-transform/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/alignments/cityjson-transform/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.alignments.cityjson-transform - CityJSON to TopoFeature transform -Generated 2024-10-20T11:35:46.058954+00:00 +Generated 2024-10-21T10:20:58.107730+00:00 === Files === Using example_1_1.json from examples === End Files === diff --git a/build/tests/geo/topo/alignments/cityjson-transform/example_2_1.validation_passed.txt b/build/tests/geo/topo/alignments/cityjson-transform/example_2_1.validation_passed.txt index 318eda3..b8a2742 100644 --- a/build/tests/geo/topo/alignments/cityjson-transform/example_2_1.validation_passed.txt +++ b/build/tests/geo/topo/alignments/cityjson-transform/example_2_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.alignments.cityjson-transform - CityJSON to TopoFeature transform -Generated 2024-10-20T11:35:46.072882+00:00 +Generated 2024-10-21T10:20:58.126767+00:00 === Files === Using example_2_1.json from examples === End Files === diff --git a/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_1_1.topo-feature-semantic-uplift.ttl b/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_1_1.topo-feature-semantic-uplift.ttl new file mode 100644 index 0000000..3101aba --- /dev/null +++ b/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_1_1.topo-feature-semantic-uplift.ttl @@ -0,0 +1,115 @@ +@prefix c: . +@prefix city: . +@prefix dct: . +@prefix geojson: . +@prefix gml: . +@prefix rdf: . +@prefix xsd: . + +c:city a city:City ; + city:geographicalExtent [ city:max [ city:x 1.0 ; + city:y 1.0 ; + city:z 1.0 ] ; + city:min [ city:x 0.0 ; + city:y 0.0 ; + city:z 0.0 ] ] ; + city:hasExtension ; + city:hasObject c:city-objects-id-1 ; + city:hasTransform [ city:scale [ city:x 0.001 ; + city:y 0.001 ; + city:z 0.001 ] ; + city:translate [ city:x 0.0 ; + city:y 0.0 ; + city:z 0.0 ] ] ; + city:hasVertex c:vertices-0, + c:vertices-1, + c:vertices-2, + c:vertices-3, + c:vertices-4, + c:vertices-5, + c:vertices-6, + c:vertices-7 ; + city:version "1.1" . + + dct:identifier "Generic" ; + dct:version "1.0" . + +c:city-objects-id-1 a ; + city:hasFunction "something" ; + city:hasGeometry [ city:hasSurface [ a gml:Solid ; + city:boundaries ( c:city-objects-id-1_geom_0 ) ] ; + city:lod "3.3" ] ; + dct:identifier "id-1" . + +c:city-objects-id-1_geom_0 a geojson:Feature ; + geojson:topology [ a geojson:Polyhedron ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1 ) ] . + +c:city-objects-id-1_geom_0_1 a geojson:Feature ; + geojson:topology [ a geojson:MultiPolygon ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1_1 c:city-objects-id-1_geom_0_1_2 c:city-objects-id-1_geom_0_1_3 c:city-objects-id-1_geom_0_1_4 c:city-objects-id-1_geom_0_1_5 c:city-objects-id-1_geom_0_1_6 ) ] . + +c:city-objects-id-1_geom_0_1_1 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1_1_1 ) ] . + +c:city-objects-id-1_geom_0_1_1_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-0 c:vertices-1 c:vertices-2 c:vertices-3 ) ] . + +c:city-objects-id-1_geom_0_1_2 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1_2_1 ) ] . + +c:city-objects-id-1_geom_0_1_2_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-4 c:vertices-5 c:vertices-1 c:vertices-0 ) ] . + +c:city-objects-id-1_geom_0_1_3 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1_3_1 ) ] . + +c:city-objects-id-1_geom_0_1_3_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-5 c:vertices-6 c:vertices-2 c:vertices-1 ) ] . + +c:city-objects-id-1_geom_0_1_4 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1_4_1 ) ] . + +c:city-objects-id-1_geom_0_1_4_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-6 c:vertices-7 c:vertices-3 c:vertices-2 ) ] . + +c:city-objects-id-1_geom_0_1_5 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1_5_1 ) ] . + +c:city-objects-id-1_geom_0_1_5_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-7 c:vertices-4 c:vertices-0 c:vertices-3 ) ] . + +c:city-objects-id-1_geom_0_1_6 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-id-1_geom_0_1_6_1 ) ] . + +c:city-objects-id-1_geom_0_1_6_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-7 c:vertices-6 c:vertices-5 c:vertices-4 ) ] . + +c:vertices-0 a . + +c:vertices-1 a . + +c:vertices-2 a . + +c:vertices-3 a . + +c:vertices-4 a . + +c:vertices-5 a . + +c:vertices-6 a . + +c:vertices-7 a . + diff --git a/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_2_1.topo-feature-semantic-uplift.ttl b/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_2_1.topo-feature-semantic-uplift.ttl new file mode 100644 index 0000000..5448a30 --- /dev/null +++ b/build/tests/geo/topo/alignments/cityjson-transform/transforms/example_2_1.topo-feature-semantic-uplift.ttl @@ -0,0 +1,4552 @@ +@prefix c: . +@prefix city: . +@prefix dct: . +@prefix geojson: . +@prefix gml: . +@prefix rdf: . +@prefix xsd: . + +c:city a city:City ; + city:geographicalExtent [ city:max [ city:x 300618.138 ; + city:y 5041289.394 ; + city:z 29.45 ] ; + city:min [ city:x 300578.235 ; + city:y 5041258.061 ; + city:z 13.688 ] ] ; + city:hasObject c:city-objects-Building_1, + c:city-objects-Building_2 ; + city:hasTransform [ city:scale [ city:x 0.001 ; + city:y 0.001 ; + city:z 0.001 ] ; + city:translate [ city:x 300578.235 ; + city:y 5041258.061 ; + city:z 13.688 ] ] ; + city:hasVertex c:vertices-0, + c:vertices-1, + c:vertices-10, + c:vertices-100, + c:vertices-101, + c:vertices-102, + c:vertices-103, + c:vertices-104, + c:vertices-105, + c:vertices-106, + c:vertices-107, + c:vertices-108, + c:vertices-109, + c:vertices-11, + c:vertices-110, + c:vertices-111, + c:vertices-112, + c:vertices-113, + c:vertices-114, + c:vertices-115, + c:vertices-116, + c:vertices-117, + c:vertices-118, + c:vertices-119, + c:vertices-12, + c:vertices-120, + c:vertices-121, + c:vertices-122, + c:vertices-123, + c:vertices-124, + c:vertices-125, + c:vertices-126, + c:vertices-127, + c:vertices-128, + c:vertices-129, + c:vertices-13, + c:vertices-130, + c:vertices-131, + c:vertices-132, + c:vertices-133, + c:vertices-134, + c:vertices-135, + c:vertices-136, + c:vertices-137, + c:vertices-138, + c:vertices-139, + c:vertices-14, + c:vertices-140, + c:vertices-141, + c:vertices-142, + c:vertices-143, + c:vertices-144, + c:vertices-145, + c:vertices-146, + c:vertices-147, + c:vertices-148, + c:vertices-149, + c:vertices-15, + c:vertices-150, + c:vertices-151, + c:vertices-152, + c:vertices-153, + c:vertices-154, + c:vertices-155, + c:vertices-156, + c:vertices-157, + c:vertices-158, + c:vertices-159, + c:vertices-16, + c:vertices-160, + c:vertices-161, + c:vertices-162, + c:vertices-163, + c:vertices-164, + c:vertices-165, + c:vertices-166, + c:vertices-167, + c:vertices-168, + c:vertices-169, + c:vertices-17, + c:vertices-170, + c:vertices-171, + c:vertices-172, + c:vertices-173, + c:vertices-174, + c:vertices-175, + c:vertices-176, + c:vertices-177, + c:vertices-178, + c:vertices-179, + c:vertices-18, + c:vertices-180, + c:vertices-181, + c:vertices-182, + c:vertices-183, + c:vertices-184, + c:vertices-185, + c:vertices-186, + c:vertices-187, + c:vertices-188, + c:vertices-189, + c:vertices-19, + c:vertices-190, + c:vertices-191, + c:vertices-192, + c:vertices-193, + c:vertices-194, + c:vertices-195, + c:vertices-196, + c:vertices-197, + c:vertices-198, + c:vertices-199, + c:vertices-2, + c:vertices-20, + c:vertices-200, + c:vertices-201, + c:vertices-202, + c:vertices-203, + c:vertices-204, + c:vertices-205, + c:vertices-206, + c:vertices-207, + c:vertices-208, + c:vertices-209, + c:vertices-21, + c:vertices-210, + c:vertices-211, + c:vertices-212, + c:vertices-213, + c:vertices-214, + c:vertices-215, + c:vertices-216, + c:vertices-217, + c:vertices-218, + c:vertices-219, + c:vertices-22, + c:vertices-220, + c:vertices-221, + c:vertices-222, + c:vertices-223, + c:vertices-224, + c:vertices-225, + c:vertices-226, + c:vertices-227, + c:vertices-228, + c:vertices-229, + c:vertices-23, + c:vertices-230, + c:vertices-231, + c:vertices-232, + c:vertices-233, + c:vertices-234, + c:vertices-235, + c:vertices-236, + c:vertices-237, + c:vertices-238, + c:vertices-239, + c:vertices-24, + c:vertices-240, + c:vertices-241, + c:vertices-242, + c:vertices-243, + c:vertices-244, + c:vertices-245, + c:vertices-246, + c:vertices-247, + c:vertices-248, + c:vertices-249, + c:vertices-25, + c:vertices-250, + c:vertices-251, + c:vertices-252, + c:vertices-253, + c:vertices-254, + c:vertices-26, + c:vertices-27, + c:vertices-28, + c:vertices-29, + c:vertices-3, + c:vertices-30, + c:vertices-31, + c:vertices-32, + c:vertices-33, + c:vertices-34, + c:vertices-35, + c:vertices-36, + c:vertices-37, + c:vertices-38, + c:vertices-39, + c:vertices-4, + c:vertices-40, + c:vertices-41, + c:vertices-42, + c:vertices-43, + c:vertices-44, + c:vertices-45, + c:vertices-46, + c:vertices-47, + c:vertices-48, + c:vertices-49, + c:vertices-5, + c:vertices-50, + c:vertices-51, + c:vertices-52, + c:vertices-53, + c:vertices-54, + c:vertices-55, + c:vertices-56, + c:vertices-57, + c:vertices-58, + c:vertices-59, + c:vertices-6, + c:vertices-60, + c:vertices-61, + c:vertices-62, + c:vertices-63, + c:vertices-64, + c:vertices-65, + c:vertices-66, + c:vertices-67, + c:vertices-68, + c:vertices-69, + c:vertices-7, + c:vertices-70, + c:vertices-71, + c:vertices-72, + c:vertices-73, + c:vertices-74, + c:vertices-75, + c:vertices-76, + c:vertices-77, + c:vertices-78, + c:vertices-79, + c:vertices-8, + c:vertices-80, + c:vertices-81, + c:vertices-82, + c:vertices-83, + c:vertices-84, + c:vertices-85, + c:vertices-86, + c:vertices-87, + c:vertices-88, + c:vertices-89, + c:vertices-9, + c:vertices-90, + c:vertices-91, + c:vertices-92, + c:vertices-93, + c:vertices-94, + c:vertices-95, + c:vertices-96, + c:vertices-97, + c:vertices-98, + c:vertices-99 ; + city:version "1.1" . + +c:city-objects-Building_1 a city:Building ; + city:hasGeometry [ city:hasSurface [ a city:RoofSurface, + gml:MultiSurface ; + city:boundaries ( c:city-objects-Building_1_geom_2 ) ], + [ a city:GroundSurface, + gml:MultiSurface ; + city:boundaries ( c:city-objects-Building_1_geom_0 ) ], + [ a city:WallSurface, + gml:MultiSurface ; + city:boundaries ( c:city-objects-Building_1_geom_1 ) ] ; + city:lod "2" ] ; + dct:identifier "Building_1" . + +c:city-objects-Building_1_geom_0 a geojson:Feature ; + geojson:topology [ a geojson:MultiPolygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_1 c:city-objects-Building_1_geom_0_2 c:city-objects-Building_1_geom_0_3 c:city-objects-Building_1_geom_0_4 c:city-objects-Building_1_geom_0_5 c:city-objects-Building_1_geom_0_6 c:city-objects-Building_1_geom_0_7 c:city-objects-Building_1_geom_0_8 c:city-objects-Building_1_geom_0_9 ) ] . + +c:city-objects-Building_1_geom_0_1 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_1_1 ) ] . + +c:city-objects-Building_1_geom_0_1_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-0 c:vertices-1 c:vertices-2 ) ] . + +c:city-objects-Building_1_geom_0_2 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_2_1 ) ] . + +c:city-objects-Building_1_geom_0_2_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-3 c:vertices-4 c:vertices-5 ) ] . + +c:city-objects-Building_1_geom_0_3 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_3_1 ) ] . + +c:city-objects-Building_1_geom_0_3_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-4 c:vertices-6 c:vertices-5 ) ] . + +c:city-objects-Building_1_geom_0_4 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_4_1 ) ] . + +c:city-objects-Building_1_geom_0_4_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-2 c:vertices-7 c:vertices-6 ) ] . + +c:city-objects-Building_1_geom_0_5 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_5_1 ) ] . + +c:city-objects-Building_1_geom_0_5_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-5 c:vertices-8 c:vertices-9 ) ] . + +c:city-objects-Building_1_geom_0_6 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_6_1 ) ] . + +c:city-objects-Building_1_geom_0_6_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-0 c:vertices-2 c:vertices-4 ) ] . + +c:city-objects-Building_1_geom_0_7 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_7_1 ) ] . + +c:city-objects-Building_1_geom_0_7_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-4 c:vertices-2 c:vertices-6 ) ] . + +c:city-objects-Building_1_geom_0_8 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_8_1 ) ] . + +c:city-objects-Building_1_geom_0_8_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-5 c:vertices-6 c:vertices-8 ) ] . + +c:city-objects-Building_1_geom_0_9 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_0_9_1 ) ] . + +c:city-objects-Building_1_geom_0_9_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-8 c:vertices-10 c:vertices-9 ) ] . + +c:city-objects-Building_1_geom_1 a geojson:Feature ; + geojson:topology [ a geojson:MultiPolygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_1 c:city-objects-Building_1_geom_1_2 c:city-objects-Building_1_geom_1_3 c:city-objects-Building_1_geom_1_4 c:city-objects-Building_1_geom_1_5 c:city-objects-Building_1_geom_1_6 c:city-objects-Building_1_geom_1_7 c:city-objects-Building_1_geom_1_8 c:city-objects-Building_1_geom_1_9 c:city-objects-Building_1_geom_1_10 c:city-objects-Building_1_geom_1_11 c:city-objects-Building_1_geom_1_12 c:city-objects-Building_1_geom_1_13 c:city-objects-Building_1_geom_1_14 c:city-objects-Building_1_geom_1_15 c:city-objects-Building_1_geom_1_16 c:city-objects-Building_1_geom_1_17 c:city-objects-Building_1_geom_1_18 c:city-objects-Building_1_geom_1_19 c:city-objects-Building_1_geom_1_20 c:city-objects-Building_1_geom_1_21 c:city-objects-Building_1_geom_1_22 c:city-objects-Building_1_geom_1_23 c:city-objects-Building_1_geom_1_24 c:city-objects-Building_1_geom_1_25 c:city-objects-Building_1_geom_1_26 c:city-objects-Building_1_geom_1_27 c:city-objects-Building_1_geom_1_28 c:city-objects-Building_1_geom_1_29 c:city-objects-Building_1_geom_1_30 c:city-objects-Building_1_geom_1_31 c:city-objects-Building_1_geom_1_32 c:city-objects-Building_1_geom_1_33 c:city-objects-Building_1_geom_1_34 c:city-objects-Building_1_geom_1_35 c:city-objects-Building_1_geom_1_36 c:city-objects-Building_1_geom_1_37 c:city-objects-Building_1_geom_1_38 c:city-objects-Building_1_geom_1_39 c:city-objects-Building_1_geom_1_40 c:city-objects-Building_1_geom_1_41 c:city-objects-Building_1_geom_1_42 c:city-objects-Building_1_geom_1_43 c:city-objects-Building_1_geom_1_44 c:city-objects-Building_1_geom_1_45 c:city-objects-Building_1_geom_1_46 c:city-objects-Building_1_geom_1_47 c:city-objects-Building_1_geom_1_48 c:city-objects-Building_1_geom_1_49 c:city-objects-Building_1_geom_1_50 c:city-objects-Building_1_geom_1_51 c:city-objects-Building_1_geom_1_52 c:city-objects-Building_1_geom_1_53 c:city-objects-Building_1_geom_1_54 c:city-objects-Building_1_geom_1_55 c:city-objects-Building_1_geom_1_56 c:city-objects-Building_1_geom_1_57 c:city-objects-Building_1_geom_1_58 c:city-objects-Building_1_geom_1_59 c:city-objects-Building_1_geom_1_60 c:city-objects-Building_1_geom_1_61 ) ] . + +c:city-objects-Building_1_geom_1_1 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_1_1 ) ] . + +c:city-objects-Building_1_geom_1_10 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_10_1 ) ] . + +c:city-objects-Building_1_geom_1_10_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-18 c:vertices-17 c:vertices-15 ) ] . + +c:city-objects-Building_1_geom_1_11 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_11_1 ) ] . + +c:city-objects-Building_1_geom_1_11_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-19 c:vertices-20 ) ] . + +c:city-objects-Building_1_geom_1_12 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_12_1 ) ] . + +c:city-objects-Building_1_geom_1_12_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-20 c:vertices-19 c:vertices-21 ) ] . + +c:city-objects-Building_1_geom_1_13 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_13_1 ) ] . + +c:city-objects-Building_1_geom_1_13_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-21 c:vertices-19 c:vertices-7 ) ] . + +c:city-objects-Building_1_geom_1_14 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_14_1 ) ] . + +c:city-objects-Building_1_geom_1_14_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-3 c:vertices-20 c:vertices-4 ) ] . + +c:city-objects-Building_1_geom_1_15 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_15_1 ) ] . + +c:city-objects-Building_1_geom_1_15_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-21 c:vertices-7 c:vertices-2 ) ] . + +c:city-objects-Building_1_geom_1_16 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_16_1 ) ] . + +c:city-objects-Building_1_geom_1_16_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-20 c:vertices-3 ) ] . + +c:city-objects-Building_1_geom_1_17 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_17_1 ) ] . + +c:city-objects-Building_1_geom_1_17_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-22 c:vertices-2 c:vertices-1 ) ] . + +c:city-objects-Building_1_geom_1_18 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_18_1 ) ] . + +c:city-objects-Building_1_geom_1_18_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-22 c:vertices-21 c:vertices-2 ) ] . + +c:city-objects-Building_1_geom_1_19 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_19_1 ) ] . + +c:city-objects-Building_1_geom_1_19_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-23 c:vertices-1 c:vertices-0 ) ] . + +c:city-objects-Building_1_geom_1_1_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-11 c:vertices-12 c:vertices-13 ) ] . + +c:city-objects-Building_1_geom_1_2 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_2_1 ) ] . + +c:city-objects-Building_1_geom_1_20 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_20_1 ) ] . + +c:city-objects-Building_1_geom_1_20_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-23 c:vertices-22 c:vertices-1 ) ] . + +c:city-objects-Building_1_geom_1_21 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_21_1 ) ] . + +c:city-objects-Building_1_geom_1_21_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-23 c:vertices-4 c:vertices-20 ) ] . + +c:city-objects-Building_1_geom_1_22 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_22_1 ) ] . + +c:city-objects-Building_1_geom_1_22_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-23 c:vertices-0 c:vertices-4 ) ] . + +c:city-objects-Building_1_geom_1_23 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_23_1 ) ] . + +c:city-objects-Building_1_geom_1_23_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-19 c:vertices-24 c:vertices-6 ) ] . + +c:city-objects-Building_1_geom_1_24 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_24_1 ) ] . + +c:city-objects-Building_1_geom_1_24_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-19 c:vertices-6 c:vertices-7 ) ] . + +c:city-objects-Building_1_geom_1_25 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_25_1 ) ] . + +c:city-objects-Building_1_geom_1_25_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-24 c:vertices-25 c:vertices-8 ) ] . + +c:city-objects-Building_1_geom_1_26 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_26_1 ) ] . + +c:city-objects-Building_1_geom_1_26_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-24 c:vertices-8 c:vertices-6 ) ] . + +c:city-objects-Building_1_geom_1_27 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_27_1 ) ] . + +c:city-objects-Building_1_geom_1_27_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-25 c:vertices-10 c:vertices-8 ) ] . + +c:city-objects-Building_1_geom_1_28 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_28_1 ) ] . + +c:city-objects-Building_1_geom_1_28_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-25 c:vertices-14 c:vertices-10 ) ] . + +c:city-objects-Building_1_geom_1_29 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_29_1 ) ] . + +c:city-objects-Building_1_geom_1_29_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-26 c:vertices-27 c:vertices-28 ) ] . + +c:city-objects-Building_1_geom_1_2_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-11 c:vertices-9 c:vertices-12 ) ] . + +c:city-objects-Building_1_geom_1_3 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_3_1 ) ] . + +c:city-objects-Building_1_geom_1_30 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_30_1 ) ] . + +c:city-objects-Building_1_geom_1_30_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-29 c:vertices-26 c:vertices-28 ) ] . + +c:city-objects-Building_1_geom_1_31 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_31_1 ) ] . + +c:city-objects-Building_1_geom_1_31_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-30 c:vertices-26 c:vertices-29 ) ] . + +c:city-objects-Building_1_geom_1_32 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_32_1 ) ] . + +c:city-objects-Building_1_geom_1_32_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-30 c:vertices-31 c:vertices-26 ) ] . + +c:city-objects-Building_1_geom_1_33 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_33_1 ) ] . + +c:city-objects-Building_1_geom_1_33_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-32 c:vertices-13 c:vertices-12 ) ] . + +c:city-objects-Building_1_geom_1_34 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_34_1 ) ] . + +c:city-objects-Building_1_geom_1_34_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-32 c:vertices-12 c:vertices-33 ) ] . + +c:city-objects-Building_1_geom_1_35 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_35_1 ) ] . + +c:city-objects-Building_1_geom_1_35_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-34 c:vertices-32 c:vertices-33 ) ] . + +c:city-objects-Building_1_geom_1_36 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_36_1 ) ] . + +c:city-objects-Building_1_geom_1_36_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-34 c:vertices-33 c:vertices-35 ) ] . + +c:city-objects-Building_1_geom_1_37 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_37_1 ) ] . + +c:city-objects-Building_1_geom_1_37_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-36 c:vertices-37 c:vertices-38 ) ] . + +c:city-objects-Building_1_geom_1_38 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_38_1 ) ] . + +c:city-objects-Building_1_geom_1_38_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-37 c:vertices-39 c:vertices-38 ) ] . + +c:city-objects-Building_1_geom_1_39 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_39_1 ) ] . + +c:city-objects-Building_1_geom_1_39_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-40 c:vertices-41 c:vertices-42 ) ] . + +c:city-objects-Building_1_geom_1_3_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-12 c:vertices-10 c:vertices-14 ) ] . + +c:city-objects-Building_1_geom_1_4 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_4_1 ) ] . + +c:city-objects-Building_1_geom_1_40 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_40_1 ) ] . + +c:city-objects-Building_1_geom_1_40_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-40 c:vertices-42 c:vertices-43 ) ] . + +c:city-objects-Building_1_geom_1_41 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_41_1 ) ] . + +c:city-objects-Building_1_geom_1_41_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-44 c:vertices-40 c:vertices-43 ) ] . + +c:city-objects-Building_1_geom_1_42 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_42_1 ) ] . + +c:city-objects-Building_1_geom_1_42_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-45 c:vertices-40 c:vertices-44 ) ] . + +c:city-objects-Building_1_geom_1_43 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_43_1 ) ] . + +c:city-objects-Building_1_geom_1_43_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-45 c:vertices-44 c:vertices-46 ) ] . + +c:city-objects-Building_1_geom_1_44 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_44_1 ) ] . + +c:city-objects-Building_1_geom_1_44_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-44 c:vertices-47 c:vertices-46 ) ] . + +c:city-objects-Building_1_geom_1_45 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_45_1 ) ] . + +c:city-objects-Building_1_geom_1_45_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-36 c:vertices-46 c:vertices-47 ) ] . + +c:city-objects-Building_1_geom_1_46 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_46_1 ) ] . + +c:city-objects-Building_1_geom_1_46_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-36 c:vertices-47 c:vertices-37 ) ] . + +c:city-objects-Building_1_geom_1_47 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_47_1 ) ] . + +c:city-objects-Building_1_geom_1_47_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-18 c:vertices-35 c:vertices-17 ) ] . + +c:city-objects-Building_1_geom_1_48 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_48_1 ) ] . + +c:city-objects-Building_1_geom_1_48_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-18 c:vertices-34 c:vertices-35 ) ] . + +c:city-objects-Building_1_geom_1_49 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_49_1 ) ] . + +c:city-objects-Building_1_geom_1_49_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-48 c:vertices-49 c:vertices-50 ) ] . + +c:city-objects-Building_1_geom_1_4_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-9 c:vertices-10 c:vertices-12 ) ] . + +c:city-objects-Building_1_geom_1_5 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_5_1 ) ] . + +c:city-objects-Building_1_geom_1_50 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_50_1 ) ] . + +c:city-objects-Building_1_geom_1_50_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-48 c:vertices-50 c:vertices-51 ) ] . + +c:city-objects-Building_1_geom_1_51 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_51_1 ) ] . + +c:city-objects-Building_1_geom_1_51_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-41 c:vertices-51 c:vertices-42 ) ] . + +c:city-objects-Building_1_geom_1_52 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_52_1 ) ] . + +c:city-objects-Building_1_geom_1_52_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-41 c:vertices-48 c:vertices-51 ) ] . + +c:city-objects-Building_1_geom_1_53 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_53_1 ) ] . + +c:city-objects-Building_1_geom_1_53_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-52 c:vertices-27 c:vertices-53 ) ] . + +c:city-objects-Building_1_geom_1_54 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_54_1 ) ] . + +c:city-objects-Building_1_geom_1_54_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-52 c:vertices-28 c:vertices-27 ) ] . + +c:city-objects-Building_1_geom_1_55 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_55_1 ) ] . + +c:city-objects-Building_1_geom_1_55_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-54 c:vertices-31 c:vertices-30 ) ] . + +c:city-objects-Building_1_geom_1_56 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_56_1 ) ] . + +c:city-objects-Building_1_geom_1_56_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-54 c:vertices-55 c:vertices-31 ) ] . + +c:city-objects-Building_1_geom_1_57 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_57_1 ) ] . + +c:city-objects-Building_1_geom_1_57_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-56 c:vertices-52 c:vertices-53 ) ] . + +c:city-objects-Building_1_geom_1_58 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_58_1 ) ] . + +c:city-objects-Building_1_geom_1_58_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-55 c:vertices-56 c:vertices-53 ) ] . + +c:city-objects-Building_1_geom_1_59 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_59_1 ) ] . + +c:city-objects-Building_1_geom_1_59_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-54 c:vertices-56 c:vertices-55 ) ] . + +c:city-objects-Building_1_geom_1_5_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-15 c:vertices-5 c:vertices-11 ) ] . + +c:city-objects-Building_1_geom_1_6 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_6_1 ) ] . + +c:city-objects-Building_1_geom_1_60 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_60_1 ) ] . + +c:city-objects-Building_1_geom_1_60_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-38 c:vertices-39 c:vertices-49 ) ] . + +c:city-objects-Building_1_geom_1_61 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_61_1 ) ] . + +c:city-objects-Building_1_geom_1_61_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-39 c:vertices-50 c:vertices-49 ) ] . + +c:city-objects-Building_1_geom_1_6_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-5 c:vertices-9 c:vertices-11 ) ] . + +c:city-objects-Building_1_geom_1_7 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_7_1 ) ] . + +c:city-objects-Building_1_geom_1_7_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-3 c:vertices-17 ) ] . + +c:city-objects-Building_1_geom_1_8 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_8_1 ) ] . + +c:city-objects-Building_1_geom_1_8_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-17 c:vertices-5 c:vertices-15 ) ] . + +c:city-objects-Building_1_geom_1_9 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_1_9_1 ) ] . + +c:city-objects-Building_1_geom_1_9_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-3 c:vertices-5 c:vertices-17 ) ] . + +c:city-objects-Building_1_geom_2 a geojson:Feature ; + geojson:topology [ a geojson:MultiPolygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_1 c:city-objects-Building_1_geom_2_2 c:city-objects-Building_1_geom_2_3 c:city-objects-Building_1_geom_2_4 c:city-objects-Building_1_geom_2_5 c:city-objects-Building_1_geom_2_6 c:city-objects-Building_1_geom_2_7 c:city-objects-Building_1_geom_2_8 c:city-objects-Building_1_geom_2_9 c:city-objects-Building_1_geom_2_10 c:city-objects-Building_1_geom_2_11 c:city-objects-Building_1_geom_2_12 c:city-objects-Building_1_geom_2_13 c:city-objects-Building_1_geom_2_14 c:city-objects-Building_1_geom_2_15 c:city-objects-Building_1_geom_2_16 c:city-objects-Building_1_geom_2_17 c:city-objects-Building_1_geom_2_18 c:city-objects-Building_1_geom_2_19 c:city-objects-Building_1_geom_2_20 c:city-objects-Building_1_geom_2_21 c:city-objects-Building_1_geom_2_22 c:city-objects-Building_1_geom_2_23 c:city-objects-Building_1_geom_2_24 c:city-objects-Building_1_geom_2_25 c:city-objects-Building_1_geom_2_26 c:city-objects-Building_1_geom_2_27 c:city-objects-Building_1_geom_2_28 c:city-objects-Building_1_geom_2_29 c:city-objects-Building_1_geom_2_30 c:city-objects-Building_1_geom_2_31 c:city-objects-Building_1_geom_2_32 c:city-objects-Building_1_geom_2_33 c:city-objects-Building_1_geom_2_34 c:city-objects-Building_1_geom_2_35 c:city-objects-Building_1_geom_2_36 c:city-objects-Building_1_geom_2_37 c:city-objects-Building_1_geom_2_38 c:city-objects-Building_1_geom_2_39 c:city-objects-Building_1_geom_2_40 ) ] . + +c:city-objects-Building_1_geom_2_1 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_1_1 ) ] . + +c:city-objects-Building_1_geom_2_10 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_10_1 ) ] . + +c:city-objects-Building_1_geom_2_10_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-32 c:vertices-11 c:vertices-13 ) ] . + +c:city-objects-Building_1_geom_2_11 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_11_1 ) ] . + +c:city-objects-Building_1_geom_2_11_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-38 c:vertices-49 c:vertices-46 ) ] . + +c:city-objects-Building_1_geom_2_12 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_12_1 ) ] . + +c:city-objects-Building_1_geom_2_12_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-45 c:vertices-46 c:vertices-41 ) ] . + +c:city-objects-Building_1_geom_2_13 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_13_1 ) ] . + +c:city-objects-Building_1_geom_2_13_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-36 c:vertices-38 c:vertices-46 ) ] . + +c:city-objects-Building_1_geom_2_14 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_14_1 ) ] . + +c:city-objects-Building_1_geom_2_14_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-45 c:vertices-41 c:vertices-40 ) ] . + +c:city-objects-Building_1_geom_2_15 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_15_1 ) ] . + +c:city-objects-Building_1_geom_2_15_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-46 c:vertices-49 c:vertices-41 ) ] . + +c:city-objects-Building_1_geom_2_16 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_16_1 ) ] . + +c:city-objects-Building_1_geom_2_16_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-41 c:vertices-49 c:vertices-48 ) ] . + +c:city-objects-Building_1_geom_2_17 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_17_1 ) ] . + +c:city-objects-Building_1_geom_2_17_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-50 c:vertices-12 c:vertices-14 ) ] . + +c:city-objects-Building_1_geom_2_18 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_18_1 ) ] . + +c:city-objects-Building_1_geom_2_18_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-39 c:vertices-12 c:vertices-50 ) ] . + +c:city-objects-Building_1_geom_2_19 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_19_1 ) ] . + +c:city-objects-Building_1_geom_2_19_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-19 c:vertices-27 c:vertices-24 ) ] . + +c:city-objects-Building_1_geom_2_1_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-20 c:vertices-21 c:vertices-22 ) ] . + +c:city-objects-Building_1_geom_2_2 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_2_1 ) ] . + +c:city-objects-Building_1_geom_2_20 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_20_1 ) ] . + +c:city-objects-Building_1_geom_2_20_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-53 c:vertices-27 c:vertices-19 ) ] . + +c:city-objects-Building_1_geom_2_21 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_21_1 ) ] . + +c:city-objects-Building_1_geom_2_21_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-35 c:vertices-31 ) ] . + +c:city-objects-Building_1_geom_2_22 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_22_1 ) ] . + +c:city-objects-Building_1_geom_2_22_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-31 c:vertices-37 c:vertices-44 ) ] . + +c:city-objects-Building_1_geom_2_23 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_23_1 ) ] . + +c:city-objects-Building_1_geom_2_23_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-31 c:vertices-55 ) ] . + +c:city-objects-Building_1_geom_2_24 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_24_1 ) ] . + +c:city-objects-Building_1_geom_2_24_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-27 c:vertices-43 c:vertices-51 ) ] . + +c:city-objects-Building_1_geom_2_25 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_25_1 ) ] . + +c:city-objects-Building_1_geom_2_25_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-27 c:vertices-51 c:vertices-24 ) ] . + +c:city-objects-Building_1_geom_2_26 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_26_1 ) ] . + +c:city-objects-Building_1_geom_2_26_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-35 c:vertices-37 c:vertices-31 ) ] . + +c:city-objects-Building_1_geom_2_27 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_27_1 ) ] . + +c:city-objects-Building_1_geom_2_27_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-26 c:vertices-43 c:vertices-27 ) ] . + +c:city-objects-Building_1_geom_2_28 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_28_1 ) ] . + +c:city-objects-Building_1_geom_2_28_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-31 c:vertices-44 c:vertices-26 ) ] . + +c:city-objects-Building_1_geom_2_29 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_29_1 ) ] . + +c:city-objects-Building_1_geom_2_29_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-53 c:vertices-19 ) ] . + +c:city-objects-Building_1_geom_2_2_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-23 c:vertices-20 c:vertices-22 ) ] . + +c:city-objects-Building_1_geom_2_3 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_3_1 ) ] . + +c:city-objects-Building_1_geom_2_30 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_30_1 ) ] . + +c:city-objects-Building_1_geom_2_30_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-26 c:vertices-44 c:vertices-43 ) ] . + +c:city-objects-Building_1_geom_2_31 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_31_1 ) ] . + +c:city-objects-Building_1_geom_2_31_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-37 c:vertices-47 c:vertices-44 ) ] . + +c:city-objects-Building_1_geom_2_32 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_32_1 ) ] . + +c:city-objects-Building_1_geom_2_32_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-55 c:vertices-53 ) ] . + +c:city-objects-Building_1_geom_2_33 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_33_1 ) ] . + +c:city-objects-Building_1_geom_2_33_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-43 c:vertices-42 c:vertices-51 ) ] . + +c:city-objects-Building_1_geom_2_34 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_34_1 ) ] . + +c:city-objects-Building_1_geom_2_34_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-50 c:vertices-14 c:vertices-25 ) ] . + +c:city-objects-Building_1_geom_2_35 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_35_1 ) ] . + +c:city-objects-Building_1_geom_2_35_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-33 c:vertices-12 c:vertices-39 ) ] . + +c:city-objects-Building_1_geom_2_36 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_36_1 ) ] . + +c:city-objects-Building_1_geom_2_36_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-35 c:vertices-33 c:vertices-37 ) ] . + +c:city-objects-Building_1_geom_2_37 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_37_1 ) ] . + +c:city-objects-Building_1_geom_2_37_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-24 c:vertices-51 c:vertices-25 ) ] . + +c:city-objects-Building_1_geom_2_38 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_38_1 ) ] . + +c:city-objects-Building_1_geom_2_38_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-16 c:vertices-17 c:vertices-35 ) ] . + +c:city-objects-Building_1_geom_2_39 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_39_1 ) ] . + +c:city-objects-Building_1_geom_2_39_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-51 c:vertices-50 c:vertices-25 ) ] . + +c:city-objects-Building_1_geom_2_3_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-52 c:vertices-29 c:vertices-28 ) ] . + +c:city-objects-Building_1_geom_2_4 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_4_1 ) ] . + +c:city-objects-Building_1_geom_2_40 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_40_1 ) ] . + +c:city-objects-Building_1_geom_2_40_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-37 c:vertices-33 c:vertices-39 ) ] . + +c:city-objects-Building_1_geom_2_4_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-56 c:vertices-29 c:vertices-52 ) ] . + +c:city-objects-Building_1_geom_2_5 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_5_1 ) ] . + +c:city-objects-Building_1_geom_2_5_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-54 c:vertices-29 c:vertices-56 ) ] . + +c:city-objects-Building_1_geom_2_6 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_6_1 ) ] . + +c:city-objects-Building_1_geom_2_6_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-54 c:vertices-30 c:vertices-29 ) ] . + +c:city-objects-Building_1_geom_2_7 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_7_1 ) ] . + +c:city-objects-Building_1_geom_2_7_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-15 c:vertices-11 c:vertices-32 ) ] . + +c:city-objects-Building_1_geom_2_8 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_8_1 ) ] . + +c:city-objects-Building_1_geom_2_8_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-18 c:vertices-15 c:vertices-34 ) ] . + +c:city-objects-Building_1_geom_2_9 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_1_geom_2_9_1 ) ] . + +c:city-objects-Building_1_geom_2_9_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-34 c:vertices-15 c:vertices-32 ) ] . + +c:city-objects-Building_2 a city:Building ; + city:hasGeometry [ city:hasSurface [ a city:WallSurface, + gml:MultiSurface ; + city:boundaries ( c:city-objects-Building_2_geom_1 ) ], + [ a city:GroundSurface, + gml:MultiSurface ; + city:boundaries ( c:city-objects-Building_2_geom_0 ) ], + [ a city:RoofSurface, + gml:MultiSurface ; + city:boundaries ( c:city-objects-Building_2_geom_2 ) ] ; + city:lod "2" ] ; + dct:identifier "Building_2" . + +c:city-objects-Building_2_geom_0 a geojson:Feature ; + geojson:topology [ a geojson:MultiPolygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_1 c:city-objects-Building_2_geom_0_2 c:city-objects-Building_2_geom_0_3 c:city-objects-Building_2_geom_0_4 c:city-objects-Building_2_geom_0_5 c:city-objects-Building_2_geom_0_6 c:city-objects-Building_2_geom_0_7 ) ] . + +c:city-objects-Building_2_geom_0_1 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_1_1 ) ] . + +c:city-objects-Building_2_geom_0_1_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-57 c:vertices-58 c:vertices-59 ) ] . + +c:city-objects-Building_2_geom_0_2 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_2_1 ) ] . + +c:city-objects-Building_2_geom_0_2_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-59 c:vertices-60 c:vertices-61 ) ] . + +c:city-objects-Building_2_geom_0_3 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_3_1 ) ] . + +c:city-objects-Building_2_geom_0_3_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-59 c:vertices-61 c:vertices-62 ) ] . + +c:city-objects-Building_2_geom_0_4 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_4_1 ) ] . + +c:city-objects-Building_2_geom_0_4_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-63 c:vertices-59 c:vertices-64 ) ] . + +c:city-objects-Building_2_geom_0_5 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_5_1 ) ] . + +c:city-objects-Building_2_geom_0_5_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-57 c:vertices-59 c:vertices-63 ) ] . + +c:city-objects-Building_2_geom_0_6 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_6_1 ) ] . + +c:city-objects-Building_2_geom_0_6_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-59 c:vertices-65 c:vertices-60 ) ] . + +c:city-objects-Building_2_geom_0_7 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_0_7_1 ) ] . + +c:city-objects-Building_2_geom_0_7_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-58 c:vertices-65 c:vertices-59 ) ] . + +c:city-objects-Building_2_geom_1 a geojson:Feature ; + geojson:topology [ a geojson:MultiPolygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_1 c:city-objects-Building_2_geom_1_2 c:city-objects-Building_2_geom_1_3 c:city-objects-Building_2_geom_1_4 c:city-objects-Building_2_geom_1_5 c:city-objects-Building_2_geom_1_6 c:city-objects-Building_2_geom_1_7 c:city-objects-Building_2_geom_1_8 c:city-objects-Building_2_geom_1_9 c:city-objects-Building_2_geom_1_10 c:city-objects-Building_2_geom_1_11 c:city-objects-Building_2_geom_1_12 c:city-objects-Building_2_geom_1_13 c:city-objects-Building_2_geom_1_14 c:city-objects-Building_2_geom_1_15 c:city-objects-Building_2_geom_1_16 c:city-objects-Building_2_geom_1_17 c:city-objects-Building_2_geom_1_18 c:city-objects-Building_2_geom_1_19 c:city-objects-Building_2_geom_1_20 c:city-objects-Building_2_geom_1_21 c:city-objects-Building_2_geom_1_22 c:city-objects-Building_2_geom_1_23 c:city-objects-Building_2_geom_1_24 c:city-objects-Building_2_geom_1_25 c:city-objects-Building_2_geom_1_26 c:city-objects-Building_2_geom_1_27 c:city-objects-Building_2_geom_1_28 c:city-objects-Building_2_geom_1_29 c:city-objects-Building_2_geom_1_30 c:city-objects-Building_2_geom_1_31 c:city-objects-Building_2_geom_1_32 c:city-objects-Building_2_geom_1_33 c:city-objects-Building_2_geom_1_34 c:city-objects-Building_2_geom_1_35 c:city-objects-Building_2_geom_1_36 c:city-objects-Building_2_geom_1_37 c:city-objects-Building_2_geom_1_38 c:city-objects-Building_2_geom_1_39 c:city-objects-Building_2_geom_1_40 c:city-objects-Building_2_geom_1_41 c:city-objects-Building_2_geom_1_42 c:city-objects-Building_2_geom_1_43 c:city-objects-Building_2_geom_1_44 c:city-objects-Building_2_geom_1_45 c:city-objects-Building_2_geom_1_46 c:city-objects-Building_2_geom_1_47 c:city-objects-Building_2_geom_1_48 c:city-objects-Building_2_geom_1_49 c:city-objects-Building_2_geom_1_50 c:city-objects-Building_2_geom_1_51 c:city-objects-Building_2_geom_1_52 c:city-objects-Building_2_geom_1_53 c:city-objects-Building_2_geom_1_54 c:city-objects-Building_2_geom_1_55 c:city-objects-Building_2_geom_1_56 c:city-objects-Building_2_geom_1_57 c:city-objects-Building_2_geom_1_58 c:city-objects-Building_2_geom_1_59 c:city-objects-Building_2_geom_1_60 c:city-objects-Building_2_geom_1_61 c:city-objects-Building_2_geom_1_62 c:city-objects-Building_2_geom_1_63 c:city-objects-Building_2_geom_1_64 c:city-objects-Building_2_geom_1_65 c:city-objects-Building_2_geom_1_66 c:city-objects-Building_2_geom_1_67 c:city-objects-Building_2_geom_1_68 c:city-objects-Building_2_geom_1_69 c:city-objects-Building_2_geom_1_70 c:city-objects-Building_2_geom_1_71 c:city-objects-Building_2_geom_1_72 c:city-objects-Building_2_geom_1_73 c:city-objects-Building_2_geom_1_74 c:city-objects-Building_2_geom_1_75 c:city-objects-Building_2_geom_1_76 c:city-objects-Building_2_geom_1_77 c:city-objects-Building_2_geom_1_78 c:city-objects-Building_2_geom_1_79 c:city-objects-Building_2_geom_1_80 c:city-objects-Building_2_geom_1_81 c:city-objects-Building_2_geom_1_82 c:city-objects-Building_2_geom_1_83 c:city-objects-Building_2_geom_1_84 c:city-objects-Building_2_geom_1_85 c:city-objects-Building_2_geom_1_86 c:city-objects-Building_2_geom_1_87 c:city-objects-Building_2_geom_1_88 c:city-objects-Building_2_geom_1_89 c:city-objects-Building_2_geom_1_90 c:city-objects-Building_2_geom_1_91 c:city-objects-Building_2_geom_1_92 c:city-objects-Building_2_geom_1_93 c:city-objects-Building_2_geom_1_94 c:city-objects-Building_2_geom_1_95 c:city-objects-Building_2_geom_1_96 c:city-objects-Building_2_geom_1_97 c:city-objects-Building_2_geom_1_98 c:city-objects-Building_2_geom_1_99 c:city-objects-Building_2_geom_1_100 c:city-objects-Building_2_geom_1_101 c:city-objects-Building_2_geom_1_102 c:city-objects-Building_2_geom_1_103 c:city-objects-Building_2_geom_1_104 c:city-objects-Building_2_geom_1_105 c:city-objects-Building_2_geom_1_106 c:city-objects-Building_2_geom_1_107 c:city-objects-Building_2_geom_1_108 c:city-objects-Building_2_geom_1_109 c:city-objects-Building_2_geom_1_110 c:city-objects-Building_2_geom_1_111 c:city-objects-Building_2_geom_1_112 c:city-objects-Building_2_geom_1_113 c:city-objects-Building_2_geom_1_114 c:city-objects-Building_2_geom_1_115 c:city-objects-Building_2_geom_1_116 c:city-objects-Building_2_geom_1_117 c:city-objects-Building_2_geom_1_118 c:city-objects-Building_2_geom_1_119 c:city-objects-Building_2_geom_1_120 c:city-objects-Building_2_geom_1_121 c:city-objects-Building_2_geom_1_122 c:city-objects-Building_2_geom_1_123 c:city-objects-Building_2_geom_1_124 c:city-objects-Building_2_geom_1_125 c:city-objects-Building_2_geom_1_126 c:city-objects-Building_2_geom_1_127 c:city-objects-Building_2_geom_1_128 c:city-objects-Building_2_geom_1_129 c:city-objects-Building_2_geom_1_130 c:city-objects-Building_2_geom_1_131 c:city-objects-Building_2_geom_1_132 c:city-objects-Building_2_geom_1_133 c:city-objects-Building_2_geom_1_134 c:city-objects-Building_2_geom_1_135 c:city-objects-Building_2_geom_1_136 c:city-objects-Building_2_geom_1_137 c:city-objects-Building_2_geom_1_138 c:city-objects-Building_2_geom_1_139 c:city-objects-Building_2_geom_1_140 c:city-objects-Building_2_geom_1_141 c:city-objects-Building_2_geom_1_142 c:city-objects-Building_2_geom_1_143 c:city-objects-Building_2_geom_1_144 c:city-objects-Building_2_geom_1_145 c:city-objects-Building_2_geom_1_146 c:city-objects-Building_2_geom_1_147 c:city-objects-Building_2_geom_1_148 c:city-objects-Building_2_geom_1_149 c:city-objects-Building_2_geom_1_150 c:city-objects-Building_2_geom_1_151 c:city-objects-Building_2_geom_1_152 c:city-objects-Building_2_geom_1_153 c:city-objects-Building_2_geom_1_154 c:city-objects-Building_2_geom_1_155 c:city-objects-Building_2_geom_1_156 c:city-objects-Building_2_geom_1_157 c:city-objects-Building_2_geom_1_158 c:city-objects-Building_2_geom_1_159 c:city-objects-Building_2_geom_1_160 c:city-objects-Building_2_geom_1_161 c:city-objects-Building_2_geom_1_162 c:city-objects-Building_2_geom_1_163 c:city-objects-Building_2_geom_1_164 c:city-objects-Building_2_geom_1_165 c:city-objects-Building_2_geom_1_166 c:city-objects-Building_2_geom_1_167 c:city-objects-Building_2_geom_1_168 c:city-objects-Building_2_geom_1_169 ) ] . + +c:city-objects-Building_2_geom_1_1 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_1_1 ) ] . + +c:city-objects-Building_2_geom_1_10 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_10_1 ) ] . + +c:city-objects-Building_2_geom_1_100 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_100_1 ) ] . + +c:city-objects-Building_2_geom_1_100_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-196 c:vertices-189 c:vertices-190 ) ] . + +c:city-objects-Building_2_geom_1_101 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_101_1 ) ] . + +c:city-objects-Building_2_geom_1_101_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-195 c:vertices-189 c:vertices-196 ) ] . + +c:city-objects-Building_2_geom_1_102 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_102_1 ) ] . + +c:city-objects-Building_2_geom_1_102_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-90 c:vertices-203 c:vertices-204 ) ] . + +c:city-objects-Building_2_geom_1_103 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_103_1 ) ] . + +c:city-objects-Building_2_geom_1_103_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-90 c:vertices-88 c:vertices-203 ) ] . + +c:city-objects-Building_2_geom_1_104 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_104_1 ) ] . + +c:city-objects-Building_2_geom_1_104_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-205 c:vertices-206 c:vertices-204 ) ] . + +c:city-objects-Building_2_geom_1_105 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_105_1 ) ] . + +c:city-objects-Building_2_geom_1_105_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-203 c:vertices-205 c:vertices-204 ) ] . + +c:city-objects-Building_2_geom_1_106 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_106_1 ) ] . + +c:city-objects-Building_2_geom_1_106_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-192 c:vertices-178 c:vertices-193 ) ] . + +c:city-objects-Building_2_geom_1_107 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_107_1 ) ] . + +c:city-objects-Building_2_geom_1_107_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-193 c:vertices-178 c:vertices-177 ) ] . + +c:city-objects-Building_2_geom_1_108 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_108_1 ) ] . + +c:city-objects-Building_2_geom_1_108_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-151 c:vertices-207 c:vertices-107 ) ] . + +c:city-objects-Building_2_geom_1_109 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_109_1 ) ] . + +c:city-objects-Building_2_geom_1_109_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-107 c:vertices-207 c:vertices-109 ) ] . + +c:city-objects-Building_2_geom_1_10_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-85 c:vertices-86 c:vertices-87 ) ] . + +c:city-objects-Building_2_geom_1_11 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_11_1 ) ] . + +c:city-objects-Building_2_geom_1_110 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_110_1 ) ] . + +c:city-objects-Building_2_geom_1_110_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-151 c:vertices-107 c:vertices-148 ) ] . + +c:city-objects-Building_2_geom_1_111 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_111_1 ) ] . + +c:city-objects-Building_2_geom_1_111_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-109 c:vertices-207 c:vertices-208 ) ] . + +c:city-objects-Building_2_geom_1_112 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_112_1 ) ] . + +c:city-objects-Building_2_geom_1_112_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-209 c:vertices-210 c:vertices-186 ) ] . + +c:city-objects-Building_2_geom_1_113 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_113_1 ) ] . + +c:city-objects-Building_2_geom_1_113_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-210 c:vertices-187 c:vertices-186 ) ] . + +c:city-objects-Building_2_geom_1_114 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_114_1 ) ] . + +c:city-objects-Building_2_geom_1_114_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-211 c:vertices-212 c:vertices-213 ) ] . + +c:city-objects-Building_2_geom_1_115 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_115_1 ) ] . + +c:city-objects-Building_2_geom_1_115_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-214 c:vertices-211 c:vertices-213 ) ] . + +c:city-objects-Building_2_geom_1_116 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_116_1 ) ] . + +c:city-objects-Building_2_geom_1_116_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-123 c:vertices-215 c:vertices-216 ) ] . + +c:city-objects-Building_2_geom_1_117 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_117_1 ) ] . + +c:city-objects-Building_2_geom_1_117_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-165 c:vertices-121 c:vertices-162 ) ] . + +c:city-objects-Building_2_geom_1_118 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_118_1 ) ] . + +c:city-objects-Building_2_geom_1_118_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-121 c:vertices-215 c:vertices-123 ) ] . + +c:city-objects-Building_2_geom_1_119 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_119_1 ) ] . + +c:city-objects-Building_2_geom_1_119_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-165 c:vertices-215 c:vertices-121 ) ] . + +c:city-objects-Building_2_geom_1_11_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-88 c:vertices-86 c:vertices-89 ) ] . + +c:city-objects-Building_2_geom_1_12 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_12_1 ) ] . + +c:city-objects-Building_2_geom_1_120 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_120_1 ) ] . + +c:city-objects-Building_2_geom_1_120_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-217 c:vertices-218 c:vertices-183 ) ] . + +c:city-objects-Building_2_geom_1_121 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_121_1 ) ] . + +c:city-objects-Building_2_geom_1_121_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-218 c:vertices-184 c:vertices-183 ) ] . + +c:city-objects-Building_2_geom_1_122 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_122_1 ) ] . + +c:city-objects-Building_2_geom_1_122_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-219 c:vertices-91 c:vertices-95 ) ] . + +c:city-objects-Building_2_geom_1_123 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_123_1 ) ] . + +c:city-objects-Building_2_geom_1_123_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-219 c:vertices-95 c:vertices-220 ) ] . + +c:city-objects-Building_2_geom_1_124 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_124_1 ) ] . + +c:city-objects-Building_2_geom_1_124_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-221 c:vertices-118 c:vertices-222 ) ] . + +c:city-objects-Building_2_geom_1_125 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_125_1 ) ] . + +c:city-objects-Building_2_geom_1_125_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-221 c:vertices-114 c:vertices-118 ) ] . + +c:city-objects-Building_2_geom_1_126 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_126_1 ) ] . + +c:city-objects-Building_2_geom_1_126_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-197 c:vertices-142 c:vertices-146 ) ] . + +c:city-objects-Building_2_geom_1_127 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_127_1 ) ] . + +c:city-objects-Building_2_geom_1_127_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-197 c:vertices-146 c:vertices-198 ) ] . + +c:city-objects-Building_2_geom_1_128 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_128_1 ) ] . + +c:city-objects-Building_2_geom_1_128_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-204 c:vertices-206 c:vertices-86 ) ] . + +c:city-objects-Building_2_geom_1_129 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_129_1 ) ] . + +c:city-objects-Building_2_geom_1_129_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-206 c:vertices-87 c:vertices-86 ) ] . + +c:city-objects-Building_2_geom_1_12_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-90 c:vertices-86 c:vertices-88 ) ] . + +c:city-objects-Building_2_geom_1_13 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_13_1 ) ] . + +c:city-objects-Building_2_geom_1_130 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_130_1 ) ] . + +c:city-objects-Building_2_geom_1_130_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-164 c:vertices-167 c:vertices-215 ) ] . + +c:city-objects-Building_2_geom_1_131 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_131_1 ) ] . + +c:city-objects-Building_2_geom_1_131_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-167 c:vertices-216 c:vertices-215 ) ] . + +c:city-objects-Building_2_geom_1_132 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_132_1 ) ] . + +c:city-objects-Building_2_geom_1_132_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-150 c:vertices-153 c:vertices-207 ) ] . + +c:city-objects-Building_2_geom_1_133 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_133_1 ) ] . + +c:city-objects-Building_2_geom_1_133_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-153 c:vertices-208 c:vertices-207 ) ] . + +c:city-objects-Building_2_geom_1_134 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_134_1 ) ] . + +c:city-objects-Building_2_geom_1_134_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-201 c:vertices-202 c:vertices-223 ) ] . + +c:city-objects-Building_2_geom_1_135 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_135_1 ) ] . + +c:city-objects-Building_2_geom_1_135_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-201 c:vertices-223 c:vertices-101 ) ] . + +c:city-objects-Building_2_geom_1_136 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_136_1 ) ] . + +c:city-objects-Building_2_geom_1_136_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-223 c:vertices-104 c:vertices-101 ) ] . + +c:city-objects-Building_2_geom_1_137 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_137_1 ) ] . + +c:city-objects-Building_2_geom_1_137_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-224 c:vertices-225 c:vertices-226 ) ] . + +c:city-objects-Building_2_geom_1_138 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_138_1 ) ] . + +c:city-objects-Building_2_geom_1_138_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-226 c:vertices-225 c:vertices-227 ) ] . + +c:city-objects-Building_2_geom_1_139 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_139_1 ) ] . + +c:city-objects-Building_2_geom_1_139_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-228 c:vertices-211 c:vertices-214 ) ] . + +c:city-objects-Building_2_geom_1_13_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-89 c:vertices-86 c:vertices-85 ) ] . + +c:city-objects-Building_2_geom_1_14 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_14_1 ) ] . + +c:city-objects-Building_2_geom_1_140 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_140_1 ) ] . + +c:city-objects-Building_2_geom_1_140_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-228 c:vertices-229 c:vertices-211 ) ] . + +c:city-objects-Building_2_geom_1_141 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_141_1 ) ] . + +c:city-objects-Building_2_geom_1_141_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-225 c:vertices-230 c:vertices-231 ) ] . + +c:city-objects-Building_2_geom_1_142 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_142_1 ) ] . + +c:city-objects-Building_2_geom_1_142_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-225 c:vertices-231 c:vertices-227 ) ] . + +c:city-objects-Building_2_geom_1_143 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_143_1 ) ] . + +c:city-objects-Building_2_geom_1_143_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-231 c:vertices-230 c:vertices-232 ) ] . + +c:city-objects-Building_2_geom_1_144 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_144_1 ) ] . + +c:city-objects-Building_2_geom_1_144_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-228 c:vertices-233 c:vertices-229 ) ] . + +c:city-objects-Building_2_geom_1_145 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_145_1 ) ] . + +c:city-objects-Building_2_geom_1_145_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-228 c:vertices-234 c:vertices-233 ) ] . + +c:city-objects-Building_2_geom_1_146 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_146_1 ) ] . + +c:city-objects-Building_2_geom_1_146_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-235 c:vertices-232 c:vertices-230 ) ] . + +c:city-objects-Building_2_geom_1_147 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_147_1 ) ] . + +c:city-objects-Building_2_geom_1_147_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-235 c:vertices-64 c:vertices-232 ) ] . + +c:city-objects-Building_2_geom_1_148 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_148_1 ) ] . + +c:city-objects-Building_2_geom_1_148_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-64 c:vertices-59 c:vertices-232 ) ] . + +c:city-objects-Building_2_geom_1_149 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_149_1 ) ] . + +c:city-objects-Building_2_geom_1_149_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-233 c:vertices-60 c:vertices-65 ) ] . + +c:city-objects-Building_2_geom_1_14_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-91 c:vertices-92 c:vertices-93 ) ] . + +c:city-objects-Building_2_geom_1_15 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_15_1 ) ] . + +c:city-objects-Building_2_geom_1_150 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_150_1 ) ] . + +c:city-objects-Building_2_geom_1_150_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-233 c:vertices-212 c:vertices-60 ) ] . + +c:city-objects-Building_2_geom_1_151 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_151_1 ) ] . + +c:city-objects-Building_2_geom_1_151_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-234 c:vertices-212 c:vertices-233 ) ] . + +c:city-objects-Building_2_geom_1_152 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_152_1 ) ] . + +c:city-objects-Building_2_geom_1_152_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-234 c:vertices-213 c:vertices-212 ) ] . + +c:city-objects-Building_2_geom_1_153 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_153_1 ) ] . + +c:city-objects-Building_2_geom_1_153_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-236 c:vertices-65 c:vertices-58 ) ] . + +c:city-objects-Building_2_geom_1_154 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_154_1 ) ] . + +c:city-objects-Building_2_geom_1_154_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-236 c:vertices-233 c:vertices-65 ) ] . + +c:city-objects-Building_2_geom_1_155 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_155_1 ) ] . + +c:city-objects-Building_2_geom_1_155_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-212 c:vertices-237 c:vertices-60 ) ] . + +c:city-objects-Building_2_geom_1_156 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_156_1 ) ] . + +c:city-objects-Building_2_geom_1_156_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-60 c:vertices-237 c:vertices-61 ) ] . + +c:city-objects-Building_2_geom_1_157 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_157_1 ) ] . + +c:city-objects-Building_2_geom_1_157_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-224 c:vertices-226 c:vertices-235 ) ] . + +c:city-objects-Building_2_geom_1_158 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_158_1 ) ] . + +c:city-objects-Building_2_geom_1_158_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-226 c:vertices-64 c:vertices-235 ) ] . + +c:city-objects-Building_2_geom_1_159 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_159_1 ) ] . + +c:city-objects-Building_2_geom_1_159_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-226 c:vertices-63 c:vertices-64 ) ] . + +c:city-objects-Building_2_geom_1_15_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-91 c:vertices-94 c:vertices-92 ) ] . + +c:city-objects-Building_2_geom_1_16 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_16_1 ) ] . + +c:city-objects-Building_2_geom_1_160 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_160_1 ) ] . + +c:city-objects-Building_2_geom_1_160_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-63 c:vertices-226 ) ] . + +c:city-objects-Building_2_geom_1_161 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_161_1 ) ] . + +c:city-objects-Building_2_geom_1_161_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-57 c:vertices-63 ) ] . + +c:city-objects-Building_2_geom_1_162 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_162_1 ) ] . + +c:city-objects-Building_2_geom_1_162_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-232 c:vertices-59 c:vertices-239 ) ] . + +c:city-objects-Building_2_geom_1_163 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_163_1 ) ] . + +c:city-objects-Building_2_geom_1_163_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-59 c:vertices-62 c:vertices-239 ) ] . + +c:city-objects-Building_2_geom_1_164 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_164_1 ) ] . + +c:city-objects-Building_2_geom_1_164_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-239 c:vertices-62 c:vertices-61 ) ] . + +c:city-objects-Building_2_geom_1_165 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_165_1 ) ] . + +c:city-objects-Building_2_geom_1_165_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-239 c:vertices-61 c:vertices-237 ) ] . + +c:city-objects-Building_2_geom_1_166 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_166_1 ) ] . + +c:city-objects-Building_2_geom_1_166_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-57 c:vertices-236 c:vertices-58 ) ] . + +c:city-objects-Building_2_geom_1_167 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_167_1 ) ] . + +c:city-objects-Building_2_geom_1_167_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-236 c:vertices-57 ) ] . + +c:city-objects-Building_2_geom_1_168 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_168_1 ) ] . + +c:city-objects-Building_2_geom_1_168_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-68 c:vertices-69 c:vertices-203 ) ] . + +c:city-objects-Building_2_geom_1_169 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_169_1 ) ] . + +c:city-objects-Building_2_geom_1_169_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-69 c:vertices-205 c:vertices-203 ) ] . + +c:city-objects-Building_2_geom_1_16_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-95 c:vertices-93 c:vertices-96 ) ] . + +c:city-objects-Building_2_geom_1_17 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_17_1 ) ] . + +c:city-objects-Building_2_geom_1_17_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-91 c:vertices-93 c:vertices-95 ) ] . + +c:city-objects-Building_2_geom_1_18 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_18_1 ) ] . + +c:city-objects-Building_2_geom_1_18_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-97 c:vertices-98 c:vertices-99 ) ] . + +c:city-objects-Building_2_geom_1_19 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_19_1 ) ] . + +c:city-objects-Building_2_geom_1_19_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-100 c:vertices-101 c:vertices-102 ) ] . + +c:city-objects-Building_2_geom_1_1_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-66 c:vertices-67 c:vertices-68 ) ] . + +c:city-objects-Building_2_geom_1_2 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_2_1 ) ] . + +c:city-objects-Building_2_geom_1_20 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_20_1 ) ] . + +c:city-objects-Building_2_geom_1_20_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-103 c:vertices-101 c:vertices-100 ) ] . + +c:city-objects-Building_2_geom_1_21 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_21_1 ) ] . + +c:city-objects-Building_2_geom_1_21_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-102 c:vertices-101 c:vertices-104 ) ] . + +c:city-objects-Building_2_geom_1_22 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_22_1 ) ] . + +c:city-objects-Building_2_geom_1_22_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-102 c:vertices-104 c:vertices-105 ) ] . + +c:city-objects-Building_2_geom_1_23 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_23_1 ) ] . + +c:city-objects-Building_2_geom_1_23_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-106 c:vertices-107 c:vertices-108 ) ] . + +c:city-objects-Building_2_geom_1_24 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_24_1 ) ] . + +c:city-objects-Building_2_geom_1_24_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-108 c:vertices-107 c:vertices-109 ) ] . + +c:city-objects-Building_2_geom_1_25 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_25_1 ) ] . + +c:city-objects-Building_2_geom_1_25_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-110 c:vertices-111 c:vertices-112 ) ] . + +c:city-objects-Building_2_geom_1_26 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_26_1 ) ] . + +c:city-objects-Building_2_geom_1_26_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-110 c:vertices-113 c:vertices-111 ) ] . + +c:city-objects-Building_2_geom_1_27 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_27_1 ) ] . + +c:city-objects-Building_2_geom_1_27_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-114 c:vertices-115 c:vertices-116 ) ] . + +c:city-objects-Building_2_geom_1_28 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_28_1 ) ] . + +c:city-objects-Building_2_geom_1_28_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-114 c:vertices-117 c:vertices-115 ) ] . + +c:city-objects-Building_2_geom_1_29 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_29_1 ) ] . + +c:city-objects-Building_2_geom_1_29_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-118 c:vertices-116 c:vertices-119 ) ] . + +c:city-objects-Building_2_geom_1_2_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-67 c:vertices-69 c:vertices-68 ) ] . + +c:city-objects-Building_2_geom_1_3 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_3_1 ) ] . + +c:city-objects-Building_2_geom_1_30 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_30_1 ) ] . + +c:city-objects-Building_2_geom_1_30_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-114 c:vertices-116 c:vertices-118 ) ] . + +c:city-objects-Building_2_geom_1_31 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_31_1 ) ] . + +c:city-objects-Building_2_geom_1_31_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-120 c:vertices-121 c:vertices-122 ) ] . + +c:city-objects-Building_2_geom_1_32 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_32_1 ) ] . + +c:city-objects-Building_2_geom_1_32_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-122 c:vertices-121 c:vertices-123 ) ] . + +c:city-objects-Building_2_geom_1_33 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_33_1 ) ] . + +c:city-objects-Building_2_geom_1_33_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-124 c:vertices-125 c:vertices-126 ) ] . + +c:city-objects-Building_2_geom_1_34 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_34_1 ) ] . + +c:city-objects-Building_2_geom_1_34_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-125 c:vertices-127 c:vertices-128 ) ] . + +c:city-objects-Building_2_geom_1_35 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_35_1 ) ] . + +c:city-objects-Building_2_geom_1_35_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-124 c:vertices-127 c:vertices-125 ) ] . + +c:city-objects-Building_2_geom_1_36 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_36_1 ) ] . + +c:city-objects-Building_2_geom_1_36_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-129 c:vertices-130 c:vertices-131 ) ] . + +c:city-objects-Building_2_geom_1_37 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_37_1 ) ] . + +c:city-objects-Building_2_geom_1_37_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-131 c:vertices-132 c:vertices-133 ) ] . + +c:city-objects-Building_2_geom_1_38 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_38_1 ) ] . + +c:city-objects-Building_2_geom_1_38_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-129 c:vertices-131 c:vertices-133 ) ] . + +c:city-objects-Building_2_geom_1_39 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_39_1 ) ] . + +c:city-objects-Building_2_geom_1_39_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-134 c:vertices-135 c:vertices-136 ) ] . + +c:city-objects-Building_2_geom_1_3_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-70 c:vertices-71 c:vertices-72 ) ] . + +c:city-objects-Building_2_geom_1_4 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_4_1 ) ] . + +c:city-objects-Building_2_geom_1_40 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_40_1 ) ] . + +c:city-objects-Building_2_geom_1_40_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-134 c:vertices-136 c:vertices-137 ) ] . + +c:city-objects-Building_2_geom_1_41 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_41_1 ) ] . + +c:city-objects-Building_2_geom_1_41_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-138 c:vertices-139 c:vertices-140 ) ] . + +c:city-objects-Building_2_geom_1_42 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_42_1 ) ] . + +c:city-objects-Building_2_geom_1_42_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-138 c:vertices-140 c:vertices-141 ) ] . + +c:city-objects-Building_2_geom_1_43 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_43_1 ) ] . + +c:city-objects-Building_2_geom_1_43_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-142 c:vertices-143 c:vertices-144 ) ] . + +c:city-objects-Building_2_geom_1_44 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_44_1 ) ] . + +c:city-objects-Building_2_geom_1_44_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-142 c:vertices-145 c:vertices-143 ) ] . + +c:city-objects-Building_2_geom_1_45 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_45_1 ) ] . + +c:city-objects-Building_2_geom_1_45_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-146 c:vertices-144 c:vertices-147 ) ] . + +c:city-objects-Building_2_geom_1_46 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_46_1 ) ] . + +c:city-objects-Building_2_geom_1_46_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-142 c:vertices-144 c:vertices-146 ) ] . + +c:city-objects-Building_2_geom_1_47 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_47_1 ) ] . + +c:city-objects-Building_2_geom_1_47_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-148 c:vertices-149 c:vertices-150 ) ] . + +c:city-objects-Building_2_geom_1_48 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_48_1 ) ] . + +c:city-objects-Building_2_geom_1_48_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-151 c:vertices-148 c:vertices-150 ) ] . + +c:city-objects-Building_2_geom_1_49 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_49_1 ) ] . + +c:city-objects-Building_2_geom_1_49_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-149 c:vertices-152 c:vertices-150 ) ] . + +c:city-objects-Building_2_geom_1_4_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-72 c:vertices-71 c:vertices-73 ) ] . + +c:city-objects-Building_2_geom_1_5 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_5_1 ) ] . + +c:city-objects-Building_2_geom_1_50 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_50_1 ) ] . + +c:city-objects-Building_2_geom_1_50_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-152 c:vertices-153 c:vertices-150 ) ] . + +c:city-objects-Building_2_geom_1_51 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_51_1 ) ] . + +c:city-objects-Building_2_geom_1_51_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-154 c:vertices-155 c:vertices-156 ) ] . + +c:city-objects-Building_2_geom_1_52 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_52_1 ) ] . + +c:city-objects-Building_2_geom_1_52_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-157 c:vertices-155 c:vertices-154 ) ] . + +c:city-objects-Building_2_geom_1_53 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_53_1 ) ] . + +c:city-objects-Building_2_geom_1_53_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-158 c:vertices-159 c:vertices-160 ) ] . + +c:city-objects-Building_2_geom_1_54 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_54_1 ) ] . + +c:city-objects-Building_2_geom_1_54_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-159 c:vertices-161 c:vertices-160 ) ] . + +c:city-objects-Building_2_geom_1_55 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_55_1 ) ] . + +c:city-objects-Building_2_geom_1_55_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-162 c:vertices-163 c:vertices-164 ) ] . + +c:city-objects-Building_2_geom_1_56 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_56_1 ) ] . + +c:city-objects-Building_2_geom_1_56_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-165 c:vertices-162 c:vertices-164 ) ] . + +c:city-objects-Building_2_geom_1_57 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_57_1 ) ] . + +c:city-objects-Building_2_geom_1_57_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-163 c:vertices-166 c:vertices-164 ) ] . + +c:city-objects-Building_2_geom_1_58 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_58_1 ) ] . + +c:city-objects-Building_2_geom_1_58_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-166 c:vertices-167 c:vertices-164 ) ] . + +c:city-objects-Building_2_geom_1_59 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_59_1 ) ] . + +c:city-objects-Building_2_geom_1_59_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-93 c:vertices-78 c:vertices-80 ) ] . + +c:city-objects-Building_2_geom_1_5_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-74 c:vertices-75 c:vertices-76 ) ] . + +c:city-objects-Building_2_geom_1_6 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_6_1 ) ] . + +c:city-objects-Building_2_geom_1_60 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_60_1 ) ] . + +c:city-objects-Building_2_geom_1_60_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-93 c:vertices-80 c:vertices-168 ) ] . + +c:city-objects-Building_2_geom_1_61 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_61_1 ) ] . + +c:city-objects-Building_2_geom_1_61_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-93 c:vertices-168 c:vertices-96 ) ] . + +c:city-objects-Building_2_geom_1_62 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_62_1 ) ] . + +c:city-objects-Building_2_geom_1_62_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-116 c:vertices-138 c:vertices-141 ) ] . + +c:city-objects-Building_2_geom_1_63 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_63_1 ) ] . + +c:city-objects-Building_2_geom_1_63_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-116 c:vertices-141 c:vertices-119 ) ] . + +c:city-objects-Building_2_geom_1_64 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_64_1 ) ] . + +c:city-objects-Building_2_geom_1_64_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-144 c:vertices-124 c:vertices-126 ) ] . + +c:city-objects-Building_2_geom_1_65 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_65_1 ) ] . + +c:city-objects-Building_2_geom_1_65_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-144 c:vertices-126 c:vertices-147 ) ] . + +c:city-objects-Building_2_geom_1_66 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_66_1 ) ] . + +c:city-objects-Building_2_geom_1_66_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-169 c:vertices-170 c:vertices-171 ) ] . + +c:city-objects-Building_2_geom_1_67 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_67_1 ) ] . + +c:city-objects-Building_2_geom_1_67_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-169 c:vertices-171 c:vertices-97 ) ] . + +c:city-objects-Building_2_geom_1_68 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_68_1 ) ] . + +c:city-objects-Building_2_geom_1_68_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-171 c:vertices-98 c:vertices-97 ) ] . + +c:city-objects-Building_2_geom_1_69 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_69_1 ) ] . + +c:city-objects-Building_2_geom_1_69_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-172 c:vertices-173 c:vertices-135 ) ] . + +c:city-objects-Building_2_geom_1_6_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-75 c:vertices-77 c:vertices-76 ) ] . + +c:city-objects-Building_2_geom_1_7 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_7_1 ) ] . + +c:city-objects-Building_2_geom_1_70 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_70_1 ) ] . + +c:city-objects-Building_2_geom_1_70_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-172 c:vertices-135 c:vertices-134 ) ] . + +c:city-objects-Building_2_geom_1_71 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_71_1 ) ] . + +c:city-objects-Building_2_geom_1_71_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-174 c:vertices-130 c:vertices-129 ) ] . + +c:city-objects-Building_2_geom_1_72 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_72_1 ) ] . + +c:city-objects-Building_2_geom_1_72_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-174 c:vertices-175 c:vertices-130 ) ] . + +c:city-objects-Building_2_geom_1_73 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_73_1 ) ] . + +c:city-objects-Building_2_geom_1_73_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-176 c:vertices-177 c:vertices-178 ) ] . + +c:city-objects-Building_2_geom_1_74 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_74_1 ) ] . + +c:city-objects-Building_2_geom_1_74_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-179 c:vertices-89 c:vertices-85 ) ] . + +c:city-objects-Building_2_geom_1_75 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_75_1 ) ] . + +c:city-objects-Building_2_geom_1_75_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-180 c:vertices-166 c:vertices-163 ) ] . + +c:city-objects-Building_2_geom_1_76 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_76_1 ) ] . + +c:city-objects-Building_2_geom_1_76_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-181 c:vertices-152 c:vertices-149 ) ] . + +c:city-objects-Building_2_geom_1_77 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_77_1 ) ] . + +c:city-objects-Building_2_geom_1_77_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-182 c:vertices-183 c:vertices-184 ) ] . + +c:city-objects-Building_2_geom_1_78 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_78_1 ) ] . + +c:city-objects-Building_2_geom_1_78_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-185 c:vertices-186 c:vertices-187 ) ] . + +c:city-objects-Building_2_geom_1_79 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_79_1 ) ] . + +c:city-objects-Building_2_geom_1_79_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-156 c:vertices-102 c:vertices-188 ) ] . + +c:city-objects-Building_2_geom_1_7_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-78 c:vertices-79 c:vertices-80 ) ] . + +c:city-objects-Building_2_geom_1_8 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_8_1 ) ] . + +c:city-objects-Building_2_geom_1_80 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_80_1 ) ] . + +c:city-objects-Building_2_geom_1_80_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-155 c:vertices-102 c:vertices-156 ) ] . + +c:city-objects-Building_2_geom_1_81 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_81_1 ) ] . + +c:city-objects-Building_2_geom_1_81_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-188 c:vertices-102 c:vertices-105 ) ] . + +c:city-objects-Building_2_geom_1_82 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_82_1 ) ] . + +c:city-objects-Building_2_geom_1_82_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-160 c:vertices-161 c:vertices-189 ) ] . + +c:city-objects-Building_2_geom_1_83 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_83_1 ) ] . + +c:city-objects-Building_2_geom_1_83_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-161 c:vertices-190 c:vertices-189 ) ] . + +c:city-objects-Building_2_geom_1_84 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_84_1 ) ] . + +c:city-objects-Building_2_geom_1_84_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-191 c:vertices-192 c:vertices-193 ) ] . + +c:city-objects-Building_2_geom_1_85 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_85_1 ) ] . + +c:city-objects-Building_2_geom_1_85_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-194 c:vertices-192 c:vertices-191 ) ] . + +c:city-objects-Building_2_geom_1_86 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_86_1 ) ] . + +c:city-objects-Building_2_geom_1_86_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-157 c:vertices-154 c:vertices-74 ) ] . + +c:city-objects-Building_2_geom_1_87 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_87_1 ) ] . + +c:city-objects-Building_2_geom_1_87_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-154 c:vertices-75 c:vertices-74 ) ] . + +c:city-objects-Building_2_geom_1_88 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_88_1 ) ] . + +c:city-objects-Building_2_geom_1_88_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-159 c:vertices-195 c:vertices-196 ) ] . + +c:city-objects-Building_2_geom_1_89 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_89_1 ) ] . + +c:city-objects-Building_2_geom_1_89_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-158 c:vertices-195 c:vertices-159 ) ] . + +c:city-objects-Building_2_geom_1_8_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-81 c:vertices-82 c:vertices-83 ) ] . + +c:city-objects-Building_2_geom_1_9 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_9_1 ) ] . + +c:city-objects-Building_2_geom_1_90 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_90_1 ) ] . + +c:city-objects-Building_2_geom_1_90_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-197 c:vertices-110 c:vertices-145 ) ] . + +c:city-objects-Building_2_geom_1_91 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_91_1 ) ] . + +c:city-objects-Building_2_geom_1_91_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-197 c:vertices-113 c:vertices-110 ) ] . + +c:city-objects-Building_2_geom_1_92 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_92_1 ) ] . + +c:city-objects-Building_2_geom_1_92_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-110 c:vertices-143 c:vertices-145 ) ] . + +c:city-objects-Building_2_geom_1_93 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_93_1 ) ] . + +c:city-objects-Building_2_geom_1_93_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-197 c:vertices-198 c:vertices-113 ) ] . + +c:city-objects-Building_2_geom_1_94 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_94_1 ) ] . + +c:city-objects-Building_2_geom_1_94_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-174 c:vertices-199 c:vertices-200 ) ] . + +c:city-objects-Building_2_geom_1_95 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_95_1 ) ] . + +c:city-objects-Building_2_geom_1_95_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-174 c:vertices-200 c:vertices-175 ) ] . + +c:city-objects-Building_2_geom_1_96 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_96_1 ) ] . + +c:city-objects-Building_2_geom_1_96_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-103 c:vertices-76 c:vertices-201 ) ] . + +c:city-objects-Building_2_geom_1_97 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_97_1 ) ] . + +c:city-objects-Building_2_geom_1_97_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-103 c:vertices-100 c:vertices-76 ) ] . + +c:city-objects-Building_2_geom_1_98 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_98_1 ) ] . + +c:city-objects-Building_2_geom_1_98_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-77 c:vertices-202 c:vertices-201 ) ] . + +c:city-objects-Building_2_geom_1_99 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_1_99_1 ) ] . + +c:city-objects-Building_2_geom_1_99_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-76 c:vertices-77 c:vertices-201 ) ] . + +c:city-objects-Building_2_geom_1_9_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-81 c:vertices-84 c:vertices-82 ) ] . + +c:city-objects-Building_2_geom_2 a geojson:Feature ; + geojson:topology [ a geojson:MultiPolygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_1 c:city-objects-Building_2_geom_2_2 c:city-objects-Building_2_geom_2_3 c:city-objects-Building_2_geom_2_4 c:city-objects-Building_2_geom_2_5 c:city-objects-Building_2_geom_2_6 c:city-objects-Building_2_geom_2_7 c:city-objects-Building_2_geom_2_8 c:city-objects-Building_2_geom_2_9 c:city-objects-Building_2_geom_2_10 c:city-objects-Building_2_geom_2_11 c:city-objects-Building_2_geom_2_12 c:city-objects-Building_2_geom_2_13 c:city-objects-Building_2_geom_2_14 c:city-objects-Building_2_geom_2_15 c:city-objects-Building_2_geom_2_16 c:city-objects-Building_2_geom_2_17 c:city-objects-Building_2_geom_2_18 c:city-objects-Building_2_geom_2_19 c:city-objects-Building_2_geom_2_20 c:city-objects-Building_2_geom_2_21 c:city-objects-Building_2_geom_2_22 c:city-objects-Building_2_geom_2_23 c:city-objects-Building_2_geom_2_24 c:city-objects-Building_2_geom_2_25 c:city-objects-Building_2_geom_2_26 c:city-objects-Building_2_geom_2_27 c:city-objects-Building_2_geom_2_28 c:city-objects-Building_2_geom_2_29 c:city-objects-Building_2_geom_2_30 c:city-objects-Building_2_geom_2_31 c:city-objects-Building_2_geom_2_32 c:city-objects-Building_2_geom_2_33 c:city-objects-Building_2_geom_2_34 c:city-objects-Building_2_geom_2_35 c:city-objects-Building_2_geom_2_36 c:city-objects-Building_2_geom_2_37 c:city-objects-Building_2_geom_2_38 c:city-objects-Building_2_geom_2_39 c:city-objects-Building_2_geom_2_40 c:city-objects-Building_2_geom_2_41 c:city-objects-Building_2_geom_2_42 c:city-objects-Building_2_geom_2_43 c:city-objects-Building_2_geom_2_44 c:city-objects-Building_2_geom_2_45 c:city-objects-Building_2_geom_2_46 c:city-objects-Building_2_geom_2_47 c:city-objects-Building_2_geom_2_48 c:city-objects-Building_2_geom_2_49 c:city-objects-Building_2_geom_2_50 c:city-objects-Building_2_geom_2_51 c:city-objects-Building_2_geom_2_52 c:city-objects-Building_2_geom_2_53 c:city-objects-Building_2_geom_2_54 c:city-objects-Building_2_geom_2_55 c:city-objects-Building_2_geom_2_56 c:city-objects-Building_2_geom_2_57 c:city-objects-Building_2_geom_2_58 c:city-objects-Building_2_geom_2_59 c:city-objects-Building_2_geom_2_60 c:city-objects-Building_2_geom_2_61 c:city-objects-Building_2_geom_2_62 c:city-objects-Building_2_geom_2_63 c:city-objects-Building_2_geom_2_64 c:city-objects-Building_2_geom_2_65 c:city-objects-Building_2_geom_2_66 c:city-objects-Building_2_geom_2_67 c:city-objects-Building_2_geom_2_68 c:city-objects-Building_2_geom_2_69 c:city-objects-Building_2_geom_2_70 c:city-objects-Building_2_geom_2_71 c:city-objects-Building_2_geom_2_72 c:city-objects-Building_2_geom_2_73 c:city-objects-Building_2_geom_2_74 c:city-objects-Building_2_geom_2_75 c:city-objects-Building_2_geom_2_76 c:city-objects-Building_2_geom_2_77 c:city-objects-Building_2_geom_2_78 c:city-objects-Building_2_geom_2_79 c:city-objects-Building_2_geom_2_80 c:city-objects-Building_2_geom_2_81 c:city-objects-Building_2_geom_2_82 c:city-objects-Building_2_geom_2_83 c:city-objects-Building_2_geom_2_84 c:city-objects-Building_2_geom_2_85 c:city-objects-Building_2_geom_2_86 c:city-objects-Building_2_geom_2_87 c:city-objects-Building_2_geom_2_88 c:city-objects-Building_2_geom_2_89 c:city-objects-Building_2_geom_2_90 c:city-objects-Building_2_geom_2_91 c:city-objects-Building_2_geom_2_92 c:city-objects-Building_2_geom_2_93 c:city-objects-Building_2_geom_2_94 c:city-objects-Building_2_geom_2_95 c:city-objects-Building_2_geom_2_96 c:city-objects-Building_2_geom_2_97 c:city-objects-Building_2_geom_2_98 c:city-objects-Building_2_geom_2_99 c:city-objects-Building_2_geom_2_100 c:city-objects-Building_2_geom_2_101 c:city-objects-Building_2_geom_2_102 c:city-objects-Building_2_geom_2_103 c:city-objects-Building_2_geom_2_104 c:city-objects-Building_2_geom_2_105 c:city-objects-Building_2_geom_2_106 c:city-objects-Building_2_geom_2_107 c:city-objects-Building_2_geom_2_108 c:city-objects-Building_2_geom_2_109 c:city-objects-Building_2_geom_2_110 c:city-objects-Building_2_geom_2_111 c:city-objects-Building_2_geom_2_112 c:city-objects-Building_2_geom_2_113 c:city-objects-Building_2_geom_2_114 c:city-objects-Building_2_geom_2_115 c:city-objects-Building_2_geom_2_116 c:city-objects-Building_2_geom_2_117 c:city-objects-Building_2_geom_2_118 c:city-objects-Building_2_geom_2_119 c:city-objects-Building_2_geom_2_120 c:city-objects-Building_2_geom_2_121 c:city-objects-Building_2_geom_2_122 c:city-objects-Building_2_geom_2_123 c:city-objects-Building_2_geom_2_124 c:city-objects-Building_2_geom_2_125 c:city-objects-Building_2_geom_2_126 c:city-objects-Building_2_geom_2_127 c:city-objects-Building_2_geom_2_128 c:city-objects-Building_2_geom_2_129 c:city-objects-Building_2_geom_2_130 c:city-objects-Building_2_geom_2_131 c:city-objects-Building_2_geom_2_132 c:city-objects-Building_2_geom_2_133 c:city-objects-Building_2_geom_2_134 c:city-objects-Building_2_geom_2_135 c:city-objects-Building_2_geom_2_136 c:city-objects-Building_2_geom_2_137 c:city-objects-Building_2_geom_2_138 c:city-objects-Building_2_geom_2_139 c:city-objects-Building_2_geom_2_140 c:city-objects-Building_2_geom_2_141 c:city-objects-Building_2_geom_2_142 c:city-objects-Building_2_geom_2_143 c:city-objects-Building_2_geom_2_144 c:city-objects-Building_2_geom_2_145 c:city-objects-Building_2_geom_2_146 c:city-objects-Building_2_geom_2_147 c:city-objects-Building_2_geom_2_148 c:city-objects-Building_2_geom_2_149 c:city-objects-Building_2_geom_2_150 c:city-objects-Building_2_geom_2_151 c:city-objects-Building_2_geom_2_152 c:city-objects-Building_2_geom_2_153 c:city-objects-Building_2_geom_2_154 c:city-objects-Building_2_geom_2_155 c:city-objects-Building_2_geom_2_156 c:city-objects-Building_2_geom_2_157 c:city-objects-Building_2_geom_2_158 c:city-objects-Building_2_geom_2_159 c:city-objects-Building_2_geom_2_160 c:city-objects-Building_2_geom_2_161 c:city-objects-Building_2_geom_2_162 c:city-objects-Building_2_geom_2_163 c:city-objects-Building_2_geom_2_164 c:city-objects-Building_2_geom_2_165 c:city-objects-Building_2_geom_2_166 c:city-objects-Building_2_geom_2_167 c:city-objects-Building_2_geom_2_168 c:city-objects-Building_2_geom_2_169 c:city-objects-Building_2_geom_2_170 c:city-objects-Building_2_geom_2_171 c:city-objects-Building_2_geom_2_172 c:city-objects-Building_2_geom_2_173 c:city-objects-Building_2_geom_2_174 c:city-objects-Building_2_geom_2_175 c:city-objects-Building_2_geom_2_176 c:city-objects-Building_2_geom_2_177 c:city-objects-Building_2_geom_2_178 ) ] . + +c:city-objects-Building_2_geom_2_1 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_1_1 ) ] . + +c:city-objects-Building_2_geom_2_10 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_10_1 ) ] . + +c:city-objects-Building_2_geom_2_100 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_100_1 ) ] . + +c:city-objects-Building_2_geom_2_100_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-231 c:vertices-232 c:vertices-211 ) ] . + +c:city-objects-Building_2_geom_2_101 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_101_1 ) ] . + +c:city-objects-Building_2_geom_2_101_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-232 c:vertices-194 c:vertices-211 ) ] . + +c:city-objects-Building_2_geom_2_102 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_102_1 ) ] . + +c:city-objects-Building_2_geom_2_102_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-232 c:vertices-159 c:vertices-194 ) ] . + +c:city-objects-Building_2_geom_2_103 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_103_1 ) ] . + +c:city-objects-Building_2_geom_2_103_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-232 c:vertices-239 c:vertices-161 ) ] . + +c:city-objects-Building_2_geom_2_104 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_104_1 ) ] . + +c:city-objects-Building_2_geom_2_104_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-194 c:vertices-253 c:vertices-211 ) ] . + +c:city-objects-Building_2_geom_2_105 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_105_1 ) ] . + +c:city-objects-Building_2_geom_2_105_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-232 c:vertices-161 c:vertices-159 ) ] . + +c:city-objects-Building_2_geom_2_106 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_106_1 ) ] . + +c:city-objects-Building_2_geom_2_106_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-154 c:vertices-254 c:vertices-194 ) ] . + +c:city-objects-Building_2_geom_2_107 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_107_1 ) ] . + +c:city-objects-Building_2_geom_2_107_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-154 c:vertices-156 c:vertices-254 ) ] . + +c:city-objects-Building_2_geom_2_108 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_108_1 ) ] . + +c:city-objects-Building_2_geom_2_108_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-156 c:vertices-188 c:vertices-254 ) ] . + +c:city-objects-Building_2_geom_2_109 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_109_1 ) ] . + +c:city-objects-Building_2_geom_2_109_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-161 c:vertices-239 c:vertices-190 ) ] . + +c:city-objects-Building_2_geom_2_10_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-79 c:vertices-241 c:vertices-229 ) ] . + +c:city-objects-Building_2_geom_2_11 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_11_1 ) ] . + +c:city-objects-Building_2_geom_2_110 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_110_1 ) ] . + +c:city-objects-Building_2_geom_2_110_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-202 c:vertices-239 c:vertices-223 ) ] . + +c:city-objects-Building_2_geom_2_111 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_111_1 ) ] . + +c:city-objects-Building_2_geom_2_111_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-159 c:vertices-154 c:vertices-194 ) ] . + +c:city-objects-Building_2_geom_2_112 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_112_1 ) ] . + +c:city-objects-Building_2_geom_2_112_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-154 c:vertices-196 c:vertices-77 ) ] . + +c:city-objects-Building_2_geom_2_113 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_113_1 ) ] . + +c:city-objects-Building_2_geom_2_113_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-159 c:vertices-196 c:vertices-154 ) ] . + +c:city-objects-Building_2_geom_2_114 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_114_1 ) ] . + +c:city-objects-Building_2_geom_2_114_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-190 c:vertices-239 c:vertices-202 ) ] . + +c:city-objects-Building_2_geom_2_115 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_115_1 ) ] . + +c:city-objects-Building_2_geom_2_115_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-196 c:vertices-190 c:vertices-202 ) ] . + +c:city-objects-Building_2_geom_2_116 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_116_1 ) ] . + +c:city-objects-Building_2_geom_2_116_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-196 c:vertices-202 c:vertices-77 ) ] . + +c:city-objects-Building_2_geom_2_117 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_117_1 ) ] . + +c:city-objects-Building_2_geom_2_117_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-194 c:vertices-191 c:vertices-66 ) ] . + +c:city-objects-Building_2_geom_2_118 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_118_1 ) ] . + +c:city-objects-Building_2_geom_2_118_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-194 c:vertices-66 c:vertices-253 ) ] . + +c:city-objects-Building_2_geom_2_119 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_119_1 ) ] . + +c:city-objects-Building_2_geom_2_119_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-239 c:vertices-237 c:vertices-153 ) ] . + +c:city-objects-Building_2_geom_2_11_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-244 c:vertices-132 c:vertices-128 ) ] . + +c:city-objects-Building_2_geom_2_12 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_12_1 ) ] . + +c:city-objects-Building_2_geom_2_120 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_120_1 ) ] . + +c:city-objects-Building_2_geom_2_120_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-211 c:vertices-249 c:vertices-250 ) ] . + +c:city-objects-Building_2_geom_2_121 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_121_1 ) ] . + +c:city-objects-Building_2_geom_2_121_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-211 c:vertices-253 c:vertices-249 ) ] . + +c:city-objects-Building_2_geom_2_122 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_122_1 ) ] . + +c:city-objects-Building_2_geom_2_122_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-211 c:vertices-182 c:vertices-237 ) ] . + +c:city-objects-Building_2_geom_2_123 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_123_1 ) ] . + +c:city-objects-Building_2_geom_2_123_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-211 c:vertices-250 c:vertices-182 ) ] . + +c:city-objects-Building_2_geom_2_124 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_124_1 ) ] . + +c:city-objects-Building_2_geom_2_124_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-249 c:vertices-180 c:vertices-252 ) ] . + +c:city-objects-Building_2_geom_2_125 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_125_1 ) ] . + +c:city-objects-Building_2_geom_2_125_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-188 c:vertices-177 c:vertices-176 ) ] . + +c:city-objects-Building_2_geom_2_126 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_126_1 ) ] . + +c:city-objects-Building_2_geom_2_126_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-253 c:vertices-181 c:vertices-251 ) ] . + +c:city-objects-Building_2_geom_2_127 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_127_1 ) ] . + +c:city-objects-Building_2_geom_2_127_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-185 c:vertices-187 c:vertices-166 ) ] . + +c:city-objects-Building_2_geom_2_128 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_128_1 ) ] . + +c:city-objects-Building_2_geom_2_128_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-185 c:vertices-166 c:vertices-180 ) ] . + +c:city-objects-Building_2_geom_2_129 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_129_1 ) ] . + +c:city-objects-Building_2_geom_2_129_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-181 c:vertices-85 c:vertices-152 ) ] . + +c:city-objects-Building_2_geom_2_12_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-227 c:vertices-132 c:vertices-131 ) ] . + +c:city-objects-Building_2_geom_2_13 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_13_1 ) ] . + +c:city-objects-Building_2_geom_2_130 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_130_1 ) ] . + +c:city-objects-Building_2_geom_2_130_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-182 c:vertices-184 c:vertices-237 ) ] . + +c:city-objects-Building_2_geom_2_131 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_131_1 ) ] . + +c:city-objects-Building_2_geom_2_131_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-179 c:vertices-85 c:vertices-181 ) ] . + +c:city-objects-Building_2_geom_2_132 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_132_1 ) ] . + +c:city-objects-Building_2_geom_2_132_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-239 c:vertices-153 c:vertices-85 ) ] . + +c:city-objects-Building_2_geom_2_133 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_133_1 ) ] . + +c:city-objects-Building_2_geom_2_133_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-249 c:vertices-185 c:vertices-180 ) ] . + +c:city-objects-Building_2_geom_2_134 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_134_1 ) ] . + +c:city-objects-Building_2_geom_2_134_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-239 c:vertices-177 c:vertices-105 ) ] . + +c:city-objects-Building_2_geom_2_135 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_135_1 ) ] . + +c:city-objects-Building_2_geom_2_135_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-239 c:vertices-85 c:vertices-206 ) ] . + +c:city-objects-Building_2_geom_2_136 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_136_1 ) ] . + +c:city-objects-Building_2_geom_2_136_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-187 c:vertices-237 c:vertices-167 ) ] . + +c:city-objects-Building_2_geom_2_137 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_137_1 ) ] . + +c:city-objects-Building_2_geom_2_137_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-253 c:vertices-179 c:vertices-181 ) ] . + +c:city-objects-Building_2_geom_2_138 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_138_1 ) ] . + +c:city-objects-Building_2_geom_2_138_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-167 c:vertices-237 c:vertices-216 ) ] . + +c:city-objects-Building_2_geom_2_139 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_139_1 ) ] . + +c:city-objects-Building_2_geom_2_139_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-153 c:vertices-237 c:vertices-208 ) ] . + +c:city-objects-Building_2_geom_2_13_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-227 c:vertices-229 c:vertices-132 ) ] . + +c:city-objects-Building_2_geom_2_14 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_14_1 ) ] . + +c:city-objects-Building_2_geom_2_140 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_140_1 ) ] . + +c:city-objects-Building_2_geom_2_140_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-188 c:vertices-105 c:vertices-177 ) ] . + +c:city-objects-Building_2_geom_2_141 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_141_1 ) ] . + +c:city-objects-Building_2_geom_2_141_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-254 c:vertices-188 c:vertices-176 ) ] . + +c:city-objects-Building_2_geom_2_142 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_142_1 ) ] . + +c:city-objects-Building_2_geom_2_142_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-223 c:vertices-239 c:vertices-105 ) ] . + +c:city-objects-Building_2_geom_2_143 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_143_1 ) ] . + +c:city-objects-Building_2_geom_2_143_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-249 c:vertices-252 c:vertices-250 ) ] . + +c:city-objects-Building_2_geom_2_144 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_144_1 ) ] . + +c:city-objects-Building_2_geom_2_144_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-253 c:vertices-251 c:vertices-249 ) ] . + +c:city-objects-Building_2_geom_2_145 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_145_1 ) ] . + +c:city-objects-Building_2_geom_2_145_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-187 c:vertices-167 c:vertices-166 ) ] . + +c:city-objects-Building_2_geom_2_146 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_146_1 ) ] . + +c:city-objects-Building_2_geom_2_146_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-218 c:vertices-216 c:vertices-184 ) ] . + +c:city-objects-Building_2_geom_2_147 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_147_1 ) ] . + +c:city-objects-Building_2_geom_2_147_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-218 c:vertices-123 c:vertices-216 ) ] . + +c:city-objects-Building_2_geom_2_148 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_148_1 ) ] . + +c:city-objects-Building_2_geom_2_148_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-216 c:vertices-237 c:vertices-184 ) ] . + +c:city-objects-Building_2_geom_2_149 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_149_1 ) ] . + +c:city-objects-Building_2_geom_2_149_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-85 c:vertices-153 c:vertices-152 ) ] . + +c:city-objects-Building_2_geom_2_14_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-125 c:vertices-98 c:vertices-171 ) ] . + +c:city-objects-Building_2_geom_2_15 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_15_1 ) ] . + +c:city-objects-Building_2_geom_2_150 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_150_1 ) ] . + +c:city-objects-Building_2_geom_2_150_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-210 c:vertices-208 c:vertices-187 ) ] . + +c:city-objects-Building_2_geom_2_151 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_151_1 ) ] . + +c:city-objects-Building_2_geom_2_151_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-210 c:vertices-109 c:vertices-208 ) ] . + +c:city-objects-Building_2_geom_2_152 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_152_1 ) ] . + +c:city-objects-Building_2_geom_2_152_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-208 c:vertices-237 c:vertices-187 ) ] . + +c:city-objects-Building_2_geom_2_153 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_153_1 ) ] . + +c:city-objects-Building_2_geom_2_153_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-239 c:vertices-206 c:vertices-177 ) ] . + +c:city-objects-Building_2_geom_2_154 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_154_1 ) ] . + +c:city-objects-Building_2_geom_2_154_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-67 c:vertices-193 c:vertices-205 ) ] . + +c:city-objects-Building_2_geom_2_155 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_155_1 ) ] . + +c:city-objects-Building_2_geom_2_155_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-193 c:vertices-177 c:vertices-206 ) ] . + +c:city-objects-Building_2_geom_2_156 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_156_1 ) ] . + +c:city-objects-Building_2_geom_2_156_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-193 c:vertices-206 c:vertices-205 ) ] . + +c:city-objects-Building_2_geom_2_157 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_157_1 ) ] . + +c:city-objects-Building_2_geom_2_157_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-249 c:vertices-251 c:vertices-210 ) ] . + +c:city-objects-Building_2_geom_2_158 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_158_1 ) ] . + +c:city-objects-Building_2_geom_2_158_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-251 c:vertices-108 c:vertices-210 ) ] . + +c:city-objects-Building_2_geom_2_159 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_159_1 ) ] . + +c:city-objects-Building_2_geom_2_159_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-250 c:vertices-252 c:vertices-218 ) ] . + +c:city-objects-Building_2_geom_2_15_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-168 c:vertices-80 c:vertices-236 ) ] . + +c:city-objects-Building_2_geom_2_16 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_16_1 ) ] . + +c:city-objects-Building_2_geom_2_160 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_160_1 ) ] . + +c:city-objects-Building_2_geom_2_160_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-252 c:vertices-122 c:vertices-218 ) ] . + +c:city-objects-Building_2_geom_2_161 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_161_1 ) ] . + +c:city-objects-Building_2_geom_2_161_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-122 c:vertices-123 c:vertices-218 ) ] . + +c:city-objects-Building_2_geom_2_162 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_162_1 ) ] . + +c:city-objects-Building_2_geom_2_162_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-108 c:vertices-109 c:vertices-210 ) ] . + +c:city-objects-Building_2_geom_2_163 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_163_1 ) ] . + +c:city-objects-Building_2_geom_2_163_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-158 c:vertices-160 c:vertices-195 ) ] . + +c:city-objects-Building_2_geom_2_164 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_164_1 ) ] . + +c:city-objects-Building_2_geom_2_164_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-160 c:vertices-189 c:vertices-195 ) ] . + +c:city-objects-Building_2_geom_2_165 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_165_1 ) ] . + +c:city-objects-Building_2_geom_2_165_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-157 c:vertices-100 c:vertices-155 ) ] . + +c:city-objects-Building_2_geom_2_166 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_166_1 ) ] . + +c:city-objects-Building_2_geom_2_166_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-155 c:vertices-100 c:vertices-102 ) ] . + +c:city-objects-Building_2_geom_2_167 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_167_1 ) ] . + +c:city-objects-Building_2_geom_2_167_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-157 c:vertices-74 c:vertices-100 ) ] . + +c:city-objects-Building_2_geom_2_168 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_168_1 ) ] . + +c:city-objects-Building_2_geom_2_168_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-74 c:vertices-76 c:vertices-100 ) ] . + +c:city-objects-Building_2_geom_2_169 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_169_1 ) ] . + +c:city-objects-Building_2_geom_2_169_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-103 c:vertices-201 c:vertices-101 ) ] . + +c:city-objects-Building_2_geom_2_16_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-236 c:vertices-80 c:vertices-229 ) ] . + +c:city-objects-Building_2_geom_2_17 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_17_1 ) ] . + +c:city-objects-Building_2_geom_2_170 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_170_1 ) ] . + +c:city-objects-Building_2_geom_2_170_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-90 c:vertices-204 c:vertices-86 ) ] . + +c:city-objects-Building_2_geom_2_171 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_171_1 ) ] . + +c:city-objects-Building_2_geom_2_171_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-254 c:vertices-176 c:vertices-192 ) ] . + +c:city-objects-Building_2_geom_2_172 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_172_1 ) ] . + +c:city-objects-Building_2_geom_2_172_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-194 c:vertices-254 c:vertices-192 ) ] . + +c:city-objects-Building_2_geom_2_173 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_173_1 ) ] . + +c:city-objects-Building_2_geom_2_173_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-176 c:vertices-178 c:vertices-192 ) ] . + +c:city-objects-Building_2_geom_2_174 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_174_1 ) ] . + +c:city-objects-Building_2_geom_2_174_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-179 c:vertices-88 c:vertices-89 ) ] . + +c:city-objects-Building_2_geom_2_175 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_175_1 ) ] . + +c:city-objects-Building_2_geom_2_175_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-68 c:vertices-203 c:vertices-88 ) ] . + +c:city-objects-Building_2_geom_2_176 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_176_1 ) ] . + +c:city-objects-Building_2_geom_2_176_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-66 c:vertices-68 c:vertices-253 ) ] . + +c:city-objects-Building_2_geom_2_177 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_177_1 ) ] . + +c:city-objects-Building_2_geom_2_177_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-253 c:vertices-68 c:vertices-88 ) ] . + +c:city-objects-Building_2_geom_2_178 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_178_1 ) ] . + +c:city-objects-Building_2_geom_2_178_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-253 c:vertices-88 c:vertices-179 ) ] . + +c:city-objects-Building_2_geom_2_17_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-80 c:vertices-79 c:vertices-229 ) ] . + +c:city-objects-Building_2_geom_2_18 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_18_1 ) ] . + +c:city-objects-Building_2_geom_2_18_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-132 c:vertices-229 c:vertices-241 ) ] . + +c:city-objects-Building_2_geom_2_19 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_19_1 ) ] . + +c:city-objects-Building_2_geom_2_19_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-79 c:vertices-243 c:vertices-241 ) ] . + +c:city-objects-Building_2_geom_2_1_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-227 c:vertices-231 c:vertices-229 ) ] . + +c:city-objects-Building_2_geom_2_2 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_2_1 ) ] . + +c:city-objects-Building_2_geom_2_20 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_20_1 ) ] . + +c:city-objects-Building_2_geom_2_20_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-226 c:vertices-227 ) ] . + +c:city-objects-Building_2_geom_2_21 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_21_1 ) ] . + +c:city-objects-Building_2_geom_2_21_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-236 c:vertices-229 c:vertices-233 ) ] . + +c:city-objects-Building_2_geom_2_22 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_22_1 ) ] . + +c:city-objects-Building_2_geom_2_22_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-146 c:vertices-236 ) ] . + +c:city-objects-Building_2_geom_2_23 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_23_1 ) ] . + +c:city-objects-Building_2_geom_2_23_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-140 c:vertices-131 c:vertices-130 ) ] . + +c:city-objects-Building_2_geom_2_24 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_24_1 ) ] . + +c:city-objects-Building_2_geom_2_24_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-118 c:vertices-130 c:vertices-175 ) ] . + +c:city-objects-Building_2_geom_2_25 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_25_1 ) ] . + +c:city-objects-Building_2_geom_2_25_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-141 c:vertices-140 c:vertices-130 ) ] . + +c:city-objects-Building_2_geom_2_26 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_26_1 ) ] . + +c:city-objects-Building_2_geom_2_26_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-146 c:vertices-126 c:vertices-171 ) ] . + +c:city-objects-Building_2_geom_2_27 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_27_1 ) ] . + +c:city-objects-Building_2_geom_2_27_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-118 c:vertices-141 c:vertices-130 ) ] . + +c:city-objects-Building_2_geom_2_28 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_28_1 ) ] . + +c:city-objects-Building_2_geom_2_28_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-146 c:vertices-171 c:vertices-170 ) ] . + +c:city-objects-Building_2_geom_2_29 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_29_1 ) ] . + +c:city-objects-Building_2_geom_2_29_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-135 c:vertices-173 ) ] . + +c:city-objects-Building_2_geom_2_2_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-231 c:vertices-211 c:vertices-229 ) ] . + +c:city-objects-Building_2_geom_2_3 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_3_1 ) ] . + +c:city-objects-Building_2_geom_2_30 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_30_1 ) ] . + +c:city-objects-Building_2_geom_2_30_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-118 c:vertices-175 ) ] . + +c:city-objects-Building_2_geom_2_31 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_31_1 ) ] . + +c:city-objects-Building_2_geom_2_31_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-126 c:vertices-125 c:vertices-171 ) ] . + +c:city-objects-Building_2_geom_2_32 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_32_1 ) ] . + +c:city-objects-Building_2_geom_2_32_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-146 c:vertices-170 c:vertices-236 ) ] . + +c:city-objects-Building_2_geom_2_33 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_33_1 ) ] . + +c:city-objects-Building_2_geom_2_33_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-95 c:vertices-168 c:vertices-236 ) ] . + +c:city-objects-Building_2_geom_2_34 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_34_1 ) ] . + +c:city-objects-Building_2_geom_2_34_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-220 c:vertices-95 c:vertices-236 ) ] . + +c:city-objects-Building_2_geom_2_35 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_35_1 ) ] . + +c:city-objects-Building_2_geom_2_35_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-222 c:vertices-118 ) ] . + +c:city-objects-Building_2_geom_2_36 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_36_1 ) ] . + +c:city-objects-Building_2_geom_2_36_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-198 c:vertices-146 ) ] . + +c:city-objects-Building_2_geom_2_37 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_37_1 ) ] . + +c:city-objects-Building_2_geom_2_37_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-140 c:vertices-136 c:vertices-131 ) ] . + +c:city-objects-Building_2_geom_2_38 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_38_1 ) ] . + +c:city-objects-Building_2_geom_2_38_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-146 c:vertices-147 c:vertices-126 ) ] . + +c:city-objects-Building_2_geom_2_39 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_39_1 ) ] . + +c:city-objects-Building_2_geom_2_39_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-175 c:vertices-198 ) ] . + +c:city-objects-Building_2_geom_2_3_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-125 c:vertices-99 c:vertices-98 ) ] . + +c:city-objects-Building_2_geom_2_4 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_4_1 ) ] . + +c:city-objects-Building_2_geom_2_40 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_40_1 ) ] . + +c:city-objects-Building_2_geom_2_40_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-175 c:vertices-200 c:vertices-198 ) ] . + +c:city-objects-Building_2_geom_2_41 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_41_1 ) ] . + +c:city-objects-Building_2_geom_2_41_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-198 c:vertices-200 c:vertices-113 ) ] . + +c:city-objects-Building_2_geom_2_42 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_42_1 ) ] . + +c:city-objects-Building_2_geom_2_42_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-118 c:vertices-119 c:vertices-141 ) ] . + +c:city-objects-Building_2_geom_2_43 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_43_1 ) ] . + +c:city-objects-Building_2_geom_2_43_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-170 c:vertices-220 c:vertices-236 ) ] . + +c:city-objects-Building_2_geom_2_44 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_44_1 ) ] . + +c:city-objects-Building_2_geom_2_44_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-173 c:vertices-222 ) ] . + +c:city-objects-Building_2_geom_2_45 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_45_1 ) ] . + +c:city-objects-Building_2_geom_2_45_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-173 c:vertices-82 c:vertices-222 ) ] . + +c:city-objects-Building_2_geom_2_46 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_46_1 ) ] . + +c:city-objects-Building_2_geom_2_46_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-222 c:vertices-82 c:vertices-84 ) ] . + +c:city-objects-Building_2_geom_2_47 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_47_1 ) ] . + +c:city-objects-Building_2_geom_2_47_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-170 c:vertices-246 c:vertices-220 ) ] . + +c:city-objects-Building_2_geom_2_48 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_48_1 ) ] . + +c:city-objects-Building_2_geom_2_48_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-200 c:vertices-244 c:vertices-111 ) ] . + +c:city-objects-Building_2_geom_2_49 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_49_1 ) ] . + +c:city-objects-Building_2_geom_2_49_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-220 c:vertices-246 c:vertices-72 ) ] . + +c:city-objects-Building_2_geom_2_4_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-240 c:vertices-241 c:vertices-242 ) ] . + +c:city-objects-Building_2_geom_2_5 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_5_1 ) ] . + +c:city-objects-Building_2_geom_2_50 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_50_1 ) ] . + +c:city-objects-Building_2_geom_2_50_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-82 c:vertices-136 c:vertices-140 ) ] . + +c:city-objects-Building_2_geom_2_51 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_51_1 ) ] . + +c:city-objects-Building_2_geom_2_51_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-82 c:vertices-140 c:vertices-82 ) ] . + +c:city-objects-Building_2_geom_2_52 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_52_1 ) ] . + +c:city-objects-Building_2_geom_2_52_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-246 c:vertices-240 c:vertices-72 ) ] . + +c:city-objects-Building_2_geom_2_53 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_53_1 ) ] . + +c:city-objects-Building_2_geom_2_53_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-113 c:vertices-200 c:vertices-111 ) ] . + +c:city-objects-Building_2_geom_2_54 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_54_1 ) ] . + +c:city-objects-Building_2_geom_2_54_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-84 c:vertices-82 c:vertices-82 ) ] . + +c:city-objects-Building_2_geom_2_55 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_55_1 ) ] . + +c:city-objects-Building_2_geom_2_55_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-238 c:vertices-227 c:vertices-135 ) ] . + +c:city-objects-Building_2_geom_2_56 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_56_1 ) ] . + +c:city-objects-Building_2_geom_2_56_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-136 c:vertices-227 c:vertices-131 ) ] . + +c:city-objects-Building_2_geom_2_57 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_57_1 ) ] . + +c:city-objects-Building_2_geom_2_57_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-135 c:vertices-227 c:vertices-136 ) ] . + +c:city-objects-Building_2_geom_2_58 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_58_1 ) ] . + +c:city-objects-Building_2_geom_2_58_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-247 c:vertices-134 c:vertices-137 ) ] . + +c:city-objects-Building_2_geom_2_59 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_59_1 ) ] . + +c:city-objects-Building_2_geom_2_59_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-172 c:vertices-134 c:vertices-247 ) ] . + +c:city-objects-Building_2_geom_2_5_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-125 c:vertices-241 c:vertices-99 ) ] . + +c:city-objects-Building_2_geom_2_6 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_6_1 ) ] . + +c:city-objects-Building_2_geom_2_60 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_60_1 ) ] . + +c:city-objects-Building_2_geom_2_60_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-199 c:vertices-129 c:vertices-133 ) ] . + +c:city-objects-Building_2_geom_2_61 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_61_1 ) ] . + +c:city-objects-Building_2_geom_2_61_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-174 c:vertices-129 c:vertices-199 ) ] . + +c:city-objects-Building_2_geom_2_62 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_62_1 ) ] . + +c:city-objects-Building_2_geom_2_62_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-115 c:vertices-139 c:vertices-138 ) ] . + +c:city-objects-Building_2_geom_2_63 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_63_1 ) ] . + +c:city-objects-Building_2_geom_2_63_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-116 c:vertices-115 c:vertices-138 ) ] . + +c:city-objects-Building_2_geom_2_64 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_64_1 ) ] . + +c:city-objects-Building_2_geom_2_64_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-81 c:vertices-83 c:vertices-115 ) ] . + +c:city-objects-Building_2_geom_2_65 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_65_1 ) ] . + +c:city-objects-Building_2_geom_2_65_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-83 c:vertices-139 c:vertices-115 ) ] . + +c:city-objects-Building_2_geom_2_66 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_66_1 ) ] . + +c:city-objects-Building_2_geom_2_66_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-221 c:vertices-117 c:vertices-114 ) ] . + +c:city-objects-Building_2_geom_2_67 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_67_1 ) ] . + +c:city-objects-Building_2_geom_2_67_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-219 c:vertices-94 c:vertices-91 ) ] . + +c:city-objects-Building_2_geom_2_68 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_68_1 ) ] . + +c:city-objects-Building_2_geom_2_68_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-143 c:vertices-127 c:vertices-124 ) ] . + +c:city-objects-Building_2_geom_2_69 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_69_1 ) ] . + +c:city-objects-Building_2_geom_2_69_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-144 c:vertices-143 c:vertices-124 ) ] . + +c:city-objects-Building_2_geom_2_6_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-242 c:vertices-241 c:vertices-243 ) ] . + +c:city-objects-Building_2_geom_2_7 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_7_1 ) ] . + +c:city-objects-Building_2_geom_2_70 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_70_1 ) ] . + +c:city-objects-Building_2_geom_2_70_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-110 c:vertices-112 c:vertices-143 ) ] . + +c:city-objects-Building_2_geom_2_71 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_71_1 ) ] . + +c:city-objects-Building_2_geom_2_71_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-112 c:vertices-127 c:vertices-143 ) ] . + +c:city-objects-Building_2_geom_2_72 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_72_1 ) ] . + +c:city-objects-Building_2_geom_2_72_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-197 c:vertices-145 c:vertices-142 ) ] . + +c:city-objects-Building_2_geom_2_73 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_73_1 ) ] . + +c:city-objects-Building_2_geom_2_73_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-169 c:vertices-97 c:vertices-248 ) ] . + +c:city-objects-Building_2_geom_2_74 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_74_1 ) ] . + +c:city-objects-Building_2_geom_2_74_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-248 c:vertices-97 c:vertices-99 ) ] . + +c:city-objects-Building_2_geom_2_75 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_75_1 ) ] . + +c:city-objects-Building_2_geom_2_75_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-248 c:vertices-99 c:vertices-241 ) ] . + +c:city-objects-Building_2_geom_2_76 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_76_1 ) ] . + +c:city-objects-Building_2_geom_2_76_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-70 c:vertices-92 c:vertices-71 ) ] . + +c:city-objects-Building_2_geom_2_77 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_77_1 ) ] . + +c:city-objects-Building_2_geom_2_77_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-93 c:vertices-92 c:vertices-78 ) ] . + +c:city-objects-Building_2_geom_2_78 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_78_1 ) ] . + +c:city-objects-Building_2_geom_2_78_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-70 c:vertices-79 c:vertices-92 ) ] . + +c:city-objects-Building_2_geom_2_79 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_79_1 ) ] . + +c:city-objects-Building_2_geom_2_79_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-92 c:vertices-79 c:vertices-78 ) ] . + +c:city-objects-Building_2_geom_2_7_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-125 c:vertices-128 c:vertices-132 ) ] . + +c:city-objects-Building_2_geom_2_8 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_8_1 ) ] . + +c:city-objects-Building_2_geom_2_80 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_80_1 ) ] . + +c:city-objects-Building_2_geom_2_80_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-70 c:vertices-243 c:vertices-79 ) ] . + +c:city-objects-Building_2_geom_2_81 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_81_1 ) ] . + +c:city-objects-Building_2_geom_2_81_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-234 c:vertices-214 c:vertices-213 ) ] . + +c:city-objects-Building_2_geom_2_82 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_82_1 ) ] . + +c:city-objects-Building_2_geom_2_82_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-228 c:vertices-214 c:vertices-234 ) ] . + +c:city-objects-Building_2_geom_2_83 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_83_1 ) ] . + +c:city-objects-Building_2_geom_2_83_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-224 c:vertices-235 c:vertices-230 ) ] . + +c:city-objects-Building_2_geom_2_84 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_84_1 ) ] . + +c:city-objects-Building_2_geom_2_84_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-224 c:vertices-230 c:vertices-225 ) ] . + +c:city-objects-Building_2_geom_2_85 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_85_1 ) ] . + +c:city-objects-Building_2_geom_2_85_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-249 c:vertices-209 c:vertices-185 ) ] . + +c:city-objects-Building_2_geom_2_86 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_86_1 ) ] . + +c:city-objects-Building_2_geom_2_86_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-185 c:vertices-209 c:vertices-186 ) ] . + +c:city-objects-Building_2_geom_2_87 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_87_1 ) ] . + +c:city-objects-Building_2_geom_2_87_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-182 c:vertices-217 c:vertices-183 ) ] . + +c:city-objects-Building_2_geom_2_88 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_88_1 ) ] . + +c:city-objects-Building_2_geom_2_88_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-250 c:vertices-217 c:vertices-182 ) ] . + +c:city-objects-Building_2_geom_2_89 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_89_1 ) ] . + +c:city-objects-Building_2_geom_2_89_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-148 c:vertices-107 c:vertices-106 ) ] . + +c:city-objects-Building_2_geom_2_8_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-125 c:vertices-132 c:vertices-241 ) ] . + +c:city-objects-Building_2_geom_2_9 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_9_1 ) ] . + +c:city-objects-Building_2_geom_2_90 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_90_1 ) ] . + +c:city-objects-Building_2_geom_2_90_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-181 c:vertices-149 c:vertices-148 ) ] . + +c:city-objects-Building_2_geom_2_91 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_91_1 ) ] . + +c:city-objects-Building_2_geom_2_91_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-251 c:vertices-181 c:vertices-148 ) ] . + +c:city-objects-Building_2_geom_2_92 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_92_1 ) ] . + +c:city-objects-Building_2_geom_2_92_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-251 c:vertices-148 c:vertices-106 ) ] . + +c:city-objects-Building_2_geom_2_93 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_93_1 ) ] . + +c:city-objects-Building_2_geom_2_93_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-151 c:vertices-150 c:vertices-207 ) ] . + +c:city-objects-Building_2_geom_2_94 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_94_1 ) ] . + +c:city-objects-Building_2_geom_2_94_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-165 c:vertices-164 c:vertices-215 ) ] . + +c:city-objects-Building_2_geom_2_95 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_95_1 ) ] . + +c:city-objects-Building_2_geom_2_95_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-180 c:vertices-163 c:vertices-162 ) ] . + +c:city-objects-Building_2_geom_2_96 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_96_1 ) ] . + +c:city-objects-Building_2_geom_2_96_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-252 c:vertices-162 c:vertices-120 ) ] . + +c:city-objects-Building_2_geom_2_97 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_97_1 ) ] . + +c:city-objects-Building_2_geom_2_97_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-252 c:vertices-180 c:vertices-162 ) ] . + +c:city-objects-Building_2_geom_2_98 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_98_1 ) ] . + +c:city-objects-Building_2_geom_2_98_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-162 c:vertices-121 c:vertices-120 ) ] . + +c:city-objects-Building_2_geom_2_99 a geojson:Feature ; + geojson:topology [ a geojson:Polygon ; + geojson:relatedFeatures ( c:city-objects-Building_2_geom_2_99_1 ) ] . + +c:city-objects-Building_2_geom_2_99_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-211 c:vertices-237 c:vertices-212 ) ] . + +c:city-objects-Building_2_geom_2_9_1 a geojson:Feature ; + geojson:topology [ a geojson:LineString ; + geojson:relatedFeatures ( c:vertices-244 c:vertices-128 c:vertices-245 ) ] . + +c:vertices-245 a . + +c:vertices-73 a . + +c:vertices-117 a . + +c:vertices-137 a . + +c:vertices-240 a . + +c:vertices-242 a . + +c:vertices-247 a . + +c:vertices-87 a . + +c:vertices-94 a . + +c:vertices-96 a . + +c:vertices-104 a . + +c:vertices-106 a . + +c:vertices-112 a . + +c:vertices-119 a . + +c:vertices-120 a . + +c:vertices-13 a . + +c:vertices-133 a . + +c:vertices-139 a . + +c:vertices-147 a . + +c:vertices-158 a . + +c:vertices-169 a . + +c:vertices-172 a . + +c:vertices-191 a . + +c:vertices-199 a . + +c:vertices-209 a . + +c:vertices-217 a . + +c:vertices-219 a . + +c:vertices-221 a . + +c:vertices-243 a . + +c:vertices-244 a . + +c:vertices-246 a . + +c:vertices-248 a . + +c:vertices-62 a . + +c:vertices-67 a . + +c:vertices-69 a . + +c:vertices-71 a . + +c:vertices-75 a . + +c:vertices-81 a . + +c:vertices-83 a . + +c:vertices-84 a . + +c:vertices-0 a . + +c:vertices-1 a . + +c:vertices-103 a . + +c:vertices-108 a . + +c:vertices-111 a . + +c:vertices-122 a . + +c:vertices-127 a . + +c:vertices-128 a . + +c:vertices-14 a . + +c:vertices-145 a . + +c:vertices-149 a . + +c:vertices-151 a . + +c:vertices-157 a . + +c:vertices-163 a . + +c:vertices-165 a . + +c:vertices-168 a . + +c:vertices-173 a . + +c:vertices-178 a . + +c:vertices-18 a . + +c:vertices-183 a . + +c:vertices-186 a . + +c:vertices-213 a . + +c:vertices-214 a . + +c:vertices-224 a . + +c:vertices-28 a . + +c:vertices-30 a . + +c:vertices-36 a . + +c:vertices-42 a . + +c:vertices-45 a . + +c:vertices-47 a . + +c:vertices-48 a . + +c:vertices-58 a . + +c:vertices-66 a . + +c:vertices-7 a . + +c:vertices-70 a . + +c:vertices-72 a . + +c:vertices-78 a . + +c:vertices-89 a . + +c:vertices-90 a . + +c:vertices-98 a . + +c:vertices-10 a . + +c:vertices-105 a . + +c:vertices-109 a . + +c:vertices-113 a . + +c:vertices-114 a . + +c:vertices-123 a . + +c:vertices-124 a . + +c:vertices-129 a . + +c:vertices-134 a . + +c:vertices-138 a . + +c:vertices-142 a . + +c:vertices-152 a . + +c:vertices-155 a . + +c:vertices-156 a . + +c:vertices-160 a . + +c:vertices-170 a . + +c:vertices-174 a . + +c:vertices-176 a . + +c:vertices-179 a . + +c:vertices-184 a . + +c:vertices-189 a . + +c:vertices-190 a . + +c:vertices-195 a . + +c:vertices-204 a . + +c:vertices-205 a . + +c:vertices-21 a . + +c:vertices-22 a . + +c:vertices-220 a . + +c:vertices-222 a . + +c:vertices-223 a . + +c:vertices-225 a . + +c:vertices-228 a . + +c:vertices-23 a . + +c:vertices-230 a . + +c:vertices-234 a . + +c:vertices-235 a . + +c:vertices-250 a . + +c:vertices-3 a . + +c:vertices-34 a . + +c:vertices-38 a . + +c:vertices-40 a . + +c:vertices-52 a . + +c:vertices-54 a . + +c:vertices-55 a . + +c:vertices-56 a . + +c:vertices-57 a . + +c:vertices-61 a . + +c:vertices-63 a . + +c:vertices-64 a . + +c:vertices-65 a . + +c:vertices-74 a . + +c:vertices-77 a . + +c:vertices-9 a . + +c:vertices-91 a . + +c:vertices-97 a . + +c:vertices-99 a . + +c:vertices-101 a . + +c:vertices-107 a . + +c:vertices-11 a . + +c:vertices-110 a . + +c:vertices-115 a . + +c:vertices-116 a . + +c:vertices-121 a . + +c:vertices-126 a . + +c:vertices-135 a . + +c:vertices-136 a . + +c:vertices-141 a . + +c:vertices-144 a . + +c:vertices-15 a . + +c:vertices-150 a . + +c:vertices-161 a . + +c:vertices-164 a . + +c:vertices-166 a . + +c:vertices-167 a . + +c:vertices-17 a . + +c:vertices-175 a . + +c:vertices-180 a . + +c:vertices-182 a . + +c:vertices-185 a . + +c:vertices-188 a . + +c:vertices-192 a . + +c:vertices-193 a . + +c:vertices-197 a . + +c:vertices-198 a . + +c:vertices-200 a . + +c:vertices-201 a . + +c:vertices-202 a . + +c:vertices-203 a . + +c:vertices-207 a . + +c:vertices-208 a . + +c:vertices-212 a . + +c:vertices-215 a . + +c:vertices-216 a . + +c:vertices-231 a . + +c:vertices-24 a . + +c:vertices-25 a . + +c:vertices-251 a . + +c:vertices-252 a . + +c:vertices-254 a . + +c:vertices-29 a . + +c:vertices-32 a . + +c:vertices-33 a . + +c:vertices-39 a . + +c:vertices-43 a . + +c:vertices-49 a . + +c:vertices-53 a . + +c:vertices-60 a . + +c:vertices-68 a . + +c:vertices-76 a . + +c:vertices-8 a . + +c:vertices-80 a . + +c:vertices-92 a . + +c:vertices-95 a . + +c:vertices-100 a . + +c:vertices-102 a . + +c:vertices-130 a . + +c:vertices-131 a . + +c:vertices-132 a . + +c:vertices-140 a . + +c:vertices-143 a . + +c:vertices-148 a . + +c:vertices-153 a . + +c:vertices-162 a . + +c:vertices-171 a . + +c:vertices-177 a . + +c:vertices-181 a . + +c:vertices-187 a . + +c:vertices-196 a . + +c:vertices-2 a . + +c:vertices-20 a . + +c:vertices-206 a . + +c:vertices-210 a . + +c:vertices-218 a . + +c:vertices-226 a . + +c:vertices-233 a . + +c:vertices-26 a . + +c:vertices-35 a . + +c:vertices-4 a . + +c:vertices-41 a . + +c:vertices-46 a . + +c:vertices-50 a . + +c:vertices-6 a . + +c:vertices-79 a . + +c:vertices-86 a . + +c:vertices-88 a . + +c:vertices-93 a . + +c:vertices-159 a . + +c:vertices-16 a . + +c:vertices-19 a . + +c:vertices-241 a . + +c:vertices-249 a . + +c:vertices-27 a . + +c:vertices-31 a . + +c:vertices-37 a . + +c:vertices-44 a . + +c:vertices-5 a . + +c:vertices-51 a . + +c:vertices-85 a . + +c:vertices-118 a . + +c:vertices-12 a . + +c:vertices-125 a . + +c:vertices-154 a . + +c:vertices-194 a . + +c:vertices-227 a . + +c:vertices-253 a . + +c:vertices-82 a . + +c:vertices-146 a . + +c:vertices-229 a . + +c:vertices-232 a . + +c:vertices-59 a . + +c:vertices-236 a . + +c:vertices-237 a . + +c:vertices-238 a . + +c:vertices-211 a . + +c:vertices-239 a . + diff --git a/build/tests/geo/topo/datatypes/topology/_report.json b/build/tests/geo/topo/datatypes/topology/_report.json index 5ca8cc4..af9a3e2 100644 --- a/build/tests/geo/topo/datatypes/topology/_report.json +++ b/build/tests/geo/topo/datatypes/topology/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.datatypes.topology - Geometry using references", "bblockName": "Geometry using references", "bblockId": "ogc.geo.topo.datatypes.topology", - "generated": "2024-10-20T11:35:46.186479+00:00", + "generated": "2024-10-21T10:20:59.467523+00:00", "result": true, "items": [ { diff --git a/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt b/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt index 5d68c4a..60392c0 100644 --- a/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.datatypes.topology - Geometry using references -Generated 2024-10-20T11:35:46.186425+00:00 +Generated 2024-10-21T10:20:59.467453+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting diff --git a/build/tests/geo/topo/features/topo-arc/_report.json b/build/tests/geo/topo/features/topo-arc/_report.json index fd48eb7..1ab2a60 100644 --- a/build/tests/geo/topo/features/topo-arc/_report.json +++ b/build/tests/geo/topo/features/topo-arc/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology", "bblockName": "Non-linear Arc and Spline Descriptions using Point topology", "bblockId": "ogc.geo.topo.features.topo-arc", - "generated": "2024-10-20T11:35:47.788138+00:00", + "generated": "2024-10-21T10:21:01.556411+00:00", "result": true, "items": [ { @@ -105,15 +105,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -219,15 +219,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -333,15 +333,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -447,15 +447,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -550,15 +550,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -653,15 +653,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -756,15 +756,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -859,15 +859,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -962,15 +962,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } @@ -1065,15 +1065,15 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:na18fe3683b35404daafe03e607bfa177b1": { + "_:n5168fccbb58b4042b4906f86b7f3de41b3": { "nodes": [] }, - "_:na18fe3683b35404daafe03e607bfa177b3": { + "_:n5168fccbb58b4042b4906f86b7f3de41b1": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none*\n - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none*\n - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*\n" } ] } diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.validation_passed.txt index 5e31933..bbe3eba 100644 --- a/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.242385+00:00 +Generated 2024-10-21T10:21:00.839619+00:00 === General === Test was expected to fail and it did. === End General === @@ -71,8 +71,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.validation_passed.txt index 9332d4c..d340bb6 100644 --- a/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.304430+00:00 +Generated 2024-10-21T10:21:00.918990+00:00 === General === Test was expected to fail and it did. === End General === @@ -71,8 +71,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt index ebde6c6..1d50ede 100644 --- a/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.366299+00:00 +Generated 2024-10-21T10:21:00.998452+00:00 === General === Test was expected to fail and it did. === End General === @@ -70,8 +70,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt index 216cb07..6e6aab0 100644 --- a/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.488155+00:00 +Generated 2024-10-21T10:21:01.159724+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt index b8c30d3..7c15447 100644 --- a/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.548023+00:00 +Generated 2024-10-21T10:21:01.239305+00:00 === Files === Using example_2_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt index 5b2d275..0f4552f 100644 --- a/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.607833+00:00 +Generated 2024-10-21T10:21:01.317920+00:00 === Files === Using example_3_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt index f7022bf..92f1ec5 100644 --- a/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.666756+00:00 +Generated 2024-10-21T10:21:01.395830+00:00 === Files === Using example_5_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_7_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_7_1.validation_passed.txt index a7e358e..8c864f4 100644 --- a/build/tests/geo/topo/features/topo-arc/example_7_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_7_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.727085+00:00 +Generated 2024-10-21T10:21:01.476406+00:00 === Files === Using example_7_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_8_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_8_1.validation_passed.txt index 19d97b8..489baa7 100644 --- a/build/tests/geo/topo/features/topo-arc/example_8_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_8_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.788071+00:00 +Generated 2024-10-21T10:21:01.556314+00:00 === Files === Using example_8_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt index b75beb0..2a58bec 100644 --- a/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2024-10-20T11:35:47.427979+00:00 +Generated 2024-10-21T10:21:01.081430+00:00 === General === Test was expected to fail and it did. === End General === @@ -71,8 +71,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/_report.json b/build/tests/geo/topo/features/topo-feature-collection/_report.json index 71c5f85..6d0fcdb 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/_report.json +++ b/build/tests/geo/topo/features/topo-feature-collection/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection", "bblockName": "TopoFeatureCollection", "bblockId": "ogc.geo.topo.features.topo-feature-collection", - "generated": "2024-10-20T11:35:50.545770+00:00", + "generated": "2024-10-21T10:21:05.175681+00:00", "result": true, "items": [ { @@ -74,7 +74,7 @@ { "op": "shacl-report", "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:N42256223266a488380ce883491748fc5 ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n prefix dct: \n PREFIX geosparql: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref (geojson:geometry|geosparql:hasGeometry|dct:spatial)/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:N42256223266a488380ce883491748fc5 ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ] .\n\n_:N940c50d96a2d4180b7cbc9d03ae26d7d rdf:first ;\n rdf:rest ( ) .\n\n_:N42256223266a488380ce883491748fc5 a geojson:LineString ;\n geojson:relatedFeatures _:N940c50d96a2d4180b7cbc9d03ae26d7d .\n\n", + "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:N918aa20548da47b893254ba9402f57a3 ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n prefix dct: \n PREFIX geosparql: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref (geojson:geometry|geosparql:hasGeometry|dct:spatial)/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:N918aa20548da47b893254ba9402f57a3 ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ] .\n\n_:N0fdbbfe043d14fb7a553c190fa895364 rdf:first ;\n rdf:rest () .\n\n_:N548a2b1ae02144379c6ced1226355d6c rdf:first ;\n rdf:rest _:N0fdbbfe043d14fb7a553c190fa895364 .\n\n_:N918aa20548da47b893254ba9402f57a3 a geojson:LineString ;\n geojson:relatedFeatures _:N548a2b1ae02144379c6ced1226355d6c .\n\n", "isError": true, "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: False\n Results (2):\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoLinesReferencePoints\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:topology\n \tSource Constraint: [ sh:message Literal(\"Lines topologies must reference points within current graph closure.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n prefix dct: \n PREFIX geosparql: \n \n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref (geojson:geometry|geosparql:hasGeometry|dct:spatial)/rdf:type geojson:Point }\n }\n \") ]\n \tMessage: Lines topologies must reference points within current graph closure.\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoReferencesExist\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:relatedFeatures\n \tSource Constraint: [ sh:message Literal(\"Referenced features must be present within current graph closure for topological feature.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n \") ]\n \tMessage: Referenced features must be present within current graph closure for topological feature.\n " }, @@ -105,13 +105,13 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:n8d54ded17ddb48c1a484144a5de1c7e7b1": { + "_:nc4407250712d43e28438ae55e1342baeb3": { "nodes": [ "/geojson:geometry", "/geojson:geometry" ] }, - "_:n8d54ded17ddb48c1a484144a5de1c7e7b3": { + "_:nc4407250712d43e28438ae55e1342baeb1": { "nodes": [ "/geojson:geometry", "/geojson:geometry" @@ -119,7 +119,7 @@ } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry\n - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry\n" } ] } @@ -212,13 +212,13 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:n8d54ded17ddb48c1a484144a5de1c7e7b1": { + "_:nc4407250712d43e28438ae55e1342baeb3": { "nodes": [ "/geojson:geometry", "/geojson:geometry" ] }, - "_:n8d54ded17ddb48c1a484144a5de1c7e7b3": { + "_:nc4407250712d43e28438ae55e1342baeb1": { "nodes": [ "/geojson:geometry", "/geojson:geometry" @@ -226,7 +226,7 @@ } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry\n - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry\n" } ] } @@ -323,21 +323,21 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:n8d54ded17ddb48c1a484144a5de1c7e7b1": { + "_:nc4407250712d43e28438ae55e1342baeb3": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry" + "/geojson:geometry", + "/geojson:geometry" ] }, - "_:n8d54ded17ddb48c1a484144a5de1c7e7b3": { + "_:nc4407250712d43e28438ae55e1342baeb1": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry" + "/geojson:geometry", + "/geojson:geometry" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry\n - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry\n" } ] } @@ -412,22 +412,22 @@ "focusNodes": { "topo:testTopoLinesReferencePoints": { "nodes": [ - "/geojson:topology", "/geojson:topology", - "/geojson:topology" + "/geojson:topology", + "/geojson:topology" ] }, "topo:testTopoReferencesExist": { "nodes": [ - "/geojson:topology", "/geojson:topology", + "/geojson:topology", "/geojson:topology", - "/geojson:topology" + "/geojson:topology" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology\n" }, { "op": "shacl-report", @@ -439,23 +439,23 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:n8d54ded17ddb48c1a484144a5de1c7e7b1": { + "_:nc4407250712d43e28438ae55e1342baeb3": { "nodes": [ + "/geojson:geometry", "/geojson:geometry", - "/geojson:geometry", - "/geojson:geometry" + "/geojson:geometry" ] }, - "_:n8d54ded17ddb48c1a484144a5de1c7e7b3": { + "_:nc4407250712d43e28438ae55e1342baeb1": { "nodes": [ + "/geojson:geometry", "/geojson:geometry", - "/geojson:geometry", - "/geojson:geometry" + "/geojson:geometry" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry,/geojson:geometry\n - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry,/geojson:geometry\n - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry,/geojson:geometry\n" } ] } diff --git a/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt index e4005b6..7843c06 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2024-10-20T11:35:50.392763+00:00 +Generated 2024-10-21T10:21:04.974592+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt index f1526f5..183bf2c 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2024-10-20T11:35:50.438150+00:00 +Generated 2024-10-21T10:21:05.034236+00:00 === Files === Using example_2_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt index 6d9e4ba..27b178e 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2024-10-20T11:35:50.545708+00:00 +Generated 2024-10-21T10:21:05.175577+00:00 === Files === Using example_3_1.json from examples JSON-LD context is present - uplifting @@ -17,16 +17,16 @@ Validation result for _sources/features/topo-feature-collection/tests/topo-refs- Conforms: True Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology - - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology + - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology + - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry,/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry,/geojson:geometry === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt index 48e870f..be5f825 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2024-10-20T11:35:50.368442+00:00 +Generated 2024-10-21T10:21:04.942238+00:00 === General === Test was expected to fail and it did. === End General === @@ -73,8 +73,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: /geojson:geometry,/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: /geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: /geojson:geometry,/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: /geojson:geometry,/geojson:geometry === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature/_report.json b/build/tests/geo/topo/features/topo-feature/_report.json index b4bf9f3..a1be95b 100644 --- a/build/tests/geo/topo/features/topo-feature/_report.json +++ b/build/tests/geo/topo/features/topo-feature/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-feature - Feature with topology", "bblockName": "Feature with topology", "bblockId": "ogc.geo.topo.features.topo-feature", - "generated": "2024-10-20T11:35:49.145140+00:00", + "generated": "2024-10-21T10:21:03.217657+00:00", "result": true, "items": [ { @@ -71,30 +71,10 @@ "name": "SHACL", "title": "SHACL", "entries": [ - { - "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", - "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", - "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " - }, - { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", - "focusNodes": { - "_:n736a93ad7b0241a1aa37591e39f6d929b3": { - "nodes": [] - }, - "_:n736a93ad7b0241a1aa37591e39f6d929b1": { - "nodes": [] - } - }, - "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none*\n - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none*\n" - }, { "op": "shacl-report", "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:Ne97e2c62a3a744a7882fe540223d596c ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n prefix dct: \n PREFIX geosparql: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref (geojson:geometry|geosparql:hasGeometry|dct:spatial)/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:Ne97e2c62a3a744a7882fe540223d596c ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ] .\n\n_:N60b3dfe9bc2140a7ae53d6ecdec1c59e rdf:first ;\n rdf:rest () .\n\n_:Ne97e2c62a3a744a7882fe540223d596c a geojson:LineString ;\n geojson:relatedFeatures _:N60b3dfe9bc2140a7ae53d6ecdec1c59e .\n\n", + "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:N0c175d9d98b5405e8d0bb2598098680e ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:N0c175d9d98b5405e8d0bb2598098680e ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n prefix dct: \n PREFIX geosparql: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref (geojson:geometry|geosparql:hasGeometry|dct:spatial)/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ] .\n\n_:Nbc31d6c2f8ab48a3adb1bf6e60c775d7 rdf:first ;\n rdf:rest () .\n\n_:N0c175d9d98b5405e8d0bb2598098680e a geojson:LineString ;\n geojson:relatedFeatures _:Nbc31d6c2f8ab48a3adb1bf6e60c775d7 .\n\n", "isError": true, "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: False\n Results (2):\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoLinesReferencePoints\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:topology\n \tSource Constraint: [ sh:message Literal(\"Lines topologies must reference points within current graph closure.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n prefix dct: \n PREFIX geosparql: \n \n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref (geojson:geometry|geosparql:hasGeometry|dct:spatial)/rdf:type geojson:Point }\n }\n \") ]\n \tMessage: Lines topologies must reference points within current graph closure.\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoReferencesExist\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:relatedFeatures\n \tSource Constraint: [ sh:message Literal(\"Referenced features must be present within current graph closure for topological feature.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n \") ]\n \tMessage: Referenced features must be present within current graph closure for topological feature.\n " }, @@ -114,6 +94,26 @@ }, "isError": false, "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + }, + { + "op": "shacl-report", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", + "isError": false, + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + }, + { + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "focusNodes": { + "_:nc09e05c04475414c8e9ada56a8e8f661b3": { + "nodes": [] + }, + "_:nc09e05c04475414c8e9ada56a8e8f661b1": { + "nodes": [] + } + }, + "isError": false, + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none*\n - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none*\n" } ] } @@ -176,26 +176,6 @@ "name": "SHACL", "title": "SHACL", "entries": [ - { - "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", - "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", - "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " - }, - { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", - "focusNodes": { - "_:n736a93ad7b0241a1aa37591e39f6d929b3": { - "nodes": [] - }, - "_:n736a93ad7b0241a1aa37591e39f6d929b1": { - "nodes": [] - } - }, - "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none*\n - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none*\n" - }, { "op": "shacl-report", "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", @@ -219,6 +199,26 @@ }, "isError": false, "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + }, + { + "op": "shacl-report", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", + "isError": false, + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + }, + { + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "focusNodes": { + "_:nc09e05c04475414c8e9ada56a8e8f661b3": { + "nodes": [] + }, + "_:nc09e05c04475414c8e9ada56a8e8f661b1": { + "nodes": [] + } + }, + "isError": false, + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none*\n - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none*\n" } ] } @@ -283,45 +283,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n736a93ad7b0241a1aa37591e39f6d929b3": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n736a93ad7b0241a1aa37591e39f6d929b1": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none*\n - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:nc09e05c04475414c8e9ada56a8e8f661b3": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:nc09e05c04475414c8e9ada56a8e8f661b1": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none*\n - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none*\n" } ] } diff --git a/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt index 4f321a7..fa522a4 100644 --- a/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature - Feature with topology -Generated 2024-10-20T11:35:49.085837+00:00 +Generated 2024-10-21T10:21:03.087408+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -12,14 +12,6 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True - -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none* - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none* - Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True @@ -28,5 +20,13 @@ Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist. - Shape topo:testTopoLinesReferencePoints: /geojson:topology - Shape topo:testTopoReferencesExist: /geojson:topology +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True + +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none* + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none* + === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt index fa9564a..f13d95c 100644 --- a/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature - Feature with topology -Generated 2024-10-20T11:35:49.145078+00:00 +Generated 2024-10-21T10:21:03.217549+00:00 === Files === Using example_2_1.json from examples JSON-LD context is present - uplifting @@ -12,14 +12,6 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True - -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none* - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none* - Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True @@ -28,5 +20,13 @@ Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist. - Shape topo:testTopoLinesReferencePoints: *none* - Shape topo:testTopoReferencesExist: /geojson:topology +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True + +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none* + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none* + === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt index 9a32042..f4027f6 100644 --- a/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature - Feature with topology -Generated 2024-10-20T11:35:49.020302+00:00 +Generated 2024-10-21T10:21:02.998382+00:00 === General === Test was expected to fail and it did. === End General === @@ -16,14 +16,6 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True - -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none* - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none* - ** Validation error ** Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: @@ -76,5 +68,13 @@ Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist. - Shape topo:testTopoLinesReferencePoints: /geojson:topology - Shape topo:testTopoReferencesExist: /geojson:topology +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True + +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none* + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none* + === End SHACL === diff --git a/build/tests/geo/topo/features/topo-line/_report.json b/build/tests/geo/topo/features/topo-line/_report.json index 214e545..60c97c4 100644 --- a/build/tests/geo/topo/features/topo-line/_report.json +++ b/build/tests/geo/topo/features/topo-line/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-line - Line using Point References", "bblockName": "Line using Point References", "bblockId": "ogc.geo.topo.features.topo-line", - "generated": "2024-10-20T11:35:48.378749+00:00", + "generated": "2024-10-21T10:21:02.308753+00:00", "result": true, "items": [ { diff --git a/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt index 24bea55..fc9b868 100644 --- a/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-line - Line using Point References -Generated 2024-10-20T11:35:48.378687+00:00 +Generated 2024-10-21T10:21:02.308678+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting diff --git a/build/tests/geo/topo/features/topo-polyhedron/_report.json b/build/tests/geo/topo/features/topo-polyhedron/_report.json index 8a60f43..cc0fe48 100644 --- a/build/tests/geo/topo/features/topo-polyhedron/_report.json +++ b/build/tests/geo/topo/features/topo-polyhedron/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-polyhedron - 3D (Polyhedron) using nested Polygons and Point topology", "bblockName": "3D (Polyhedron) using nested Polygons and Point topology", "bblockId": "ogc.geo.topo.features.topo-polyhedron", - "generated": "2024-10-20T11:35:53.331024+00:00", + "generated": "2024-10-21T10:21:08.420821+00:00", "result": true, "items": [ { @@ -94,34 +94,34 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:n2fb33db164894a47a9577bc994378200b3": { + "_:nc4090c1850d14abd9ea3c40d727b3412b3": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry", - "/geojson:geometry", "/geojson:geometry", "/geojson:geometry", - "/geojson:geometry", - "/geojson:geometry", + "/geojson:geometry", + "/geojson:geometry", "/geojson:geometry", - "/geojson:geometry" + "/geojson:geometry", + "/geojson:geometry", + "/geojson:geometry", + "/geojson:geometry" ] }, - "_:n2fb33db164894a47a9577bc994378200b1": { + "_:nc4090c1850d14abd9ea3c40d727b3412b1": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry", - "/geojson:geometry", "/geojson:geometry", "/geojson:geometry", - "/geojson:geometry", + "/geojson:geometry", + "/geojson:geometry", "/geojson:geometry", - "/geojson:geometry" + "/geojson:geometry", + "/geojson:geometry", + "/geojson:geometry" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n2fb33db164894a47a9577bc994378200b3: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry\n - Shape _:n2fb33db164894a47a9577bc994378200b1: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:nc4090c1850d14abd9ea3c40d727b3412b3: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry\n - Shape _:nc4090c1850d14abd9ea3c40d727b3412b1: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry\n" } ] } diff --git a/build/tests/geo/topo/features/topo-polyhedron/example_1_1.ttl b/build/tests/geo/topo/features/topo-polyhedron/example_1_1.ttl index ab367ee..d859780 100644 --- a/build/tests/geo/topo/features/topo-polyhedron/example_1_1.ttl +++ b/build/tests/geo/topo/features/topo-polyhedron/example_1_1.ttl @@ -14,12 +14,12 @@ geojson:coordinates ( ( ( ( ( 4.798167e+05 5.705862e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798167e+05 5.705862e+06 110 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798242e+05 5.705854e+06 110 ) ( 4.798167e+05 5.705862e+06 110 ) ) ) ( ( ( 4.798242e+05 5.705854e+06 110 ) ( 4.798242e+05 5.705854e+06 100 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798297e+05 5.705859e+06 120 ) ( 4.798242e+05 5.705854e+06 110 ) ) ) ( ( ( 4.798297e+05 5.705859e+06 120 ) ( 4.798297e+05 5.705859e+06 100 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798222e+05 5.705867e+06 120 ) ( 4.798297e+05 5.705859e+06 120 ) ) ) ( ( ( 4.798222e+05 5.705867e+06 120 ) ( 4.798222e+05 5.705867e+06 100 ) ( 4.798167e+05 5.705862e+06 100 ) ( 4.798167e+05 5.705862e+06 110 ) ( 4.798222e+05 5.705867e+06 120 ) ) ) ) ) ] ; dcterms:time [ time:hasTime ( "2014-04-24T10:50:18Z" ".." ) ] ; ns2:CoordinateReferenceSystemCRS "http://www.opengis.net/def/crs/EPSG/0/5555" ; - rdfs:seeAlso [ rdfs:label "This feature is of type 'building'" ; - ns1:relation ; - oa:hasTarget ], - [ rdfs:label "Cadastral parcel 313 in district Wünnenberg (016)" ; + rdfs:seeAlso [ rdfs:label "Cadastral parcel 313 in district Wünnenberg (016)" ; ns1:relation ; - oa:hasTarget ] ; + oa:hasTarget ], + [ rdfs:label "This feature is of type 'building'" ; + ns1:relation ; + oa:hasTarget ] ; geojson:geometry [ a geojson:Polygon ; geojson:coordinates ( ( ( 8.709205e+00 5.150353e+01 100 ) ( 8.709313e+00 5.150346e+01 100 ) ( 8.709392e+00 5.15035e+01 100 ) ( 8.709284e+00 5.150357e+01 100 ) ( 8.709205e+00 5.150353e+01 100 ) ) ) ] ; geojson:topology [ a geojson:Polyhedron ; diff --git a/build/tests/geo/topo/features/topo-polyhedron/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-polyhedron/example_1_1.validation_passed.txt index 05f7b60..15cb0df 100644 --- a/build/tests/geo/topo/features/topo-polyhedron/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-polyhedron/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-polyhedron - 3D (Polyhedron) using nested Polygons and Point topology -Generated 2024-10-20T11:35:53.330944+00:00 +Generated 2024-10-21T10:21:08.420720+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -25,8 +25,8 @@ Validation result for _sources/features/topo-feature/tests/geometry-coordinates. Conforms: True Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n2fb33db164894a47a9577bc994378200b3: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry - - Shape _:n2fb33db164894a47a9577bc994378200b1: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry + - Shape _:nc4090c1850d14abd9ea3c40d727b3412b3: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry + - Shape _:nc4090c1850d14abd9ea3c40d727b3412b1: /geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry,/geojson:geometry === End SHACL === diff --git a/build/tests/report.html b/build/tests/report.html index 71b250d..5e48be7 100644 --- a/build/tests/report.html +++ b/build/tests/report.html @@ -51,7 +51,7 @@

Building blocks validation report

- Generated at 2024-10-20T11:35:53.344132+00:00 + Generated at 2024-10-21T10:21:08.436823+00:00

Number of passing building blocks: 7 / 7 (100%)

@@ -288,8 +288,8 @@

Conforms: True

Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -377,8 +377,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -465,8 +465,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -554,8 +554,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -600,8 +600,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -646,8 +646,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -692,8 +692,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -738,8 +738,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -784,8 +784,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -830,8 +830,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:na18fe3683b35404daafe03e607bfa177b1: *none* - - Shape _:na18fe3683b35404daafe03e607bfa177b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b3: *none* + - Shape _:n5168fccbb58b4042b4906f86b7f3de41b1: *none*
@@ -943,14 +943,6 @@

JSON Schema
Validation passed
SHACL
-
Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True -
-
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none* - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none* -
Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: False @@ -1000,6 +992,14 @@

Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - Shape topo:testTopoLinesReferencePoints: <file:///github/workspace/LineP1P2>/geojson:topology - Shape topo:testTopoReferencesExist: <file:///github/workspace/LineP1P2>/geojson:topology +
+
Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True +
+
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none* + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none*

@@ -1031,14 +1031,6 @@

JSON Schema
Validation passed
SHACL
-
Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True -
-
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none* - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none* -
Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True @@ -1046,6 +1038,14 @@

Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP1P2>/geojson:topology - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP1P2>/geojson:topology +
+
Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True +
+
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none* + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none*

@@ -1077,14 +1077,6 @@

JSON Schema
Validation passed
SHACL
-
Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True -
-
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b3: *none* - - Shape _:n736a93ad7b0241a1aa37591e39f6d929b1: *none* -
Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True @@ -1092,6 +1084,14 @@

Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - Shape topo:testTopoLinesReferencePoints: *none* - Shape topo:testTopoReferencesExist: <http://www.example.com/features/TriangleP1P2P3>/geojson:topology +
+
Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True +
+
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b3: *none* + - Shape _:nc09e05c04475414c8e9ada56a8e8f661b1: *none*

@@ -1205,8 +1205,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: <file:///github/workspace/P1>/geojson:geometry,<file:///github/workspace/P3>/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: <file:///github/workspace/P1>/geojson:geometry,<file:///github/workspace/P3>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: <file:///github/workspace/P1>/geojson:geometry,<file:///github/workspace/P3>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: <file:///github/workspace/P1>/geojson:geometry,<file:///github/workspace/P3>/geojson:geometry
@@ -1251,8 +1251,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry
@@ -1297,8 +1297,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry
@@ -1335,16 +1335,16 @@

Conforms: True
Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP3P1>/geojson:topology,<http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP3P1>/geojson:topology,<http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/TriangleP1P2P3>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology + - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology,<http://www.example.com/features/LineP3P1>/geojson:topology + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology,<http://www.example.com/features/TriangleP1P2P3>/geojson:topology,<http://www.example.com/features/LineP3P1>/geojson:topology
Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b1: <http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry - - Shape _:n8d54ded17ddb48c1a484144a5de1c7e7b3: <http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb3: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry + - Shape _:nc4407250712d43e28438ae55e1342baeb1: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry
@@ -1413,8 +1413,8 @@

Conforms: True
Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n2fb33db164894a47a9577bc994378200b3: <http://www.example.com/features/P479824.155_5705853.684_100>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_120>/geojson:geometry,<http://www.example.com/features/P479824.155_5705853.684_110>/geojson:geometry,<http://www.example.com/features/P479816.67_5705861.672_110>/geojson:geometry,<http://www.example.com/features/P479816.67_5705861.672_100>/geojson:geometry,<http://www.example.com/features/DENW19AL0000giv5BL>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_120>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_100>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_100>/geojson:geometry - - Shape _:n2fb33db164894a47a9577bc994378200b1: <http://www.example.com/features/P479824.155_5705853.684_100>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_120>/geojson:geometry,<http://www.example.com/features/P479824.155_5705853.684_110>/geojson:geometry,<http://www.example.com/features/P479816.67_5705861.672_110>/geojson:geometry,<http://www.example.com/features/P479816.67_5705861.672_100>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_120>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_100>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_100>/geojson:geometry + - Shape _:nc4090c1850d14abd9ea3c40d727b3412b3: <http://www.example.com/features/P479816.67_5705861.672_110>/geojson:geometry,<http://www.example.com/features/P479816.67_5705861.672_100>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_120>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_100>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_100>/geojson:geometry,<http://www.example.com/features/P479824.155_5705853.684_110>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_120>/geojson:geometry,<http://www.example.com/features/DENW19AL0000giv5BL>/geojson:geometry,<http://www.example.com/features/P479824.155_5705853.684_100>/geojson:geometry + - Shape _:nc4090c1850d14abd9ea3c40d727b3412b1: <http://www.example.com/features/P479816.67_5705861.672_110>/geojson:geometry,<http://www.example.com/features/P479816.67_5705861.672_100>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_120>/geojson:geometry,<http://www.example.com/features/P479829.666_5705858.785_100>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_100>/geojson:geometry,<http://www.example.com/features/P479824.155_5705853.684_110>/geojson:geometry,<http://www.example.com/features/P479822.187_5705866.783_120>/geojson:geometry,<http://www.example.com/features/P479824.155_5705853.684_100>/geojson:geometry