A compact and developer-friendly JSON-based encoding of the CityGML data model

Getting started Specifications (v1.0.1)


CityJSON is a JSON-based encoding for a subset of the OGC CityGML data model (version 2.0.0), which is an open standardised data model and exchange format (in GML) to store digital 3D models of cities and landscapes.

The aim of CityJSON is to offer an alternative to the GML encoding of CityGML, which can be verbose and complex (and thus rather frustrating to work with). CityJSON aims at being easy-to-use, both for reading datasets, and for creating them. It was designed with programmers in mind, so that tools and APIs supporting it can be quickly built, and several have been created already.

We believe that you should use CityJSON because:

  1. its simplicity means that it is already supported by several software
  2. you can in one-click convert CityGML files to CityJSON files, and vice versa, with the open-source tool citygml-tools; we even have a tutorial
  3. files are on average 6X more compact than their CityGML equivalent
  4. there is a web-viewer where you can drag-and-drop a file
  5. you can easily manipulate files with cjio, you can for instance merge files, remove/filter objects, change the CRS, manage the textures, etc.
  6. you can easily define Extensions to the core model (akin to ADEs)
  7. its development is open on GitHub, it is supported by a vibrant community, and everyone is welcome to contribute

Contributing to the project

We invite anyone to contribute to the development and improvement of CityJSON, all discussions, issues, and developments are open to everyone on the GitHub repository of CityJSON.

If you use CityJSON in an academic context, please cite this article

Ledoux H, Arroyo Ohori K, Kumar K, Dukai B, Labetski A, Vitalis A (2019). CityJSON: A compact and easy-to-use encoding of the CityGML data model. Open Geospatial Data, Software and Standards, 4:4