-
Notifications
You must be signed in to change notification settings - Fork 16
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
Define behaviour of bbox, bbox-crs and crs parameters #82
Comments
Hmmm, how can a "OGC API - Maps" client even tell what the native coordinate reference system of a collection is? And is it even important to know? If the answer to these questions are "it can't" and "no", then if a map endpoint is invoked without any So that would leave us with:
Note in the case where just the |
And of course the value of the crs parameter (or the value of the bbox-crs parameter if the crs parameter isn't present) needs to be one of the coordinate reference systems advertised in the collection's "crs" array. Since the default value of bbox-crs is CRS:84, this has the interesting implication that all maps must be requestable in CRS:84. This is probably an unrealistic requirement. Hmmm.... |
@pomakis NOTE: The Maps SWG is about to start meeting more actively now that Tiles is almost done (Thursdays / 10:30 AM Ottawa/Gatineau time). I believe that we have figured out more or less how (output)
So to reconsider your different scenarios for Maps requests:
Note that we have implemented this approach on our sample server: In our case currently all collections have a CRS84 storageCRS, so Options A and B are equivalent. |
1.- 2.- 3.- 4.- 5.- 6.-
|
We agreed on: "2.- The collections description will contain a storage CRS. If it is not there then we will assume CRS84." but I'm not sure if we agreed on the "how" and if we need to specify this in OGC API Maps or request Common to do that. We agreed that : NOTE: There is no obligation to provide the maps in CRS84 The extent should also be advertised in the storageCRS ( storageCrsExtent ?) but again, I'm not sure if we agreed on the "how" and if we need to specify this in OGC API Maps or request Common to do that. We agreed that: 6.- We have a list of supported CRS's in the collection. The first should be storage CRS. but again, I'm not sure if we agreed on the "how" and if we need to specify this in OGC API Maps or request Common to do that. For the moment I'm leaving these 3 aspects open in OGC API maps |
|
We will use "storage CRS" because Feature API already defined this term. (A note saying that in coverages "native CRS" is used will be added). We applied all this in the standard. |
I'm trying to work out the relationship between the
bbox
,bbox-crs
andcrs
parameters as it pertains to map endpoints.The
bbox
andbbox-crs
parameters are defined clearly and completely in the draft "OGC API - Common - Part 2: Geospatial Data" specification, section 9.1.1. In this definition it clearly states that "the coordinate reference system of the values SHALL be interpreted as WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in a parameterbbox-crs
". I believe this requirement was inherited from the "OGC API - Features" specification, and it's a reasonable requirement.The "OGC API - Features" specification also defines a parameter called
crs
, which indicates the coordinate system that the data should be returned in (irrespective of the coordinate system that the bounding box was expressed in), with the default being the native coordinate system of the collection. This parameter isn't defined in "OGC API - Common" yet, but it's generic enough that I believe someday it might.The current draft of the "OGC API - Maps" specification doesn't really say anything about these parameters other than saying they'll be covered in a "bbox extension". But putting two and two together, it seems to imply the following behaviours:
In all but the first and last cases, the actual extent of the returned image isn't guaranteed to be the same as the specified
bbox
. If a client wants a map of a specific extent in a specific coordinate system (which is probably the most common use case), then all three parameters must be provided, and the values ofbbox-crs
andbbox
must be the same.This behaviour seems a bit awkward, since both
bbox-crs
andbbox
must be provided with the same values in the common use case. So what's probably a better way to go (for "OGC API - Maps" at least) would be to say thatcrs
defaults tobbox-crs
if thebbox
parameter is explicitly present; otherwise it defaults to the collection's native coordinate system. Then we'd have the following:Since this is the behaviour that makes the most sense to me, this is how the CubeWerx OGC API server will be implemented (for now, at least).
Comments? Opinions?
The text was updated successfully, but these errors were encountered: