SpatioTemporal Asset Catalogs (STAC) Connector
What is STAC
The SpatioTemporal Asset Catalogs (STAC) is a specification providing structure for describing and cataloging spatiotemporal assets, where a spatiotemporal asset is any file that represents information about the earth captured in a certain space and time. See full specification here: stac-spec/overview.md at master · radiantearth/stac-spec
How to index STAC
The content of a STAC catalog can be indexed by creating a STAC Repository. The connector will create entries for these STAC elements:
Item: Represents a single spatiotemporal element (e.g., an image, a scene, or a dataset) with metadata such as location, time, and additional properties.
Catalog: A collection of STAC items and/or other catalogs, providing a hierarchical structure for organizing and navigating data.
Collection: Groups related Items together, often sharing common metadata and properties.
Assets: A specific file or object associated with an Item, such as a GeoTIFF image, a thumbnail, or a metadata document. Assets contain the actual data and have additional metadata describing their format, size, and other relevant information.
STAC Repository provides these parameters:
Name - Name of the repository
URL - Url of the the catalog. Ex: https://datacloud.icgc.cat/stac-catalog/catalog.json
Limit - Maximum number of documents to index
Advanced parameters:
File Size Limit - Maximum size of an asset file, that can be downloaded and further extracted by HQ (in Megabytes)
Index Items - Whether to index each STAC Item
Index Assets - Whether to index each STAC Asset. An Asset is an object that contains a URI to data associated with the Item that can be downloaded or streamed.
Thumbnail Path - A field of STAC Item to be used as thumbnail URL specified as JSONPath. JSONPath is equivalent to what is XPATH fo XML. Example of Thumbnail path: $.assets.thumbnail.alternate.s3.href See JSONPath description here: Introduction to JsonPath | Baeldung
Query - STAC query to be passed to STAC API - Item Search. Stac query example: collection=aster_aloh_group_conten. Some catalogs might not provide the Search endpoint. See full STAC Item search specification: stac-api-spec/item-search at release/v1.0.0 · radiantearth/stac-api-spec
Use HTTP POST - Give preference to the HTTP POST method when performing the search query. It might happen that some STAC catalog's items paging is not working properly when using HTTP GET so this enables to use HTTP POST and pass the search query as json.