Newer
Older
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/geometry-schema.json",
"title": "geometry",
"description": "One geometry as defined by GeoJSON. Licensed as per original source is https://github.com/fge/sample-json-schemas/blob/master/geojson/geometry.json",
"type": "object",
"required": [
"type",
"coordinates"
],
"oneOf": [
{
"title": "Point",
"properties": {
"type": {
"type": "string",
"enum": [
"Point"
]
"coordinates": {
"$ref": "#/definitions/position"
}
}
},
{
"title": "MultiPoint",
"properties": {
"type": {
"type": "string",
"enum": [
"MultiPoint"
]
"coordinates": {
"$ref": "#/definitions/positionArray"
}
}
},
{
"title": "LineString",
"properties": {
"type": {
"type": "string",
"enum": [
"LineString"
]
"coordinates": {
"$ref": "#/definitions/lineString"
}
}
},
{
"title": "MultiLineString",
"properties": {
"type": {
"type": "string",
"enum": [
"MultiLineString"
]
"coordinates": {
"type": "array",
"items": {
"$ref": "#/definitions/lineString"
}
}
}
},
{
"title": "Polygon",
"properties": {
"type": {
"type": "string",
"enum": [
"Polygon"
]
}
},
{
"title": "MultiPolygon",
"properties": {
"type": {
"type": "string",
"enum": [
"MultiPolygon"
]
"coordinates": {
"type": "array",
"items": {
"$ref": "#/definitions/polygon"
}
}
}
}
],
"definitions": {
"position": {
"description": "A single position",
"type": "array",
"minItems": 2,
"items": [
{
"type": "number"
{
"type": "number"
}
],
"additionalItems": false
},
"positionArray": {
"description": "An array of positions",
"type": "array",
"items": {
"$ref": "#/definitions/position"
}
},
"lineString": {
"description": "An array of two or more positions",
"allOf": [
{
"$ref": "#/definitions/positionArray"
{
"minItems": 2
}
]
},
"linearRing": {
"description": "An array of four positions where the first equals the last",
"allOf": [
{
"$ref": "#/definitions/positionArray"
]
},
"polygon": {
"description": "An array of linear rings",
"type": "array",
"items": {
"$ref": "#/definitions/linearRing"
}