[gdal-dev] WCS GetCoverage with AxisOrder swap

Ari Jolma ari.jolma at gmail.com
Wed Nov 8 03:48:49 PST 2017


I've got to the point in the new WCS driver development, where I'm 
trying to issue GetCoverage request to a GeoServer, which is serving 
data in EPSG that has axis order swapped.

This is related to the earlier discussion

https://lists.osgeo.org/pipermail/gdal-dev/2017-April/046366.html

The data serving is at

https://msp.smartsea.fmi.fi/geoserver/wcs?SERVICE=WCS&REQUEST=DescribeCoverage&VERSION=2.0.1&COVERAGEID=smartsea__eusm2016-EPSG2393

The boundedBy tells that the axisLabels are "Y X" and the lower corner 
is "6543350.381089335 3061592.6391462097" and upper corner is 
"7307056.899896299 3432141.361396798". This makes sense, in that EPSG X 
(easting) runs up from 3000000 and Y (northing) runs up from 6500000.

What I don't understand is why I need to make the GetCoverage request 
with subset=Y(3061592,3061632) and subset=X(7307016,7307056). If I 
define them as I would expect

https://msp.smartsea.fmi.fi/geoserver/wcs?SERVICE=WCS&REQUEST=GetCoverage&VERSION=2.0.1&COVERAGEID=smartsea__eusm2016-EPSG2393&FORMAT=image%2Ftiff&SUBSET=X%283061592.63914621,3061632.65520693%29&SUBSET=Y%287307016.88383558,7307056.8998963%29

I get "Empty intersection after subsetting".

A MapServer that serves data with EPSG that has axis order swapped is at

http://194.66.252.155/cgi-bin/BGS_EMODnet_bathymetry/ows?SERVICE=WCS&REQUEST=DescribeCoverage&version=2.0.1&coverageid=BGS_EMODNET_CentralMed-MCol

It works using the above logic. However, it does not have GridFunction, 
which GeoServer has (it is "+2 +1", i.e., the data is east first, then 
north).

and Rasdaman server at

http://ows.rasdaman.org/rasdaman/ows?SERVICE=WCS&REQUEST=DescribeCoverage&VERSION=2.0.1&COVERAGEID=BlueMarbleCov

Works using the above logic. However, it *has* GridFunction, which is 
the same as GeoServer has. However, it has the order of offsetVectors 
swapped - which I think is correct (as is also written here 
https://lists.osgeo.org/pipermail/gdal-dev/2017-April/046421.html)

So, I can make Rasdaman work for CRS with swapped order by default (also 
the returned geotiff is ok), and for MapServer and GeoServer I need to 
have at least two hack options (NoOffsetSwap and NoGridEnvelopeSwap, 
maybe there could be only one). I have not yet checked if the rasters 
returned from those two are ok.

Ari






More information about the gdal-dev mailing list