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 parameters.
Provider |
coords |
parameter-name |
datetime |
---|---|---|---|
✅ |
✅ |
✅ |
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: lat
x_field: lon
time_field: time
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.
Data access examples
list all collections * http://localhost:5000/collections
overview of dataset * http://localhost:5000/collections/foo
dataset position query * http://localhost:5000/collections/foo/position?coords=POINT(-75%2045)
dataset position query for a specific parameter * http://localhost:5000/collections/foo/position?coords=POINT(-75%2045)¶meter-name=SST
dataset position query for a specific parameter and time step * http://localhost:5000/collections/foo/position?coords=POINT(-75%2045)¶meter-name=SST&datetime=2000-01-16