OAPI - POC
Proof of concept (POC) to ingest geospatial datasets from MeteoSuisse into a SpatioTemporal Asset Catalog (STAC), expose as OGC API Features and offer OGC API Environmental Data Retrieval (EDR) capabilities.
Documentation
OGC API and STAC are designed to be explorable through links
and a good starting point is the Landing Page (aka Root Catalog)
which links to capabilities, descriptions and fundamental resources of the services.
The OpenAPI
definition can be consumed through the SwaggerUI
. Select the appropriate server and authorization (for endpoints except GET) to try it out.
Be aware that the api definition is not in sync with the service implementation. There are addinonally transactional endpints for Collection
and Feature/Item
resources and the schemas/definitions might diverge from the actual implementation by the services.
Usage
For now the basic use case is uploading a STAC Asset
through the load-asset
process. The input schema describes the json body
of the post
request passed to it's ./execute
endpoint. It requires the file as base64 encoded string, some asset properties, the collection id and the item id or an item object to create.
Example python scripts for loading an asset to an existing collection as well as extracting & creating a collection resource from a geocat.ch
entry are in the scripts folder.
Consumption
The created resources can for example be consoumed with the STAC Browser. The assets contents accessible through the href
reside on a S3 bucket.
Caveats
- Only the data on S3 is persisted, the rest lives in the containers of the docker composition.
- The asset content is not parsed, nor are any attributes derived.
- Only
base64
encoded string are supported as file value for now. - An asset can be replaced by specifying the asset
id
, the S3key
and theitem id
as value in the inputs. - It is currently not possible to updat the Feature/Item on upload.
- Catalog trees can only be created from the collection downwards as the root catalog is immutable for now.
Catalog Trees (advanced & untested)
Potentially catalog trees can be created by adding collection resources with the property type
set to Catalog
and links with the relations parent
, child
and/or item
. Naturally these relations should be reflected on the linked ressources as well.