@tomkralidis does your server have a pretty JSON mode?
Tom Kralidis
@tomkralidis
@jerstlouis sec
ghobona
@ghobona
A reminder that we will reconvene at 15:30 EDT to discuss any issues or concerns, if there are any. If there are none, we will continue with the practical work.
The widened bbox query will probably throw some error if it is totally outside the valid area of the CRS, like outside World between 85.06°S and 85.06°N for EPSG:3857.
At least if the mathematics of the conversion just do not work.
Jerome St-Louis
@jerstlouis
@jratike80 the widened bbox query can throw an error if it's outside the CRS.
the CRS being requested
if you ask for WGS84 for the whole world, and the data is native in WorldMercator, you 'd have NODATA outside the native CRS's extent.
jratike80
@jratike80
However, it can be too strict to use the limits of the CRS as a reason for throwing an error. For example at the boundary of http://epsg.io/2392 and http://epsg.io/2393 it may be necessary to cross the boundary.
Jerome St-Louis
@jerstlouis
true
if the transformation is well defined, there should not be an error
_
jratike80
@jratike80
It is hard to compress all this into few crystal clear sentences for the standard ;)
If the transformation is impossible the server may give an error...
Jerome St-Louis
@jerstlouis
I haven't updated our server implementation yet, but some of it is now already working according to the specifications e.g.
Perhaps the no-data padding is allowed in WCS 2.0 subsetting even not recommended.
From the standard: "Requirement 38 /req/core/getCoverage-response-trimming: The response to a successful GetCoverage request on coverage identifier id of admissible type containing no slicing and exactly one trimming operation with dimension name dname, lower bound parameter evaluating to low, and upper bound parameter evaluating to high shall be a coverage identical to c, but containing all points of c with location inside B, and no other points. NOTE This requirement does not specify the actual extent of the coverage returned. Possible options include: the minimal bounding box of the coverage returned, or the request bounding box. Servers are strongly encouraged to deliver the minimal bounding box."
Jerome St-Louis
@jerstlouis
right, so it owuld be possible to implement it easily as a facade on top of a conformant WCS2, albeit not one following that recommendation
@jratike80 yes it seems to imply padding with no data. anyways coverages always have no data right if their data extent does not match the CRS axis
jratike80
@jratike80
But from the developers point of view such wording is probably a nightmare. Some servers may apply padding, others don't, and the only way to know is to try. Or to play a detective "by this sort of capabilities response the server is probably MapServer, and those tend to behave this way"
Jerome St-Louis
@jerstlouis
particularyl problematic if you're asking for a PNG with no geospatial referencing!
// the offset order should be swapped// Rasdaman does it// MapServer and GeoServer not
Jerome St-Louis
@jerstlouis
@jratike80 !! :)
though that is order axis :)
Keith Pomakis
@pomakis
I have updated CubeWerx's handling of the bbox parameter at the coverage endpoint such that if it extends beyond the extent of the coverage, the full requested area will be returned (i.e., not trimmed to the coverage's extent). I have not yet adjusted the behaviour likewise for the subset behaviour, nor have I added width or height parameters. These things will come in time, but not likely within the timeframe of the sprint.
ghobona
@ghobona
I think I have isolated the problem with the API definition (yaml file) of OGC API - Coverages. The issue that prevents compilation appears to be the JSON Schema files that are imported from http://schemas.opengis.net/cis/1.1/json/coverage-schema.json
Jerome St-Louis
@jerstlouis
@pomakis cool thank you! do you know offhand what width and height would map to for scalesize ?
Jerome St-Louis
@jerstlouis
So I am wondering if this 'extend' behavior couldn't actually be dependent on the representation...
if the media type is properly geo-referenced those nodata don't really add much value.
it's great for e.g. 16-bit PNG which cannot carry that georeferencing, or for using BBOX with rangeset for example.
(and also for use together with width / height, where width height are relative to the requested bbox... if the server is trimming the bbox to the data extent then the client will receive less cells than the specified width / height)
jratike80
@jratike80
I was remembering that I have faced the problem with no-data fill sometimes. I found the issue but it was a bit different https://osgeo-org.atlassian.net/browse/GEOS-8893. We had some missing mapsheets in between the Finnish false-color aerial photo coverage and Geoserver was trimming the output raster to smaller extent. That might be a good test case for server developers. Just delete one image from the middle of your image mosaic or what ever you call it, make a request that partially hits the hole and see what happens.
Jerome St-Louis
@jerstlouis
@jratike80 it would seem that the issue description is not accurate based on what you pasted earlier?