Imported CWL types¶
Follow below an example to demonstrate how the library handles and convert a CWL where inputs are imported from an external URL.
1. Parsing¶
In this sample we'll show the access from a remote public URL.
In [1]:
Copied!
from cwl_loader import load_cwl_from_location
from cwl2ogc import BaseCWLtypes2OGCConverter
cwl_document = load_cwl_from_location('../tests/artifacts/cwl-types/app.cwl')
cwl_converter = BaseCWLtypes2OGCConverter(cwl_document)
from cwl_loader import load_cwl_from_location
from cwl2ogc import BaseCWLtypes2OGCConverter
cwl_document = load_cwl_from_location('../tests/artifacts/cwl-types/app.cwl')
cwl_converter = BaseCWLtypes2OGCConverter(cwl_document)
2025-09-17 21:15:38.115 | DEBUG | cwl_loader:load_cwl_from_location:220 - Loading CWL document from ../tests/artifacts/cwl-types/app.cwl...
2025-09-17 21:15:38.116 | DEBUG | cwl_loader:_load_cwl_from_stream:223 - Reading stream from ../tests/artifacts/cwl-types/app.cwl...
2025-09-17 21:15:38.122 | DEBUG | cwl_loader:load_cwl_from_stream:197 - CWL data of type <class 'ruamel.yaml.comments.CommentedMap'> successfully loaded from stream
2025-09-17 21:15:38.123 | DEBUG | cwl_loader:load_cwl_from_yaml:141 - Updating the model of type 'CommentedMap' to version 'v1.2'...
2025-09-17 21:15:38.127 | DEBUG | cwl_loader:load_cwl_from_yaml:152 - Raw CWL document successfully updated to v1.2! Now converting to the CWL model...
2025-09-17 21:15:38.655 | DEBUG | cwl_loader:load_cwl_from_yaml:160 - Raw CWL document successfully updated to v1.2! Now dereferencing the steps[].run...
2025-09-17 21:15:38.656 | DEBUG | cwl_loader:load_cwl_from_yaml:170 - steps[].run successfully dereferenced! Now dereferencing the FQNs...
2025-09-17 21:15:38.656 | DEBUG | cwl_loader:_clean_process:90 - Cleaning CommandLineTool main...
2025-09-17 21:15:38.657 | DEBUG | cwl_loader:load_cwl_from_yaml:175 - CWL document successfully dereferenced!
2025-09-17 21:15:38.657 | DEBUG | cwl_loader:_load_cwl_from_stream:231 - Stream from ../tests/artifacts/cwl-types/app.cwl successfully load!
2. Inputs conversion¶
Once the document is parsed, invoke the cwl2ogc
APIs to convert the CWL inputs to the OGC JSON format:
In [2]:
Copied!
import sys
cwl_converter.dump_inputs(stream=sys.stdout, pretty_print=True)
import sys
cwl_converter.dump_inputs(stream=sys.stdout, pretty_print=True)
{ "aoi": { "schema": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "FeatureCollection" ] }, "features": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "Feature" ] }, "id": { "type": "string" }, "geometry": { "nullable": false, "anyOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "coordinates": { "type": "array", "items": { "type": "number", "format": "double" } }, "bbox": { "type": "array", "items": { "type": "number", "format": "double" } } }, "required": [ "type", "coordinates", "bbox" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "coordinates": { "type": "array", "items": { "type": "number", "format": "double" } }, "bbox": { "type": "array", "items": { "type": "number", "format": "double" } } }, "required": [ "type", "coordinates", "bbox" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number", "format": "double" } } }, "bbox": { "type": "array", "items": { "type": "number", "format": "double" } } }, "required": [ "type", "coordinates", "bbox" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number", "format": "double" } } }, "bbox": { "type": "array", "items": { "type": "number", "format": "double" } } }, "required": [ "type", "coordinates", "bbox" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number", "format": "double" } } } }, "bbox": { "type": "array", "items": { "type": "number", "format": "double" } } }, "required": [ "type", "coordinates", "bbox" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number", "format": "double" } } } } }, "bbox": { "type": "array", "items": { "type": "number", "format": "double" } } }, "required": [ "type", "coordinates", "bbox" ] } ] }, "bbox": { "type": "array", "items": { "type": "number", "format": "double" } } }, "required": [ "type", "id", "geometry", "bbox" ] } }, "links": { "type": "array", "items": { "type": "object", "properties": { "href": { "type": "string" }, "rel": { "type": "string" }, "type": { "type": "string" }, "hreflang": { "type": "string" }, "title": { "type": "string" }, "length": { "type": "integer", "format": "int32" } }, "required": [ "href", "rel", "type", "hreflang", "title", "length" ] } }, "timeStamp": { "type": "string" }, "numberMatched": { "type": "integer", "format": "int32" }, "numberReturned": { "type": "integer", "format": "int32" } }, "required": [ "type", "features", "links", "timeStamp", "numberMatched", "numberReturned" ] }, "metadata": [ { "title": "cwl:type", "value": "https://raw.githubusercontent.com/eoap/schemas/main/geojson.yaml#FeatureCollection" } ], "minOccurs": 1, "maxOccurs": 1, "valuePassing": "byValue", "title": "Area of interest", "description": "Area of interest defined as a bounding box" } }
3. Outputs conversion¶
Users can reuse the BaseCWLtypes2OGCConverter
instance to convert the CWL outputs to the OGC JSON format:
In [3]:
Copied!
cwl_converter.dump_outputs(stream=sys.stdout, pretty_print=True)
cwl_converter.dump_outputs(stream=sys.stdout, pretty_print=True)
{ "echo_output": { "schema": { "type": "string" }, "metadata": [ { "title": "cwl:type", "value": "stdout" } ] }, "persistent_output": { "schema": { "oneOf": [ { "type": "string", "format": "uri" }, { "title": "STAC Item", "description": "This object represents the metadata for an item in a SpatioTemporal Asset Catalog.", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/item.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "assets", "geometry", "id", "links", "properties", "stac_version", "type" ], "properties": { "type": { "type": "string", "enum": [ "Feature" ] }, "properties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "title": { "title": "Item Title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Item Description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "anyOf": [ { "required": [ "datetime" ], "properties": { "datetime": { "not": { "anyOf": [ { "type": "null" } ] } } } }, { "required": [ "datetime", "start_datetime", "end_datetime" ] } ], "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } }, "oneOf": [ { "type": "null" }, { "type": "object" } ] }, "assets": { "title": "Asset links", "description": "Links to assets", "type": "object", "additionalProperties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } } }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometry": { "oneOf": [ { "type": "null" }, { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } }, { "title": "GeoJSON GeometryCollection", "type": "object", "required": [ "type", "geometries" ], "properties": { "type": { "type": "string", "enum": [ "GeometryCollection" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometries": { "type": "array", "items": { "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } } } ] }, "id": { "title": "Provider ID", "description": "Provider item ID", "type": "string", "minLength": 1, "oneOf": [ { "type": "number" }, { "type": "string" } ] }, "links": { "title": "Item links", "description": "Links to item relations", "type": "array", "items": { "type": "object", "required": [ "rel", "href" ], "properties": { "title": { "title": "Link title", "type": "string" }, "type": { "title": "Link type", "type": "string" }, "href": { "title": "Link reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "rel": { "title": "Link relation type", "type": "string", "minLength": 1 } } } }, "stac_extensions": { "title": "STAC extensions", "type": "array", "items": { "title": "Reference to a JSON Schema", "type": "string", "format": "iri" }, "uniqueItems": true }, "stac_version": { "title": "STAC version", "type": "string", "const": "1.0.0" } }, "definitions": { "asset": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } }, "assets": { "title": "Asset links", "description": "Links to assets", "type": "object", "additionalProperties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } } }, "common_metadata": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "title": { "title": "Item Title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Item Description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } }, "core": { "title": "GeoJSON Feature", "$id": "https://geojson.org/schema/Feature.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "assets", "geometry", "id", "links", "properties", "stac_version", "type" ], "properties": { "type": { "type": "string", "enum": [ "Feature" ] }, "properties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "title": { "title": "Item Title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Item Description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "anyOf": [ { "required": [ "datetime" ], "properties": { "datetime": { "not": { "anyOf": [ { "type": "null" } ] } } } }, { "required": [ "datetime", "start_datetime", "end_datetime" ] } ], "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } }, "oneOf": [ { "type": "null" }, { "type": "object" } ] }, "assets": { "title": "Asset links", "description": "Links to assets", "type": "object", "additionalProperties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } } }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometry": { "oneOf": [ { "type": "null" }, { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } }, { "title": "GeoJSON GeometryCollection", "type": "object", "required": [ "type", "geometries" ], "properties": { "type": { "type": "string", "enum": [ "GeometryCollection" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometries": { "type": "array", "items": { "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } } } ] }, "id": { "title": "Provider ID", "description": "Provider item ID", "type": "string", "minLength": 1, "oneOf": [ { "type": "number" }, { "type": "string" } ] }, "links": { "title": "Item links", "description": "Links to item relations", "type": "array", "items": { "type": "object", "required": [ "rel", "href" ], "properties": { "title": { "title": "Link title", "type": "string" }, "type": { "title": "Link type", "type": "string" }, "href": { "title": "Link reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "rel": { "title": "Link relation type", "type": "string", "minLength": 1 } } } }, "stac_extensions": { "title": "STAC extensions", "type": "array", "items": { "title": "Reference to a JSON Schema", "type": "string", "format": "iri" }, "uniqueItems": true }, "stac_version": { "title": "STAC version", "type": "string", "const": "1.0.0" } }, "else": { "properties": { "collection": { "not": {} } } }, "if": { "properties": { "links": { "contains": { "required": [ "rel" ], "properties": { "rel": { "const": "collection" } } } } } }, "oneOf": [ { "type": "object", "required": [ "geometry", "bbox" ], "properties": { "bbox": { "type": "array", "items": { "type": "number" }, "oneOf": [ { "maxItems": 4, "minItems": 4 }, { "maxItems": 6, "minItems": 6 } ] }, "geometry": { "title": "GeoJSON Geometry", "$id": "https://geojson.org/schema/Geometry.json", "$schema": "http://json-schema.org/draft-07/schema#", "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } }, { "type": "object", "required": [ "geometry" ], "properties": { "bbox": { "not": { "anyOf": [ {} ] } }, "geometry": { "type": "null" } } } ], "then": { "required": [ "collection" ], "properties": { "collection": { "title": "Collection ID", "description": "The ID of the STAC Collection this Item references to.", "type": "string", "minLength": 1 } } } }, "link": { "type": "object", "required": [ "rel", "href" ], "properties": { "title": { "title": "Link title", "type": "string" }, "type": { "title": "Link type", "type": "string" }, "href": { "title": "Link reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "rel": { "title": "Link relation type", "type": "string", "minLength": 1 } } } }, "else": { "properties": { "collection": { "not": {} } } }, "if": { "properties": { "links": { "contains": { "required": [ "rel" ], "properties": { "rel": { "const": "collection" } } } } } }, "oneOf": [ { "type": "object", "required": [ "geometry", "bbox" ], "properties": { "bbox": { "type": "array", "items": { "type": "number" }, "oneOf": [ { "maxItems": 4, "minItems": 4 }, { "maxItems": 6, "minItems": 6 } ] }, "geometry": { "title": "GeoJSON Geometry", "$id": "https://geojson.org/schema/Geometry.json", "$schema": "http://json-schema.org/draft-07/schema#", "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } }, { "type": "object", "required": [ "geometry" ], "properties": { "bbox": { "not": { "anyOf": [ {} ] } }, "geometry": { "type": "null" } } } ], "then": { "required": [ "collection" ], "properties": { "collection": { "title": "Collection ID", "description": "The ID of the STAC Collection this Item references to.", "type": "string", "minLength": 1 } } } } ] }, "metadata": [ { "title": "cwl:type", "value": "File" } ] }, "dir_output": { "schema": { "type": "array", "items": { "oneOf": [ { "type": "string", "format": "uri" }, { "title": "STAC Item", "description": "This object represents the metadata for an item in a SpatioTemporal Asset Catalog.", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/item.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "assets", "geometry", "id", "links", "properties", "stac_version", "type" ], "properties": { "type": { "type": "string", "enum": [ "Feature" ] }, "properties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "title": { "title": "Item Title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Item Description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "anyOf": [ { "required": [ "datetime" ], "properties": { "datetime": { "not": { "anyOf": [ { "type": "null" } ] } } } }, { "required": [ "datetime", "start_datetime", "end_datetime" ] } ], "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } }, "oneOf": [ { "type": "null" }, { "type": "object" } ] }, "assets": { "title": "Asset links", "description": "Links to assets", "type": "object", "additionalProperties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } } }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometry": { "oneOf": [ { "type": "null" }, { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } }, { "title": "GeoJSON GeometryCollection", "type": "object", "required": [ "type", "geometries" ], "properties": { "type": { "type": "string", "enum": [ "GeometryCollection" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometries": { "type": "array", "items": { "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } } } ] }, "id": { "title": "Provider ID", "description": "Provider item ID", "type": "string", "minLength": 1, "oneOf": [ { "type": "number" }, { "type": "string" } ] }, "links": { "title": "Item links", "description": "Links to item relations", "type": "array", "items": { "type": "object", "required": [ "rel", "href" ], "properties": { "title": { "title": "Link title", "type": "string" }, "type": { "title": "Link type", "type": "string" }, "href": { "title": "Link reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "rel": { "title": "Link relation type", "type": "string", "minLength": 1 } } } }, "stac_extensions": { "title": "STAC extensions", "type": "array", "items": { "title": "Reference to a JSON Schema", "type": "string", "format": "iri" }, "uniqueItems": true }, "stac_version": { "title": "STAC version", "type": "string", "const": "1.0.0" } }, "definitions": { "asset": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } }, "assets": { "title": "Asset links", "description": "Links to assets", "type": "object", "additionalProperties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } } }, "common_metadata": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "title": { "title": "Item Title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Item Description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } }, "core": { "title": "GeoJSON Feature", "$id": "https://geojson.org/schema/Feature.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "assets", "geometry", "id", "links", "properties", "stac_version", "type" ], "properties": { "type": { "type": "string", "enum": [ "Feature" ] }, "properties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "title": { "title": "Item Title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Item Description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "anyOf": [ { "required": [ "datetime" ], "properties": { "datetime": { "not": { "anyOf": [ { "type": "null" } ] } } } }, { "required": [ "datetime", "start_datetime", "end_datetime" ] } ], "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } }, "oneOf": [ { "type": "null" }, { "type": "object" } ] }, "assets": { "title": "Asset links", "description": "Links to assets", "type": "object", "additionalProperties": { "title": "Basic Descriptive Fields", "$id": "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/basics.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "href" ], "properties": { "title": { "title": "Asset title", "description": "A human-readable title describing the Item.", "type": "string" }, "description": { "title": "Asset description", "description": "Detailed multi-line description to fully explain the Item.", "type": "string" }, "type": { "title": "Asset type", "type": "string" }, "constellation": { "title": "Constellation", "type": "string" }, "created": { "title": "Creation Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "datetime": { "title": "Date and Time", "description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "end_datetime": { "title": "End Date and Time", "description": "The searchable end date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "gsd": { "title": "Ground Sample Distance", "type": "number", "exclusiveMinimum": 0 }, "href": { "title": "Asset reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "instruments": { "title": "Instruments", "type": "array", "items": { "type": "string" } }, "license": { "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "mission": { "title": "Mission", "type": "string" }, "platform": { "title": "Platform", "type": "string" }, "providers": { "title": "Providers", "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "description": { "title": "Organization description", "type": "string" }, "name": { "title": "Organization name", "type": "string", "minLength": 1 }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "roles": { "title": "Asset roles", "type": "array", "items": { "type": "string" } }, "start_datetime": { "title": "Start Date and Time", "description": "The searchable start date/time of the assets, in UTC (Formatted in RFC 3339) ", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" }, "updated": { "title": "Last Update Time", "type": "string", "format": "date-time", "pattern": "(\\+00:00|Z)$" } }, "dependencies": { "end_datetime": { "required": [ "start_datetime" ] }, "start_datetime": { "required": [ "end_datetime" ] } } } }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometry": { "oneOf": [ { "type": "null" }, { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } }, { "title": "GeoJSON GeometryCollection", "type": "object", "required": [ "type", "geometries" ], "properties": { "type": { "type": "string", "enum": [ "GeometryCollection" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "geometries": { "type": "array", "items": { "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } } } ] }, "id": { "title": "Provider ID", "description": "Provider item ID", "type": "string", "minLength": 1, "oneOf": [ { "type": "number" }, { "type": "string" } ] }, "links": { "title": "Item links", "description": "Links to item relations", "type": "array", "items": { "type": "object", "required": [ "rel", "href" ], "properties": { "title": { "title": "Link title", "type": "string" }, "type": { "title": "Link type", "type": "string" }, "href": { "title": "Link reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "rel": { "title": "Link relation type", "type": "string", "minLength": 1 } } } }, "stac_extensions": { "title": "STAC extensions", "type": "array", "items": { "title": "Reference to a JSON Schema", "type": "string", "format": "iri" }, "uniqueItems": true }, "stac_version": { "title": "STAC version", "type": "string", "const": "1.0.0" } }, "else": { "properties": { "collection": { "not": {} } } }, "if": { "properties": { "links": { "contains": { "required": [ "rel" ], "properties": { "rel": { "const": "collection" } } } } } }, "oneOf": [ { "type": "object", "required": [ "geometry", "bbox" ], "properties": { "bbox": { "type": "array", "items": { "type": "number" }, "oneOf": [ { "maxItems": 4, "minItems": 4 }, { "maxItems": 6, "minItems": 6 } ] }, "geometry": { "title": "GeoJSON Geometry", "$id": "https://geojson.org/schema/Geometry.json", "$schema": "http://json-schema.org/draft-07/schema#", "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } }, { "type": "object", "required": [ "geometry" ], "properties": { "bbox": { "not": { "anyOf": [ {} ] } }, "geometry": { "type": "null" } } } ], "then": { "required": [ "collection" ], "properties": { "collection": { "title": "Collection ID", "description": "The ID of the STAC Collection this Item references to.", "type": "string", "minLength": 1 } } } }, "link": { "type": "object", "required": [ "rel", "href" ], "properties": { "title": { "title": "Link title", "type": "string" }, "type": { "title": "Link type", "type": "string" }, "href": { "title": "Link reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "rel": { "title": "Link relation type", "type": "string", "minLength": 1 } } } }, "else": { "properties": { "collection": { "not": {} } } }, "if": { "properties": { "links": { "contains": { "required": [ "rel" ], "properties": { "rel": { "const": "collection" } } } } } }, "oneOf": [ { "type": "object", "required": [ "geometry", "bbox" ], "properties": { "bbox": { "type": "array", "items": { "type": "number" }, "oneOf": [ { "maxItems": 4, "minItems": 4 }, { "maxItems": 6, "minItems": 6 } ] }, "geometry": { "title": "GeoJSON Geometry", "$id": "https://geojson.org/schema/Geometry.json", "$schema": "http://json-schema.org/draft-07/schema#", "oneOf": [ { "title": "GeoJSON Point", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Point" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } }, { "title": "GeoJSON LineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "LineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } }, { "title": "GeoJSON Polygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "Polygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } }, { "title": "GeoJSON MultiPoint", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPoint" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 } } } }, { "title": "GeoJSON MultiLineString", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiLineString" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 2 } } } }, { "title": "GeoJSON MultiPolygon", "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "enum": [ "MultiPolygon" ] }, "bbox": { "type": "array", "items": { "type": "number" }, "minItems": 4 }, "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 2 }, "minItems": 4 } } } } } ] } } }, { "type": "object", "required": [ "geometry" ], "properties": { "bbox": { "not": { "anyOf": [ {} ] } }, "geometry": { "type": "null" } } } ], "then": { "required": [ "collection" ], "properties": { "collection": { "title": "Collection ID", "description": "The ID of the STAC Collection this Item references to.", "type": "string", "minLength": 1 } } } } ] } }, "metadata": [ { "title": "cwl:type", "value": "Directory[]" } ], "title": "Vegetation indexes", "description": "Vegetation indexes" } }