Command line converter of CityGML (.gml) to OBJ (.obj) files, while maintaining the semantics
The CityGML2OBJs.py
represents the starting point of the code, choose this file when configuring the runtime and pass the following parameters:
-i your-input-citygml-path-here
-o your-output-obj-path-here
Please make sure to use the absolute paths to the respective directories.
and Bob's your uncle! 👷
Optional feature | specification |
---|---|
Semanitcs Option | -s 1 |
Geometry Validation | -v 1 |
Object Preservation | -g 1 |
Skip the triangulation | -p 1 |
Conversion of the resulting dataset into a local coordinate system | -t 1 |
Translation of the CityGML dataset into a local coordinate system before further processing, without saving the translation parameters | -tC 1 |
Translation of the CityGML dataset into a local coordinate system before further processing, with saving the translation parameters to a designated .txt file | -tCw 1 |
- Using Python 3.10 and Windows 10 OS
- Using Python 3.10 and Ubuntu 22.04.4 LTS (Jammy Jellyfish)
- CityGML 1.0 or 2.0
- Files must end with
.gml
,.GML
,.xml
, or.XML
- Vertices in either
<gml:posList>
or<gml:pos>
- Your files must be valid (e.g., free check with CityDoctor
<gml:id>
for each<bldg:Building>
and other types of city objects<gml:id>
for each<gml:Polygon>
Information on the limitations can be found in this Wiki Page
We are indebted to Filip Biljecki, Hugo Ledoux and Ravi Peters from TU Delft for their initial version of the CityGML2OBJs converter. The archived version of the repo can still be found here: https://github.com/tudelft3d/CityGML2OBJs; the paper:
Biljecki, F., & Arroyo Ohori, K. (2015). Automatic semantic-preserving conversion between OBJ and CityGML. Eurographics Workshop on Urban Data Modelling and Visualisation 2015, pp. 25-30.
Feel free to open a discussion under Issues or write us an email