Closed m-mohr closed 1 year ago
It's actually possible to expose this via the process description, although it is pretty verbose:
{
"type": "object",
"subtype": "metadata-filter",
"title": "Filters",
"description": "A list of filters to check against. Specify key-value-pairs with the key being the name of the metadata property name and the value being a process evaluated against the metadata values.",
"properties": {
"eo:cloud_cover": {
"type": "object",
"subtype": "process-graph",
"parameters": [
{
"name": "value",
"description": "The cloud cover value to be checked against.",
"schema": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 100
}
}
]
},
"platform": {
"type": "object",
"subtype": "process-graph",
"parameters": [
{
"name": "value",
"description": "The property value to be checked against.",
"schema": {
"type": [
"string",
"null"
]
}
}
]
}
}
}
Although it would likely also be interesting to expose this per collection...
I think it would make a lot more sense to expose this per collections. Thinking about radar and optical data the two will provide very different queryable properties. Depending on the specific datasets it could even be that on radar collection provides a specific queryable and another radar collection does not.
I do like the idea of just adding an additional key which lists non standard queryable properties.
We may want to consider collection-specific queryables instead of openeo:property_filters
. Came up in https://github.com/Open-EO/openeo-api/pull/447#issuecomment-1206476270
When I spec'ed the PR above, I wasn't aware collection-specific queryables is a thing, but it exists and could be the approach that is better aligned with STAC API.
Removed openeo:property_filters
again. Instead add queryables once working on #469 and the underlying specs are stable (OGC API and STAC API).
I'll prepare a PR based on the STAC API - Filter extension.
Please review PR #487
Originates from https://github.com/Open-EO/openeo-python-client/issues/141#issuecomment-847340175
Initially the thought was that all (scalar) metadata properties could be queried. This seems not to be true and thus it's not really clear to users what they can query on (despite the limited implementations right now). It would probably good to add something that mentions what users can query on.
In STAC API this would be
/queryables
, but it may be enough to just add a list with properties to the collections, e.g."openeo:properties": ["eo:cloud_cover", "proj:epsg"]
for example.