-
Notifications
You must be signed in to change notification settings - Fork 13
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
Clarify whether spatial extent in collection document should be in CRS84 or storage CRS #144
Comments
SWG 2021-09-22: Members present agree that the following approach would make sense:
See also proposal on how domainset information in alternate CRS could work in #129 @chris-little would this align well with EDR as well? |
what is called "storage CRS" above is referred to as "native CRS" in the coverage standards. |
@pebau right, I highlighted that above as In Features Part 2 it is called storageCRS. default refers to the CRS for the What we are saying here is that for OGC API - Coverages, the default CRS is the native/storage CRS. |
@jerstlouis Of the5 bullet points above, the second
is fine, but we will discuss all of them at the next EDR API SWG next week. Having the same terminology as API-Features is good, as we went for compatibility with both API-Common and API-Features I am not sure about the implications of the last , fifth, bullet point, as the Features SWG have already mapped out several successive Parts covering a lot of possible commonality. |
The advantage of keeping the spatial extent in collection documents in CRS84 is that it simplifies spatial data discovery. |
The bbox element of the extent is now required to be CRS84 or CRS84h. The bbox-crs can still be used with the bbox parameter, allowing this parameter to be used to filter the domainset. This looks to me all of the changes required to address this issue. |
As these days I look through many standards decisions/activities through the CDB 2.0 lens, I think this decision is OK from the client implementing OGC-API Coverages perspective. I believe that the only difference from 4326 and CRS84 is the axis order. If so, then the fact that CDB 2.x datastores will typically be WGS84 2d or 3d, then dealing with axis order is trivial. Please correct me if I am wrong!!! |
EPSG:4326 vs CRS84 may be equivalent save lat/long axis order, but what is the EPSG CRS equivalent for CRS84h when we step into a third dimension? |
SWG 2022-06-08: Today we discussed that to unconditionally require CRS84 (strictly talking about for collection spatial extent bbox, not native/storage/access CRS) as implemented in a5aab39 might be too exclusive to use cases beyond Earth, and that the current wording of Requirement 4 "SHALL be interpreted as" could perhaps more clearly target the server e.g., "SHALL be specified as". We had a similar discussion in Maps and we should probably address this in Common as well (Currently in Common - Part 2 the CRS84 restriction is only in the extent.yaml schema enum, and mentioned in Permission 1). My suggestion is a requirement that includes conditional text For spatial data on Earth. An ETS could still test for CRS84, but a justification could be provided for failing the test in the highly unlikely case where an implementation is using non-Earth data for conformance tests. @cmheazel @joanma747. |
I assumed that for data that didn't have any mapping to latitude or longitude or ellipsoidal height, the mandated bounding box would be null, or contain null elements. |
In API EDR V1.0, we relaxed the requirement that there SHALL be CRS84 in collection endpoints, precisely because we support off-earth data (e.g. on a satellite, in interplanetary space, or on other planets), data in engineering coordinates (e.g. medical scan), etc. |
SWG 2022-06-16: Discussed and recommending that Requirement 4 be changed to: For spatial data on Earth, the coordinates in the bbox schema element SHALL be interpreted as WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) OR WGS 84 longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h). |
How will a validator know if the data described is "on Earth"? |
@nmtoken I suggested in the comment above:
I imagine at a point where data outside Earth becomes common place, a separate property indicating a planet or a class of CRS may be useful to address that problem. But actually the validator could potentially look up a non-CRS84 CRS to verify whether it is for Earth or another planet. |
Not just for formal conformance testing; any client, should have the ability to test whether the response is valid. To me too there is a difference between I get that a validator could look up a non-CRS84 CRS to verify whether it is for Earth or another planet or indeed non-spatial, but I'm stuck on the logic. |
@nmtoken "any Earth location" is the intended meaning, therefore For Earth. The logic would require a CRS database, and definitions schemas that enable this. |
The validation logic shouldn't be based on whether the validator has access to a CRS database. It mustn't be that if no CRS database is accessible to the client, the server must supply a CRS84[h] bounding box. There should be a 'unworldly' flag &/or nil reason on the bounding box. |
what cannot be validated is not in the standard. So if Mars data cannot validate, OAPI-Coverages does not support them. |
Well that was what my suggestion of "a separate property indicating a planet or a class of CRS may be useful to address that problem." was about. Mars is still a world and hopefully some of us will be living there soon :) Having a separate URI for the planet or CRS class would solve that problem. However I am not sure we need to go into so much details at this version of the specification. What we want to ensure is not to exclude any use cases right now, while keeping things easy to extend in the future. |
2022-10-05: Fixed by #144. |
Consider implications for APIs implementing a future CRS extension or not, for datasets where the coverage is not natively stored in CRS84.
See:
opengeospatial/ogcapi-common#91 (comment)
opengeospatial/ogcapi-common#91 (comment)
https://gitlab.ogc.org/ogc/T17-D012-Geo-Data-Cube-API-ER/-/issues/22
Also consider that if the collection is available as both Features and Coverages, Features requires that the spatial extent be specified in CRS84.
The text was updated successfully, but these errors were encountered: