{ "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" ] } ] } } }