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

Clarification Needed for /locations Endpoint in OGC API - EDR Specification #568

Closed
webb-ben opened this issue Aug 14, 2024 · 8 comments · Fixed by #577
Closed

Clarification Needed for /locations Endpoint in OGC API - EDR Specification #568

webb-ben opened this issue Aug 14, 2024 · 8 comments · Fixed by #577
Labels
API EDR V1.2 Non-breaking change for Version 1.2

Comments

@webb-ben
Copy link

webb-ben commented Aug 14, 2024

I am seeking clarification on the usage of the /locations query in the OGC API - EDR specification. There seems to be ambiguity regarding whether the endpoint should support a RESTful pattern like /locations/{locationId} for accessing specific location data. This pattern is not explicitly mentioned in the documentation, which has led to confusion.

The current spec appears to suggest using /locations?locationId={locationId}, but this approach feels less intuitive and deviates from typical RESTful practices. Additionally, we're wondering if the /locations endpoint is intended to follow a similar pattern to the /items query, where specific items can be accessed via a direct path.

Could you clarify if /locations/{locationId} should be supported as part of the standard, similar to how /items queries work?

@m-burgoyne
Copy link
Collaborator

@webb-ben /locations/{locationid} is the correct usage for accessing specific location data. /locations?locationId={locationId} is not a valid EDR locations query

@webb-ben
Copy link
Author

I presume what is different about the locations query is that you can still filter by time and parameter?

i.e. /locations/{locationId}?datetime=2020?

@m-burgoyne
Copy link
Collaborator

Yes, that is correct. The locations id is basically an identifier for a predefined set of spatial coordinates, and the user can define datetime, parameter-name, CRS and format as part of the request.

@dblodgett-usgs
Copy link
Contributor

The current spec appears to suggest using /locations?locationId={locationId}

Where do you see that in the spec?

@webb-ben
Copy link
Author

webb-ben commented Aug 15, 2024

When reading the description about /items, it is clear there are more than paths in the URL pattern, one for requesting a FeatureCollection, and on that will return a Feature.

The next section on /locations, proceeds to acknowledge a similar behavior, but instead listing the additional URL path within the query structure table. Table 13 seems to be the only table that implements path elements of a URL inside the query argument table.

I understand it may be a bit more complicated than the OAF specification, because the single location at /locations/{locationId} still allows for those query parameters to be used in addition to the single item.

@webb-ben
Copy link
Author

As a related/aside, as I update geopython/pygeoapi#1776, is z a valid query paramter for locations?

@dblodgett-usgs
Copy link
Contributor

When reading the description about /items, it is clear there are more than paths in the URL pattern, one for requesting a FeatureCollection, and on that will return a Feature.

The next section on /locations, proceeds to acknowledge a similar behavior, but instead listing the additional URL path within the query structure table. Table 13 seems to be the only table that implements path elements of a URL inside the query argument table.

I understand it may be a bit more complicated than the OAF specification, because the single location at /locations/{locationId} still allows for those query parameters to be used in addition to the single item.

I see -- yeah, locationId being listed as a query parameter in table 13 seems wrong, I agree..

@m-burgoyne
Copy link
Collaborator

The current EDR specification does not include a z query parameter for the locations query

@m-burgoyne m-burgoyne linked a pull request Sep 16, 2024 that will close this issue
@chris-little chris-little added the API EDR V1.2 Non-breaking change for Version 1.2 label Sep 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API EDR V1.2 Non-breaking change for Version 1.2
Projects
Development

Successfully merging a pull request may close this issue.

4 participants