Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SensorThings API EDR Provider #1928

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

webb-ben
Copy link
Member

@webb-ben webb-ben commented Feb 7, 2025

Overview

This PR introduces the SensorThings API EDR provider to pygeoapi core ported from https://github.com/cgs-earth/pygeoapi-plugins. The EDR provider is an implementation of the feature provider on the ObservedProperty entity. Using deep selection filters we are able to construct the necessary .

In the documentation I am not entirely sure how to relate query types and query arguments - each EDR Query Type has its own set of query arguments.

Related Issue / discussion

Additional information

L408-409 in pygeoapi/provider/sensorthings_edr.py note a TODO to recursively expand observations. This can be really expensive if query params aren't filtering the size of the response. Until EDR with limit as a query param is ready to be implemented, the default number returned by the SensorThings server is more than enough. Note that certain queries can be pretty taxing on the SensorThings endpoint especially without proper indexes created.

Some views of queries:
Cube/Area:
image
image
image

Locations:
image
image

Dependency policy (RFC2)

  • I have ensured that this PR meets RFC2 requirements

Updates to public demo

Contributions and licensing

(as per https://github.com/geopython/pygeoapi/blob/master/CONTRIBUTING.md#contributions-and-licensing)

  • I'd like to contribute [feature X|bugfix Y|docs|something else] to pygeoapi. I confirm that my contributions to pygeoapi will be compatible with the pygeoapi license guidelines at the time of contribution
  • I have already previously agreed to the pygeoapi Contributions and Licensing Guidelines

@webb-ben webb-ben added enhancement New feature or request OGC API - Environmental Data Retrieval OGC API - Environmental Data Retrieval labels Feb 7, 2025
@doublebyte1 doublebyte1 self-requested a review February 8, 2025 16:31
Copy link
Contributor

@doublebyte1 doublebyte1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice @webb-ben : Thank you for this! 👍🏽

Maybe you could consider adding an example here? https://github.com/geopython/pygeoapi-examples

docs/source/data-publishing/ogcapi-edr.rst Outdated Show resolved Hide resolved
docs/source/data-publishing/ogcapi-edr.rst Outdated Show resolved Hide resolved
tests/test_sensorthings_edr_provider.py Outdated Show resolved Hide resolved
docs/source/data-publishing/ogcapi-edr.rst Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request OGC API - Environmental Data Retrieval OGC API - Environmental Data Retrieval
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants