Publishing data to OGC API - Environmental Data Retrieval

The OGC Environmental Data Retrieval (EDR) (API) provides a family of lightweight query interfaces to access spatio-temporal data resources.

To add spatio-temporal data to pygeoapi for EDR query interfaces, you can use the dataset example in Configuration as a baseline and modify accordingly.

Providers

pygeoapi core EDR providers are listed below, along with a matrix of supported query types and query arguments.

Provider

Position

Radius

Area

Cube

Trajectory

Corridor

Items

Locations

Instances

xarray-edr

SensorThingsEDR

Provider

coords

parameter-name

datetime

xarray-edr

SensorThingsEDR

Below are specific connection examples based on supported providers.

Connection examples

xarray-edr

Note

Requires Python package xarray

The xarray-edr provider plugin reads and extracts NetCDF and Zarr data via xarray.

providers:
    - type: edr
      name: xarray-edr
      data: tests/data/coads_sst.nc
      # optionally specify x/y/time fields, else provider will attempt
      # to derive automagically
      x_field: lon
      y_field: lat
      time_field: time
      # optionally specify the coordinate reference system of your dataset
      # else pygeoapi assumes it is WGS84 (EPSG:4326).
      storage_crs: 4326
      format:
         name: netcdf
         mimetype: application/x-netcdf

providers:
    - type: edr
      name: xarray-edr
      data: tests/data/analysed_sst.zarr
      format:
         name: zarr
         mimetype: application/zip

 providers:
    - type: edr
      name: xarray-edr
      data: s3://power-analysis-ready-datastore/power_901_annual_meteorology_utc.zarr
      format:
         name: zarr
         mimetype: application/zip
      options:
         s3:
            anon: true
            requester_pays: false

Note

Zarr files are directories with files and subdirectories. Therefore a zip file is returned upon request for said format.

Note

When referencing data stored in an S3 bucket, be sure to provide the full S3 URL. Any parameters required to open the dataset using fsspec can be added to the config file under options and s3, as shown above.

Note

When providing a storage_crs value in the EDR configuration, specify the coordinate reference system using any valid input for pyproj.CRS.from_user_input.

SensorThingsEDR

The SensorThings API EDR Provider for pygeaopi extends the feature provider to produce CoverageJSON representations from SensorThings responses repsonses. This provider relies on using the ObservedProperty Entity to create the parameter-name set.

providers:
   - type: edr
     name: SensorThingsEDR
     data: https://emotional.byteroad.net/FROST-Server/v1.1/
   - type: feature
     name: SensorThings
     data: https://emotional.byteroad.net/FROST-Server/v1.1/Things
     title_field: name

Note

The feature provider must also be configured to service the …/items EDR query type.

Data access examples