Open geira opened 2 months ago
Options:
The question then becomes:
My vote is for option 3. This means an EDR endpoint can OPTIONALLY encode "foreign" parameters. RODEO EDR Profile then simply inherits. If RODEO then requires additional parameters, this would be defined/specified in the RODEO EDR Profile and made explicitly available in the API definition.
Wouldn't these be handled as custom dimensions? So it would be allowed in the EDR, but how to deal with the custom dimensions for EDR profile. Propably we would need to agree on set vocabulary for different data types, like radar, warnings and so on.
As I interpret the spec a custom dimension ( and then the corresponding custom parameter in the query), are defined for a collection, and hence should be allowed for all query types specified for that collection?
@tomkralidis I think 3 also. As in, any custom dimension not mentioned in the profile is allowed, but ignored for compliance with the profile. A profile however could add a mandatory custom dimension, but then its explicit in the requirement, openapi and validation tools.
2. do not allows any "foreign" query parameters that are NOT defined in the API definition (OpenAPI)
By "API definition", do you mean the canonical EDR OpenAPI schema, or the specific OpenAPI definition for each site linked from the landing page as "service-desc"?
We expect most services will want to write their own API definition, not necessarily to add more query parameters but also to remove unused functionality (e.g. "trajectory") or enumerate values for variables like collectionId, locationId et al.
The API definition would be the OpenAPI document, as per #3.
I take it that this is what I meant by "the specific OpenAPI definition for each site linked from the landing page as "service-desc"".
My original question was whether it was actually legal according to the EDR standard, but from the discussion I gather as much. Not sure if I understand what is meant by options 2 and 3 though – I would presume any service using "foreign" parameters would specify them in their own OpenAPI definition (otherwise users wouldn't know it was available). I think the profile should allow this practice as long as the "foreign" parameters are defined somewhere in OpenAPI.
I think we need to confirm whether this is allowed in EDR (as it is in Features), and if not, then whether it should be (by EDR SWG). cc @m-burgoyne
Consensus seems to be that it is allows as described under custom dimensions (even by some who thought it was illegal previously).
This is an issue that came up under the RODEO WP5 meeting in Helsinki this summer regarding weather alerts. Our prototype includes the following collections:
With typical requests like these:
The problem occurs when we need to add additional parameters to the query, e.g. to filter on event type or language:
From a presentation at FOSS4G in Kosovo last year I got the impression that this was legal in OGC API Common Core:
However delegates from KNMI argued that this was probably not allowed in EDR since it is not defined in the Position query spec (even though it is trivial to add to the OpenAPI definition). So the question is: