Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@

# CityJSON
>
> [!IMPORTANT]
> This is still a work in progress.

[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/cityjson/specs?label=version&style=for-the-badge)](https://github.com/cityjson/specs/releases/latest/) [![GitHub license](https://img.shields.io/github/license/cityjson/specs?style=for-the-badge)](https://github.com/cityjson/specs/blob/main/LICENSE)


This repository is where the specifications and the schemas of CityJSON are kept.
All previous versions are kept in tags in the commits.

For all the details, see the official CityJSON website: [https://cityjson.org](https://cityjson.org).


## What is CityJSON?

CityJSON is a [JSON-based](http://json.org) encoding for a subset of the [OGC CityGML](http://www.opengeospatial.org/standards/citygml) data model (version 3.0.0), which is an open standardised data model and exchange format (in [GML](http://www.opengeospatial.org/standards/gml)) to store digital 3D models of cities and landscapes.
CityJSON is a [JSON-based](http://json.org) encoding for a subset of the [OGC CityGML](http://www.opengeospatial.org/standards/citygml) data model (version 3.0.0), which is an open standardised data model and exchange format (in [GML](http://www.opengeospatial.org/standards/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).
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 software](https://www.cityjson.org/software/) have been created already.


## Contributing to the project
## 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.


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

Ledoux H, Arroyo Ohori K, Kumar K, Dukai B, Labetski A, Vitalis S (2019). CityJSON: A compact and easy-to-use encoding of the CityGML data model. **Open Geospatial Data, Software and Standards**, 4:4 [(DOI)](http://dx.doi.org/10.1186/s40965-019-0064-0) [(PDF)](https://opengeospatialdata.springeropen.com/counter/pdf/10.1186/s40965-019-0064-0.pdf)

2 changes: 2 additions & 0 deletions schemas/appearance.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"$id": "https://www.cityjson.org/schemas/2.0.1/appearance.schema.json",
"title": "CityJSON appearance schema v2.0.1",
"Material": {
"title": "Material",
"type": "object",
"properties": {
"name": {
Expand Down Expand Up @@ -51,6 +52,7 @@
"additionalProperties": false
},
"Texture": {
"title": "Texture",
"type": "object",
"properties": {
"type": {
Expand Down
2 changes: 1 addition & 1 deletion schemas/cityjson.min.schema.json

Large diffs are not rendered by default.

25 changes: 11 additions & 14 deletions schemas/cityjson.schema.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://www.cityjson.org/schemas/2.0.1/cityjson.schema.json",
"title": "CityJSON v2.0.1",
"title": "CityJSON",
"description": "CityJSON specifications v2.0.1",
"type": "object",
"properties": {
"type": {
"enum": [
"CityJSON"
]
"const": "CityJSON"
},
"version": {
"enum": [
"2.0"
]
"const": "2.0"
},
"metadata": {
"type": "object",
Expand Down Expand Up @@ -41,6 +37,7 @@
},
"CityObjects": {
"type": "object",
"title": "CityObjects",
"additionalProperties": {
"oneOf": [
{
Expand Down Expand Up @@ -228,25 +225,25 @@
"items": {
"oneOf": [
{
"$ref": "geomprimitives.schema.json#/MultiPoint"
"$ref": "geomprimitives.schema.json#/$defs/MultiPoint"
},
{
"$ref": "geomprimitives.schema.json#/MultiLineString"
"$ref": "geomprimitives.schema.json#/$defs/MultiLineString"
},
{
"$ref": "geomprimitives.schema.json#/Solid"
"$ref": "geomprimitives.schema.json#/$defs/Solid"
},
{
"$ref": "geomprimitives.schema.json#/MultiSolid"
"$ref": "geomprimitives.schema.json#/$defs/MultiSolid"
},
{
"$ref": "geomprimitives.schema.json#/CompositeSolid"
"$ref": "geomprimitives.schema.json#/$defs/CompositeSolid"
},
{
"$ref": "geomprimitives.schema.json#/MultiSurface"
"$ref": "geomprimitives.schema.json#/$defs/MultiSurface"
},
{
"$ref": "geomprimitives.schema.json#/CompositeSurface"
"$ref": "geomprimitives.schema.json#/$defs/CompositeSurface"
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion schemas/cityjsonfeature.min.schema.json

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions schemas/cityjsonfeature.schema.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "CityJSONFeature v2.0.1",
"$id": "https://www.cityjson.org/schemas/2.0.1/cityjsonfeature.schema.json",
"$id": "https://www.cityjson.org/schemas/2.0.1/cityjsonfeature.schema.json",
"description": "CityJSONFeature schema v2.0.1",
"type": "object",
"properties": {
"type": {
"enum": [
"CityJSONFeature"
]
"const": "CityJSONFeature"
},
"id": {
"type": "string"
},
"id": { "type": "string" },
"CityObjects": {
"type": "object",
"additionalProperties": {
Expand Down Expand Up @@ -68,7 +68,7 @@
},
{
"$ref": "cityobjects.schema.json#/GenericCityObject"
},
},
{
"$ref": "cityobjects.schema.json#/LandUse"
},
Expand Down
Loading