Repository navigation
DIE-306: Richer pygeoapi layer metadata (discovery pilot) - #144
chasetmartin wants to merge 2 commits into
Conversation
…trends Products with an abstract get it as their pygeoapi description, plus product keywords, a data dictionary link (docs/products/README.md) and a per-collection license link. The Docker build now validates the config.
|
Your pull request is automatically being deployed to Dagster Cloud.
|
Keep the Dockerfile unchanged; the config tests cover the new links.
|
This does not account for ArcGIS Pro, which I will have to test with Cris or another user. |
|
|
||
| **Products:** `nm_waterlevel_trends` | ||
|
|
||
| One point feature per well that has depth-to-water measurements, labeled with |
There was a problem hiding this comment.
is it depth to water or depth to water below ground surface?
| | `first_observation_datetime` | Date of the first daily value (UTC, ISO 8601) | | | | ||
| | `last_observation_datetime` | Date of the last daily value (UTC, ISO 8601) | | | |
There was a problem hiding this comment.
I'm a fan of using earliest... and latest.... I think first... works pretty well, but last... indicates to me that there will be no more observations.
There was a problem hiding this comment.
Agree latest or most_recent is probably better. This is a code change for more than one layer so I created a ticket so we can take care of it before the API launch.
| description: "Per-well depth-to-water trend (slope and category), all NM sources" | ||
| abstract: >- | ||
| One feature per well with depth-to-water measurements, labeled with the direction | ||
| and rate of change of its water level. Each well's record is reduced to one value |
There was a problem hiding this comment.
and rate of change of its water levels between the first and last known observations.
(if a different nomenclature like latest is adopted then change "lat" to "latest")
| labeled "not enough data". Sources: NMBGMR, USGS NWIS, the Water Quality Portal, | ||
| NM OSE, the Interstate Stream Commission, Bernalillo County, the City of | ||
| Albuquerque, EBID and PVACD. Updated monthly. The trend is in depth to water, so |
There was a problem hiding this comment.
Since the Water Quality Portal and Interstate Stream Commission are called WQP and ISC elsewhere should we abbreviate them here? Or, for the sake of consistency should we not use abbreviations?
There was a problem hiding this comment.
At least for NM OSE. I feel like many people know USGS, though NWIS is a bit less well known. (And we are NMBGMR so I assume people would know what it stands for, but still something to consider).
There was a problem hiding this comment.
Yeah I'll investigate another way to highlight sources for each layer - spelling it out in every abstract is overkill (I think). Using abbreviations in the abstract but spelling them out in another place is probably the better approach.
There was a problem hiding this comment.
I agree that spelling it out in every abstract would be overkill, but they should be enumerated and spelled out somewhere. Perhaps the landing page?



Discovery task for DIE-306: how much richer metadata can we get in front of users in GIS clients? Piloted on
nm_waterlevel_trends, then checked in QGIS against the sample layers.Improves layer metadata overall
rel: describedby→ newdocs/products/README.md#<output_type>) and a per-collection CC-BY 4.0 license link.abstract(Phase 2).descriptionitself is unchanged, so Dagster and the GeoJSON files aren't affected.What QGIS shows: title, full abstract, keywords, license (Access → Licenses) and both links. Field descriptions don't reach QGIS: pygeoapi can't set them from config, and QGIS doesn't read
/schema. The README link covers that for now.Found along the way (out of scope)
well_depthshows as String.Testing
tests/test_pygeoapi_config.pyand a newtests/test_product_docs.py: README sections exist, method text matches the code, sample columns are documented.main(this predates the PR), so run these locally:uv run --extra parquet --with jinja2 --with geopandas pytest tests/test_pygeoapi_config.py tests/test_product_docs.py.~/pygeoapi-testwith no layer generation (render command in SPEC §6.4).The data dictionary link points at
main, so it resolves after merge.