often large (3GB+) • many “points of entry” • many di ff ways to do one thing ➡ few software packages correctly read/write CityGML-XML ➡ no parsers in JavaScript ➡ I personally get 😩 each time I get a new GML file
all core modules of CityGML data model v3.0 are mapped 💪 • Subset of CityGML core (~97% of features) • Modules not supported is on purpose (to keep it simple)
10 • External references to specific objects in a BIM file ➡ IfcOpenShell • “Point clouds can either be included in a CityGML dataset or just reference an external file of some common types such as LAS or LAZ.” ➡ LAZ reader • For TINs, you can store only points/lines ➡Constrained Delaunay triangulation library to reconstruct the TIN
1. Make one usable profile of CityGML that supports most important parts (similar to Simple Features) and a subset of GML. Give it a name! 2. Better rules for compliance: now the burden is on the encoding to prove that it’s compliant and it’s not really clear what the rules are. 3. Write parsers for the different encodings (in Python, JS, C++) so that others can just reuse/copy. Maybe an API to manipulate the data? 4. “Eat your own dog food”