6682b44928
* update crs handling * fix epsg code * config parsing, lean on pyproj * consolidate code and leverage prior crs work * update crs handling * fix epsg code * config parsing, lean on pyproj * consolidate code and leverage prior crs work * fix function call * bug and flake8 fixes * documentation updates * flake8 * Update ogcapi-coverages.rst * update crs handling * fix epsg code * config parsing, lean on pyproj * consolidate code and leverage prior crs work * update crs handling * fix epsg code * config parsing, lean on pyproj * consolidate code and leverage prior crs work * fix function call * bug and flake8 fixes * documentation updates * flake8 * Update ogcapi-coverages.rst * flake8 fix * rebase issues * update import formatting Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> * update conditional logic Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> * update error handling Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> * parse storage crs in init --------- Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>
120 lines
3.5 KiB
ReStructuredText
120 lines
3.5 KiB
ReStructuredText
.. _ogcapi-edr:
|
|
|
|
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 :ref:`configuration` as a baseline and
|
|
modify accordingly.
|
|
|
|
Providers
|
|
---------
|
|
|
|
pygeoapi core EDR providers are listed below, along with a matrix of supported query
|
|
parameters.
|
|
|
|
.. csv-table::
|
|
:header: Provider, coords, parameter-name, datetime
|
|
:align: left
|
|
|
|
`xarray-edr`_,✅,✅,✅
|
|
|
|
|
|
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`_.
|
|
|
|
.. code-block:: yaml
|
|
|
|
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`_.
|
|
|
|
|
|
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
|
|
|
|
|
|
.. _`xarray`: https://docs.xarray.dev/en/stable/
|
|
.. _`NetCDF`: https://en.wikipedia.org/wiki/NetCDF
|
|
.. _`Zarr`: https://zarr.readthedocs.io/en/stable
|
|
.. _`pyproj.CRS.from_user_input`: https://pyproj4.github.io/pyproj/stable/api/crs/coordinate_system.html#pyproj.crs.CoordinateSystem.from_user_input
|
|
|
|
|
|
.. _`OGC Environmental Data Retrieval (EDR) (API)`: https://github.com/opengeospatial/ogcapi-coverages
|