OGC API - Features - Part 1: Core (1.0.0)

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 OGC API - Features definition.

Capabilities

essential characteristics of this API

landing page

The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.

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": [],
  • "stac_version": "0.9.0",
  • "id": "naip"
}

information about specifications that this API conforms to

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

Responses

the feature collections in the dataset

Responses

Response samples

Content type
{
  • "links": [
    ],
  • "collections": [
    ]
}

describe the feature collection with id `collectionId`

path Parameters
collectionId
required
string

local identifier of a collection

Responses

Response samples

Content type
{
  • "stac_version": "0.9.0",
  • "stac_extensions": [ ],
  • "id": "Sentinel-2",
  • "title": "Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
  • "description": "Sentinel-2 is a wide-swath, high-resolution, multi-spectral\nimaging mission...\n",
  • "license": "proprietary",
  • "keywords": [
    ],
  • "providers": [],
  • "extent": {
    },
  • "summaries": {
    },
  • "links": []
}

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
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 (height or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Minimum value, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Maximum value, 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 the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box.

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
{
  • "type": "FeatureCollection",
  • "features": [
    ],
  • "links": [
    ],
  • "timeStamp": "2017-08-17T08:05:32Z",
  • "numberMatched": 127,
  • "numberReturned": 10
}

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
collectionId
required
string

local identifier of a collection

featureId
required
string

local identifier of a feature

Responses

Response samples

Content type
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": { },
  • "id": "string",
  • "links": [
    ]
}

STAC

Extension to OGC API - Features 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 /search if you want to implement this method.

If this endpoint is implemented on a server, it is required to add a link referring to this endpoint with rel set to search to the links array in GET /. As GET is the default method, the method may not be set explicitly in the link.

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 (height or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Minimum value, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Maximum value, 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 the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box.

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.

ids
Array of strings (ids)

Array of Item ids to return. All other filter parameters that further restrict the number of search results are ignored

collections
Array of strings (collectionsArray)

Array of Collection IDs to include in the search for items. Only Items in one of the provided 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 /search is implemented. If this endpoint is implemented on a server, it is required to add a link referring to this endpoint with rel set to search and method set to POST to the links array in GET /.

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.

Example: The bounding box of the New Zealand Exclusive Economic Zone in WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be represented in JSON as [160.6, -55.95, -170, -25.89] and in a query as bbox=160.6,-55.95,-170,-25.89.

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)
collections
Array of strings (collectionsArray)

Array of Collection IDs to include in the search for items. Only Items in one of the provided Collections will be searched.

ids
Array of strings (ids)

Array of Item ids to return. All other filter parameters that further restrict the number of search results are ignored

limit
integer (limit) [ 1 .. 10000 ]
Default: 10

The maximum number of results to return (page size). Defaults to 10

Responses

Request samples

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

Response samples

Content type
{}