-
Notifications
You must be signed in to change notification settings - Fork 85
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
extents not easily extensible as the connections to the reference systems are not clear #168
Comments
I think I would prefer something that follows OWS common more closely. Something like this: Some notes ... Just my $0.25 worth ... |
I fully agree with your three notes. Not sure what the ndims is useful for - this can be determined by the lower/upper element count. Why is the "trs" not simply also "uom"? This looks a bit better to me:
|
@m-mohr Sure ... looks good to me! |
In addition to @rcoup's question:
|
@rcoup The data is concentrated in two different areas. Gives a more precise idea where clients should query to have a better chance of finding data. |
Please let me note that I was just requesting changes to the proposal of @pvretano - that was no vote to really adopt that proposal! I actually tend to prefer another (the current?) notation. @cportele |
|
On the use of |
|
That was the idea. If we expect that extensions will want to use multiple bboxes then we need to make sure this is supported by the Core. I would just not use lower/upper, but a single array for the bbox with 4/6 coordinates. |
@pvretano uh huh, but I'm obviously not getting it. Can you convert that specific example to WKT? |
@rcoup - I do not see how WKT would make it more clear than the lower/upper notation? This is just about a set of bboxes instead of a single one. Say, a bbox for the continental US, one for Alaska and one for Hawaii instead of a single one for the US that includes larger areas with no data. (The second bbox in Peter's example was probably meant to be (40,40)-(50,50) or something similar). |
I wasn't asking to use WKT, I just wanted to know what actual spatial extents this example describes: 😄
It's not at all obvious. Bounding Boxes have 4x coordinates, not two lines. I'm really not understanding where the terms "lower" and "upper" come from?
IME spatial stuff is confusing enough to many people, without trying to abstract-away 2D+ extents using the same words we use for linear time/temperature/etc ranges. Additional questions:
|
That said, as I mentioned in an earlier comment, I would prefer to keep the current array notation for a bbox, i.e. On the additional questions:
|
So from my side, I am looking for a way to describe all extents (dimensions) of a collection in a unified way. Best would be to actually make it with lower and upper bounds, optional reference system and optional unit. So that in the end all extents share the same structure, but I do see that this is counter-intuitive for spatial extents. As far as I understand it, currently it is defined as follows: So the rule you could derive from this is that the first half of the extent describes the lower values and the second half describes the upper values plus a reference system each. All additional extents could share this approach, but it seems spatial extent is under discussion and may need special treatment. So what I'd like to come up with, is a recommendation on how further extents could be specified generally with exceptions for the spatial extent if requested. So generally (exceptions allowed, e.g. for spatial extents) the fields would be:
The names, structure and details are to be discussed. I'll just post this here for discussions and inspiration of the basic structure and recommendation to unify things. Example:
|
@m-mohr the WFS 3.0 core uses "crs" instead of "ref_sys". Are you OK with that? |
Well, |
@m-mohr For the sake of consistency my preference would be to use lower, upper and ref_sys for spatial and temporal extents and then make recommendations for extensions (i.e use lower, upper and uom for example). However, as @rcoup pointed out, that may confusing to the casual geo-spatial user so perhaps we should stick with whatever is thought to be common practice (i.e. array notation with crs for bbox and lower/upper with trs for temporal). |
I think we can go with exceptions for at least the spatial extent as we already have a representation of the extents in the features, i.e. the GeoJSON bbox. So that should align and therefore should not be confusing to anybody. For all the others lower/upper values will probably make sense. Doesn't really care whether it is a two element array or an object with lower/upper keys. Regarding reference systems: What other reference systems could there be? Or is it mostly coordinates and time? As long as there are recommendations for extensions and these are followed as closely as useful for spatial and temporal, I'm fine. We just need to come up with a proposal that answers the questions raised in this issue. |
Regarding reference systems: What other reference systems could there be? Or is it mostly coordinates and time?
Looking at Default Coordinate Reference Systems, from Annex D.4 of the INSPIRE Technical Guidance for the implementation of INSPIRE dataset and service metadata based on ISO/TS 19139:2007, other than 2D geo spatial coordinates we have CRS for depth and also height and also pressure.
If you look at the WMS specification other than geographic, vertical, and temporal coordinate systems we have examples of other coordinate systems that include temperature and wavelength.
…-----Original Message-----
From: Matthias Mohr <[email protected]>
Sent: 11 October 2018 14:40
To: opengeospatial/WFS_FES <[email protected]>
Cc: Subscribed <[email protected]>
Subject: Re: [opengeospatial/WFS_FES] extents not easily extensible as the connections to the reference systems are not clear (#168)
I think we can go with exceptions for at least the spatial extent as we already have a representation of the extents in the features, i.e. the GeoJSON bbox. So that should align and therefore should not be confusing to anybody. For all the others lower/upper values will probably make sense. Doesn't really care whether it is a two element array or an object with lower/upper keys.
Regarding reference systems: What other reference systems could there be? Or is it mostly coordinates and time?
As long as there are recommendations for extensions and these are followed as closely as useful for spatial and temporal, I'm fine. We just need to come up with a proposal that answers the questions raised in this issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#168 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/ABnU2xYn4QRrtukjTQ-e1-eUq-ZNiPC2ks5uj0omgaJpZM4WzytI> . <https://github.com/notifications/beacon/ABnU21B4ydT2Nm5wr0Ewsxw8YBUHkK3qks5uj0omgaJpZM4WzytI.gif>
________________________________
This message (and any attachments) is for the recipient only. NERC is subject to the Freedom of Information Act 2000 and the contents of this email and any reply you make may be disclosed by NERC unless it is exempt from release under the Act. Any material supplied to NERC may be stored in an electronic records management system.
________________________________
|
We don't have a complete consensus yet. A result I'd like to get from this discussion is that at least we get a recommendation how other extents than spatial and temporal should be described. I'm okay with making exceptions for spatial and maybe temporal extents. Spatial extents are somehow special and should align with the bbox from GeoJSON. Other than that, I think the keys (spatial, temporal, ...) should just be descriptive (or removed at all) but not determine what type of object it is as this is a problem with two temporal extents for example. More logical would be to determine it by reference system or unit. Making an exception for space and defining a general rule for all other extents, this could be an example: {
"extent":{
"spatial": {
"bbox": [180, -56, -180, 83],
"crs":"http://www.opengis.net/def/crs/OGC/1.3/CRS84"
},
"temporal_1":{
"lower": "2015-06-23T00:00:00Z",
"upper": "2015-06-24T00:00:00Z",
"ref_sys": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian"
},
"temporal_2":{
"lower": "2015-06-23T00:00:00Z",
"upper": "2015-06-24T00:00:00Z",
"ref_sys": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian"
},
"thermal":{
"lower": 0,
"upper": 273.15,
"uom": "http://www.opengis.net/def/uom/SI/kelvin"
}
}
} The recommended fields would be:
This example to start discussions again as I wish we could reach some consensus for this issue soon. |
08-APR-2019: Teleconference notes ... Clemens will create a pull request for this issue. The element of the proposal are (1) Only spatial and temporal extents will be define. (2) Both spatial and temporal extents will be arrays to accommodate extents that closely isolate where the data actually lies. (3) The proposed structure will be some synthesis/extension of the proposals in this issue. |
Resolves #168 The text in Core does not have examples for the more complete cases that extensions may use. This would be how an example from the discussion in the issue would be represented: ``` { "extent":{ "spatial": { "bbox": [[180, -56, -180, 83]], "crs":"http://www.opengis.net/def/crs/OGC/1.3/CRS84" }, "temporal":{ "interval": [["2015-06-23T00:00:00Z", "2015-06-24T00:00:00Z"], ["2015-06-23T00:00:00Z", "2015-06-24T00:00:00Z"]], "trs": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian" }, "thermal":{ "range": [0, 273.15], "uom": "http://www.opengis.net/def/uom/SI/kelvin" } } } ```
Resolves #168 (Extents not easily extensible as the connections to the reference systems are not clear)
I am struggling a bit with the extent in WFS collections. Currently, it has basically fours fields:
To me this looks a bit dirty as the crs and trs are not closely bound to the corresponding fields. For example, one could think about adding more extents, for example temperature or another temporal extent, which (I think) happens in Meteorology. How would that work?
Example:
In this case one could argue that the temporal ref system is just the same, but you probably get the point here. It is also not easy to map the fields of the ref systems to the actual fields for the values.
Also, you can't easily go through all extents because crs and trs are no extents. You can separate them by data types (array/string), but that doesn't feel right.
So I'd think there should be a consistent way to add the reference systems to the actual extents and it should be considered that there are more extents to be added to the object of extents. I think that's why the extents are actually combined and not just a separate spatial_extent and temporal extent field, right?
This could be resolved like this:
There are other ways to structure that and I am not saying that we should do exactly what the example shows, but it's should be more an inspiration.
The text was updated successfully, but these errors were encountered: