CityJSON uses JSON Schemas to document and validate the data model, schemas should be seen as basically validating the syntax of a JSON document.
A CityJSON Extension is a JSON file that allows us to document how the core data model of CityJSON may be extended, and to validate CityJSON files containing new objects and/or attributes. This is conceptually akin to the Application Domain Extensions (ADEs) in CityGML; see Section 10.13 of the official CityGML documentation.
How to create an extension?
See the Extensions specifications for v1.1.3 for an overview of how the file should be structured.
This tutorial to create a noise extension guides you through the process, and explains how to validate the extension itself and datasets that uses the extension.
Registry of current Extensions
A collection of metrics to represent city model data quality
v1.0 | schema | details | Grigory Ilizirov & Sagi Dalyot
Energy Extension for Space Heating Demand Calculation (basically a conversion from the KIT Energy ADE)
v1.1.0 | schema | details | Özge Tufan
Extension to handle GenericCityObject in v1.1
v1.1 | schema | CityJSON core team
Linear Cell Complex
An extension that allows topological information of a city model to be stored as a Combinatorial Map based Linear Cell Complex
v0.2 | schema | details | 3D geoinformation TU Delft
Conversion of the CityGML Noise ADE
v1.1 | schema | details | CityJSON core team
Support LAS 3D point clouds for CityObjects geometries
v1.0 | schema | details | Gilles-Antoine Nys, Université Liège