DLR · Schema
DLR EOC STAC API Schema
JSON Schema for the DLR Earth Observation Center STAC API, covering collections, items, and search requests.
Earth ObservationRemote SensingSatellite DataGeospatialAerospaceOpen DataOGCSTACAtmospheric ScienceDigital Elevation Models
Properties
| Name | Type | Description |
|---|---|---|
| collection | object | |
| item | object | |
| searchBody | object |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/dlr/refs/heads/main/json-schema/eoc-stac-api.json",
"title": "DLR EOC STAC API Schema",
"description": "JSON Schema for the DLR Earth Observation Center STAC API, covering collections, items, and search requests.",
"definitions": {
"link": {
"type": "object",
"required": ["href"],
"properties": {
"href": { "type": "string", "format": "uri" },
"rel": { "type": "string" },
"type": { "type": "string" },
"title": { "type": "string" },
"hreflang": { "type": "string" }
}
},
"extent": {
"type": "object",
"properties": {
"spatial": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"items": {
"type": "array",
"items": { "type": "number" },
"minItems": 4,
"maxItems": 6
}
}
}
},
"temporal": {
"type": "object",
"properties": {
"interval": {
"type": "array",
"items": {
"type": "array",
"items": { "type": ["string", "null"] },
"minItems": 2,
"maxItems": 2
}
}
}
}
}
},
"collection": {
"type": "object",
"required": ["id", "links", "extent", "license"],
"properties": {
"id": { "type": "string" },
"title": { "type": "string" },
"description": { "type": "string" },
"license": { "type": "string" },
"extent": { "$ref": "#/definitions/extent" },
"links": {
"type": "array",
"items": { "$ref": "#/definitions/link" }
},
"stac_version": { "type": "string" },
"stac_extensions": {
"type": "array",
"items": { "type": "string" }
}
}
},
"item": {
"type": "object",
"required": ["type", "stac_version", "id", "links", "assets", "geometry", "bbox", "properties"],
"properties": {
"type": { "type": "string", "enum": ["Feature"] },
"stac_version": { "type": "string" },
"stac_extensions": {
"type": "array",
"items": { "type": "string" }
},
"id": { "type": "string" },
"geometry": {
"oneOf": [
{ "type": "null" },
{ "$ref": "#/definitions/geometryGeoJSON" }
]
},
"bbox": {
"type": "array",
"items": { "type": "number" },
"minItems": 4,
"maxItems": 6
},
"properties": {
"type": "object",
"required": ["datetime"],
"properties": {
"datetime": { "type": ["string", "null"], "format": "date-time" },
"created": { "type": "string", "format": "date-time" },
"updated": { "type": "string", "format": "date-time" },
"start_datetime": { "type": "string", "format": "date-time" },
"end_datetime": { "type": "string", "format": "date-time" },
"platform": { "type": "string" },
"instruments": {
"type": "array",
"items": { "type": "string" }
},
"constellation": { "type": "string" },
"mission": { "type": "string" },
"gsd": { "type": "number" }
}
},
"links": {
"type": "array",
"items": { "$ref": "#/definitions/link" }
},
"assets": {
"type": "object",
"additionalProperties": {
"type": "object",
"required": ["href"],
"properties": {
"href": { "type": "string", "format": "uri" },
"title": { "type": "string" },
"description": { "type": "string" },
"type": { "type": "string" },
"roles": {
"type": "array",
"items": { "type": "string" }
}
}
}
},
"collection": { "type": "string" }
}
},
"geometryGeoJSON": {
"oneOf": [
{ "$ref": "#/definitions/pointGeoJSON" },
{ "$ref": "#/definitions/linestringGeoJSON" },
{ "$ref": "#/definitions/polygonGeoJSON" },
{ "$ref": "#/definitions/multipointGeoJSON" },
{ "$ref": "#/definitions/multilinestringGeoJSON" },
{ "$ref": "#/definitions/multipolygonGeoJSON" },
{ "$ref": "#/definitions/geometrycollectionGeoJSON" }
]
},
"pointGeoJSON": {
"type": "object",
"required": ["type", "coordinates"],
"properties": {
"type": { "type": "string", "enum": ["Point"] },
"coordinates": { "type": "array", "minItems": 2, "items": { "type": "number" } }
}
},
"linestringGeoJSON": {
"type": "object",
"required": ["type", "coordinates"],
"properties": {
"type": { "type": "string", "enum": ["LineString"] },
"coordinates": { "type": "array", "minItems": 2, "items": { "type": "array", "minItems": 2, "items": { "type": "number" } } }
}
},
"polygonGeoJSON": {
"type": "object",
"required": ["type", "coordinates"],
"properties": {
"type": { "type": "string", "enum": ["Polygon"] },
"coordinates": { "type": "array", "items": { "type": "array", "minItems": 4, "items": { "type": "array", "minItems": 2, "items": { "type": "number" } } } }
}
},
"multipointGeoJSON": {
"type": "object",
"required": ["type", "coordinates"],
"properties": {
"type": { "type": "string", "enum": ["MultiPoint"] },
"coordinates": { "type": "array", "items": { "type": "array", "minItems": 2, "items": { "type": "number" } } }
}
},
"multilinestringGeoJSON": {
"type": "object",
"required": ["type", "coordinates"],
"properties": {
"type": { "type": "string", "enum": ["MultiLineString"] },
"coordinates": { "type": "array", "items": { "type": "array", "minItems": 2, "items": { "type": "array", "minItems": 2, "items": { "type": "number" } } } }
}
},
"multipolygonGeoJSON": {
"type": "object",
"required": ["type", "coordinates"],
"properties": {
"type": { "type": "string", "enum": ["MultiPolygon"] },
"coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "minItems": 4, "items": { "type": "array", "minItems": 2, "items": { "type": "number" } } } } }
}
},
"geometrycollectionGeoJSON": {
"type": "object",
"required": ["type", "geometries"],
"properties": {
"type": { "type": "string", "enum": ["GeometryCollection"] },
"geometries": { "type": "array", "items": { "$ref": "#/definitions/geometryGeoJSON" } }
}
},
"searchBody": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"items": { "type": "number" },
"minItems": 4,
"maxItems": 6
},
"datetime": { "type": "string" },
"intersects": { "$ref": "#/definitions/geometryGeoJSON" },
"ids": { "type": "array", "items": { "type": "string" } },
"collections": { "type": "array", "items": { "type": "string" } },
"limit": { "type": "integer", "minimum": 1, "maximum": 10000 },
"fields": {
"type": "object",
"properties": {
"include": { "type": "array", "items": { "type": "string" } },
"exclude": { "type": "array", "items": { "type": "string" } }
}
},
"sortby": {
"type": "array",
"items": {
"type": "object",
"required": ["field", "direction"],
"properties": {
"field": { "type": "string" },
"direction": { "type": "string", "enum": ["asc", "desc"] }
}
}
},
"filter": { "type": "object" },
"filter-lang": { "type": "string" }
}
}
},
"type": "object",
"properties": {
"collection": { "$ref": "#/definitions/collection" },
"item": { "$ref": "#/definitions/item" },
"searchBody": { "$ref": "#/definitions/searchBody" }
}
}