Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CityJSON and its usability at a national scale

Hugo Ledoux
September 29, 2021

CityJSON and its usability at a national scale

Presentation at the "3D city modelling workshop", an event organized by 3D building production -ad hoc group working under the Nordic cooperation in the fields of spatial data and land administration (https://norden.lmi.is/).

Hugo Ledoux

September 29, 2021
Tweet

More Decks by Hugo Ledoux

Other Decks in Technology

Transcript

  1. Hugo Ledoux TU Delft CityJSON and its usability at a

    national scale 3D city modelling workshop Nordic mapping agencies 2021-09-29
  2. CityJSON v1.0 3 1. "Building" 2. "BuildingPart" 3. "BuildingInstallation" 4.

    "Road" 5. "Railway" 6. "TransportSquare" 7. "TINRelief" 8. "WaterBody" 9. "PlantCover" 10. "SolitaryVegetationObject" 11. "LandUse" 12. "CityFurniture" 13. "GenericCityObject" 14. "Bridge" 15. "BridgePart" 16. "BridgeInstallation" 17. "BridgeConstructionElement" 18. "Tunnel" 19. "TunnelPart" 20. “TunnelInstallation” 21. “CityObjectGroup” • OGC community standard • all modules of CityGML v2.0 are mapped 💪 • software for full conversion CityGML <-> CityJSON • several software support it • Extensions (ADEs) are possible, and simplified
  3. Same information as CityGML, but in JSON format 4 {

    "type": “CityJSON", "version": “1.0”, "metadata": { "referenceSystem": "urn:ogc:def:crs:EPSG::7415", }, "CityObjects": { "id-1": { "type": "Building", "attributes": { "measuredHeight": 22.3, "roofType": "gable", "owner": “Elvis Presley" }, "geometry": [ { "type": "MultiSurface", "boundaries": [ [[0, 3, 2, 1]], [[4, 5, 6, 7]], [[0, 1, 5, 4]] ] } ] } }, "vertices": [ [23.1, 2321.2, 11.0], [111.1, 321.1, 12.0], ... ], "appearance": { "materials": [], "textures":[], "vertices-texture": [] } } human-readable file computers prefer this over XML ~6X compacter than CityGML
  4. Why an alternative encoding? 5 TL;DR • developers don’t like

    nor want to use XML • the OGC is moving away from XML at a surprisingly quick pace • CityGML XML-encoding is very complex and not web-friendly
  5. 7 Usable for who? 1. for developers 2. for GIS

    specialists 3. for laypersons
  6. One example: Zürich LoD2 buildings 9 CityGML = 3.0GB (but

    1GB of spaces/CRs/tabs!) CityJSON = 292MB Compression == 7.1X
  7. Compression factor == ~6X 10 Compression (v0.6) file CityGML size

    (original) CityGML size (w/o spaces) textures? CityJSON CityJSON compressed compression factor CityGML demo "GeoRes" 4.3MB 4.1MB yes 582KB 524KB 8.0 CityGML v2 demo "Railway" 45MB 34MB yes 4.5MB 4.3MB 8.1 Den Haag "tile 01" 23MB 18MB no, material 3.1MB 2.9MB 6.2 Montréal VM05 56MB 42MB yes 5.7MB 5.4MB 7.8 New York LoD2 (DA13) 590MB 574MB no 110MB 105MB 5.5 Rotterdam Delfshaven 16MB 15MB yes 2.8MB 2.6MB 5.4 Vienna 37MB 36MB no 5.6MB 5.3MB 6.8 5
  8. LoD 2.2 
 reconstruction 3D BAG is based on open

    datasets 12 Point cloud (AHN3) Footprint (BAG) + X 10,000,000 100% automatic
  9. 3D BAG is tiled into *small* and *manageable* datasets 14

    BAG polygons Quadtree Max 3500 buildings per tile
  10. Whole Netherlands in 3D is available in CityJSON 15 ~1000

    tiles of 5km X 6.25km 10M buildings (in LoD1) Average tile size was 2.5GB #FAIL
  11. Download is simple and fast 16 Stats last 2 weeks

    (~32000 downloads) CityJSON 56% OBJ 23% GPKG 21%
  12. GIS specialists do not all use/have FME: Python parsing is

    very easy 22 CityJSON makes developers happy (and thus productive)