Table of contents

  1. Simple geometries
  2. With Geometry templates
  3. With Extensions
  4. Some randomly selected cities
  5. CityJSONL (CityJSON Lines) examples
  6. Generating automatically your own CityJSON dataset
  7. Every buildings (~10M) in the Netherlands
  8. The topography of the Netherlands in 3D

Simple geometries

For different City Objects (buildings, trees, roads, etc.) and different geometries, see the latest CityJSON specifications, and to understand how the hierarchical brackets work, see this guide.

With Geometry templates

Here are 2 files with Geometry templates; more details about Geometry templates.

With Extensions

Some randomly selected cities

Those files are openly available (see a more exhaustive list) and they were converted to CityJSON v2.0 with citygml-tools (if original encoding was CityGML-XML), and/or upgraded with cjio upgrade. Please be aware that we simply converted the datasets, some datasets contain (geometrical) errors.

dataset CityGML-XML file (size) CityJSON file (size) textures geometric validity details
3DBAG [GML] (57MB) [JSON] (7.0MB) none 98% buildings valid Buildings in LoD 0, 1.2, 1.3, 2.2; multiple attributes
Den Haag [GML] (30MB) [JSON] (2.7MB) none 62% features valid 'Tile 01', Buildings (in LoD2) and Terrain are merged
Montréal [GML] (75MB) [JSON] (5.6MB) none 86% buildings valid Tile 'VM05'. Buildings in LoD2
New York [GML] (980MB) [JSON] (110MB) none 99.9% buildings are valid (only 21 are invalid) Tile 'DA13'. Buildings in LoD2
Railway [GML] (50MB) [JSON] (4.5MB) [ZIP] 74% features valid CityGML demo. Buildings, Railway, Terrain, Vegetation (with Geometry Templates), Water, Tunnels
Rotterdam [GML] (25MB) [JSON] (2.7MB) [ZIP] 76% buildings valid Neighbourhood 'Delfshaven'. Buildings in LoD2
Vienna [GML] (58MB) [JSON] (5.6MB) [ZIP] 98.5% buildings valid Buildings in LoD2
Zürich [GML] (2990MB) [JSON] (293MB) none 76% buildings valid Buildings in LoD2

On average CityJSON compresses ~7X a CityGML-XML file, and that without any loss of information (see more details).

We performed the geometric validation with val3dity and report the overall result in the column ‘validity’. To understand the errors, we suggest validating the files (how to do this) yourself.

CityJSONL (CityJSON Lines) examples

CityJSON Lines—CityJSONL for short—is a format based on JSON Text Sequences and CityJSON. It involves decomposing a dataset into each of its features (which becomes a CityJSONFeature) and storing them in a text file: one per line.

The following 2 subsets of datasets were generated using cjio (see details).

dataset CityJSONL file description
3DBAG 2 buildings randomly selected from the 3DBAG, LoD2.2 only
Montréal montré 4 buildings randomly selected from the Montréal dataset

Generating automatically your own CityJSON dataset

It is possible to generate automatically a 3D city model in CityJSON with 3dfier, just follow that simple tutorial.

Every buildings (~10M) in the Netherlands

Every building in the Netherlands, automatically reconstructed. Each building is available in 3 levels-of-details: LoD1.2, LoD1.3, and LoD2.2.

The topography of the Netherlands in 3D

Every building (in LoD1.2), every canals, every road, every bridge, in 3D. In CityJSON.

PDOK 3D Topografie

Please be aware that the tiles are very big, and they will most likely bring ninja or QGIS to their knees… The solution for the time being is to use a computer with 16GB+ of RAM, and use cjio to extract only the buildings for instance.