pygeoapi icon indicating copy to clipboard operation
pygeoapi copied to clipboard

Filtering Geospatial Data

Open kieranbartels opened this issue 2 months ago • 1 comments

Overview

This PR filters out non-spatiotemporal parameters (e.g., crs, lat_bounds, other auxiliary variables) from collections so they are not treated as queryable parameters during position queries or displayed in the collection's Parameters table.

This resolves the issue where pygeoapi attempts to collect timeseries data for fields like crs, causing:

  • The position query UI popup to render blank.
  • Invalid parameters (with "None" values) to appear in the collection's Parameters table.

After filtering these fields, position queries behave correctly, and the Parameter table only lists actual geospatial/temporal variables.


Related Issue / discussion


Dependency policy (RFC2)

  • [ ] I have ensured that this PR meets RFC2 requirements

Updates to public demo

  • [ ] I have ensured that breaking changes to the pygeoapi master demo server have been addressed
    • [ ] https://github.com/geopython/demo.pygeoapi.io/blob/master/services/pygeoapi_master/local.config.yml

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

kieranbartels avatar Nov 21 '25 18:11 kieranbartels

I am not sure of the relative performance differences but I had implemented https://github.com/internetofwater/pygeoapi/blob/e6b12b0224163f4eaf5c58f37049f44fc8dc77e8/pygeoapi/provider/xarray_.py#L120-L122 to continue when no units were found.

Not understanding OACov enough to say confidently if this is a patch for xarray_.py or xarray_edr.py. I assume even though the error surfaces in an EDR query, the logics stands that these are also required fields in a coverage?

webb-ben avatar Nov 22 '25 15:11 webb-ben