The SpatioTemporal Asset Catalog API (1.0.0-beta.1)

Download OpenAPI specification:Download

This is an OpenAPI definition of the core SpatioTemporal Asset Catalog API specification. Any service that implements this endpoint to allow search of spatiotemporal assets can be considered a STAC API. The endpoint is also available as an OpenAPI fragment that can be integrated with other OpenAPI definitions, and is designed to slot seamlessly into a WFS 3 API definition.

Capabilities

essential characteristics of this API

landing page

The root landing page displays all available provider catalogs in CMR-STAC.

Responses

Response samples

Content type
{
  • "title": "Buildings in Bonn",
  • "description": "Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.",
  • "links": []
}

information about specifications that this API conforms to

A list of all conformance classes specified in a standard that the server conforms to.

Responses

A provider catalog that contains a STAC search endpoint as well as a collections endpoint for crawling through collections and items in the browser

Responses

Response samples

Content type
{}

Display all feature collections under provider `providerId`

path Parameters
providerId
required
string

local identifier of a provider

query Parameters
collections
Array of strings non-empty

The collections search parameter is a list of of collection IDs for Items to match. Only items that are included in one of these collections will be returned, otherwise all collections will be searched.

Responses

Response samples

Content type
{}

describe the feature collection with id `collectionId`

path Parameters
providerId
required
string

local identifier of a provider

collectionId
required
string

local identifier of a collection

Responses

Response samples

Content type
{}

Data

access to data (features)

fetch features

Fetch features of the feature collection with id collectionId.

Every feature in a dataset belongs to a collection. A dataset may consist of multiple feature collections. A feature collection is often a collection of features of a similar type, based on a common schema.

Use content negotiation to request HTML or GeoJSON.

path Parameters
providerId
required
string

local identifier of a provider

collectionId
required
string

local identifier of a collection

query Parameters
limit
integer [ 1 .. 10000 ]
Default: 10

The optional limit parameter limits the number of items that are presented in the response document.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted.

Minimum = 1. Maximum = 10000. Default = 10.

bbox
Array of numbers [ 4 .. 6 ] items

Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Lower left corner, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Upper right corner, coordinate axis 3 (optional)

The coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter bbox-crs.

For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).

If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.

datetime
string

Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

Responses

Response samples

Content type
{}

fetch a single feature

Fetch the feature with id featureId in the feature collection with id collectionId.

Use content negotiation to request HTML or GeoJSON.

path Parameters
providerId
required
string

local identifier of a provider

collectionId
required
string

local identifier of a collection

featureId
required
string

local identifier of a feature

Responses

Response samples

Content type
{}

STAC

Extension to WFS3 Core to support STAC metadata model and search API

Search STAC items with simple filtering.

Retrieve Items matching filters. Intended as a shorthand API for simple queries.

This method is optional, but you MUST implement POST /stac/search if you want to implement this method.

path Parameters
providerId
required
string

local identifier of a provider

query Parameters
bbox
Array of numbers [ 4 .. 6 ] items

Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Lower left corner, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Upper right corner, coordinate axis 3 (optional)

The coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter bbox-crs.

For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).

If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.

datetime
string

Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

limit
integer [ 1 .. 10000 ]
Default: 10

The optional limit parameter limits the number of items that are presented in the response document.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted.

Minimum = 1. Maximum = 10000. Default = 10.

page
integer >= 1
Default: 1

The optional page parameter returns the specified page of results (with each page having size=limit).

  • Minimum = 1
  • Default = 1
ids
Array of strings non-empty

The optional ids parameter returns a FeatureCollection of all matching ids. If provided all other parameters that further restrict the number of search results (except page and limit) will be ignored.

collections
Array of strings non-empty

The collections search parameter is a list of of collection IDs for Items to match. Only items that are included in one of these collections will be returned, otherwise all collections will be searched.

Responses

Response samples

Content type
{}

Search STAC items with full-featured filtering.

retrieve items matching filters. Intended as the standard, full-featured query API.

This method is mandatory to implement if GET /stac/search is implemented. If this endpoint is implemented on a server, it is required to add a link with rel set to search to the links array in GET /stac that refers to this endpoint.

Request Body schema: application/json
bbox
Array of numbers (bbox) [ 4 .. 6 ] items

Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Lower left corner, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Upper right corner, coordinate axis 3 (optional)

The coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter bbox-crs.

For WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).

If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.

datetime
string (datetime)

Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

GeoJSON Point (object) or GeoJSON LineString (object) or GeoJSON Polygon (object) or GeoJSON MultiPoint (object) or GeoJSON MultiLineString (object) or GeoJSON MultiPolygon (object) (GeoJSON Geometry)
limit
integer

Responses

Request samples

Content type
application/json
{
  • "bbox": [
    ],
  • "datetime": "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z",
  • "intersects": {
    },
  • "limit": 10
}

Response samples

Content type
{}