Publishing metadata to OGC API - Records

OGC API - Records provides geospatial data access functionality to vector data.

To add vector data to pygeoapi, you can use the dataset example in Configuration as a baseline and modify accordingly.

Providers

pygeoapi core record providers are listed below, along with a matrix of supported query parameters.

Provider properties (filters) resulttype q bbox datetime sortby properties (display) transactions
ElasticsearchCatalogue results/hits  
TinyDBCatalogue results/hits  

Below are specific connection examples based on supported providers.

Connection examples

ElasticsearchCatalogue

Note

Requires Python packages elasticsearch and elasticsearch-dsl

Note

Elasticsearch 8 or greater is supported.

To publish an Elasticsearch index, the following are required in your index:

providers:
    - type: record
      name: ElasticsearchCatalogue
      data: http://localhost:9200/some_metadata_index
      id_field: identifier
      time_field: datetimefield

TinyDBCatalogue

Note

Requires Python package tinydb

To publish a TinyDB index, the following are required in your index:

providers:
    - type: record
      editable: true|false  # optional, default is false
      name: TinyDBCatalogue
      data: /path/to/file.db
      id_field: identifier
      time_field: datetimefield

Metadata search examples

Note

provider id_field values support slashes (i.e. my/cool/identifier). The client request would then be responsible for encoding the identifier accordingly (i.e. http://localhost:5000/collections/my-metadata/items/my%2Fcool%2Fidentifier)