{
"type": "CityJSONExtension",
"name": "Generic",
"uri": "https://www.cityjson.org/extensions/download/generic.ext.json",
"version": "1.0.1",
"versionCityJSON": "1.1",
"description": "Extension to handle GenericCityObject; meant as a template to learn how to construct an Extension",
"extraRootProperties": {},
"extraAttributes": {},
"extraCityObjects": {
"+GenericCityObject": {
"allOf": [
{ "$ref": "cityobjects.schema.json#/_AbstractCityObject" },
{
"properties": {
"type": { "enum": [ "+GenericCityObject" ] },
"attributes": {
"type": "object",
"properties": {
"my-attribute": { "type": "string" }
}
},
"geometry": {
"type": "array",
"items": {
"oneOf": [
{ "$ref": "geomprimitives.schema.json#/MultiPoint" },
{ "$ref": "geomprimitives.schema.json#/MultiLineString" },
{ "$ref": "geomprimitives.schema.json#/MultiSurface" },
{ "$ref": "geomprimitives.schema.json#/CompositeSurface" },
{ "$ref": "geomprimitives.schema.json#/Solid" },
{ "$ref": "geomprimitives.schema.json#/MultiSolid" },
{ "$ref": "geomprimitives.schema.json#/CompositeSolid" },
{ "$ref": "geomprimitives.schema.json#/GeometryInstance" }
]
}
}
},
"required": [ "type" ]
}
]
}
}
}