-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Recently, the new description of spatial and temporal extents was migrated from Features to Common.
I notice what I think are serious interoperability issues with this new version.
As the same applies to both intervals and bounding boxes, I will only mention bounding boxes here, but I believe it is all equally valid for temporal intervals.
First, the description itself is not clear about "one or more" or boxes.
The new services I have seen so far (e.g. Interactive Instruments, and GeoSolutions's GeoServer which followed the pattern) specifies an array of array, even when there is a single bounding box.
Is that the only valid syntax? Or is a single array of numbers also valid?
If both are valid (which we assume was the case), it cause a lot of variability which might be tricky to parse (definitely was the case for our parser), as you have to expect two very different kind of objects (an array of array, or an array of real numbers).
Either way, it should be clarified what is meant.
Secondly, it says that only one bounding box is supported in Core, while multiple bounding boxes are an extension.
The problem with this, and with this approach for extensibility, is that it is not interoperable at all.
If a service supports multiple bounding boxes, but a client does not (and say ignore all but the first bounding box), the client will think the server only provide a small subset of the data it really does provide.
The proper interoperable solution, would be to keep it simple and always keep this spatial extent to be a single bounding box.
In the case of a server supporting more complex extents (e.g. multiple bounding boxes) this would be the 'union' of all these bounding boxes.
Then, another property is used to describe the sub-bounding boxes making up this overall extent.
The simple client not implementing multiple bounding boxes will have no problem with this (it will ignore the unrecognized property) and will still be aware of the entire dataset, albeit it will notice there are some holes missing and some requests will come back with no data.
But here we would still have interoperable service & client, through the Core specification!!!
Additionally, there are alternate approach to bounding boxes (e.g. non axis-aligned requiring 4 points, polygons, point-radius, point spheres for 3D...), which could constitute different extensions (as in 3D, as Carl pointed out in relation to this discussion).
There may be some fear of breakage in addressing this, but the sooner the better and this is too critical an interoperability problem to leave it unresolved.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status