[gdal-dev] GDAL WCS driver

Jukka Rahkonen jukka.rahkonen at mmmtike.fi
Sat Oct 6 02:25:50 PDT 2012


Craig Bruce <csbruce <at> cubewerx.com> writes:

>
base_url?datastore=cwtile&SERVICE=WCS&VERSION=1.0.0&REQUEST=
GetCoverage&COVERAGE=terrapixel&FORMAT=GeoTIFF&
BBOX=260489,3667254,260490,3667255
&WIDTH=2&HEIGHT=2&CRS=EPSG:26915

> As you can see in the gdalinfo of the WCS itself, the pixel resolution
> is 0.5m, but this request is for 1.0m, since WCS BBOX= coordinates use
> pixel-is-point sematics rather than pixel-is-area, this is requesting a
> different resolution from the native resolution and is going outside of
> the source-data area, which is advertised in the WCS 
> DescribeCoverage as:

For me the request is quite normal. WCS supports resampling and also 
requests going partly outside the coverage area. This is from the 1.0.0
standard:
"For any part of the coverage domain that is partly or entirely 
contained in the Bounding Box defined by BBOX, the server must 
return coverage data in the "requested format.

Do you think that GDAL does not get the information it needs by 
doing the query as it does with 1 m pixels?

>
base_url?datastore=cwtile&SERVICE=WCS&VERSION=1.0.0&REQUEST=
GetCoverage&COVERAGE=terrapixel&FORMAT=GeoTIFF&
BBOX=260489,3667245,260499,3667255
&WIDTH=20&HEIGHT=20&CRS=EPSG:26915
> 
> which is wrong since it hasn't been converted to the pixel-is-point
> semantic of the WCS.  It's doing an awkward, shifted resampling of the
> source data.

WCS 1.0.0 does not discuss about pixel is point /pixel is area. Standard
says "A GetCoverage request may include a 1-D, 2-D, or 3-D spatial 
constraint expressed as a rectangle (or line, or parallelepiped) 
aligned with the axes of the spatial reference system given in the 
CRS parameter. Such a constraint is expressed as a BBOX parameter 
representing the coordinates of the southwest/lower and northeast/upper
 corners (in that order) as comma-separated numbers (e.g., minx, miny, 
maxx, maxy)."

>From what I know the interpretation that BBOX presents pixel outmost 
extents is used by WCS servers like Mapserver and Geoserver.  
WCS 1.1.0 is the first version which clearly describes the pixel 
is point strategy. 
> Apparently, other people have run into this problem, too:
> 
> Or are WCSes supposed report data extents as pixel-is-point in
> GetCapabilities and DescribeCoverage but accept BBOXes as pixel-is-area
> in GetCoverage?  That would be bizarre.  I can't find a place in the WCS
> 1.0.0 spec where it actually explicitly clears this up.  Does anyone know
> what MapServer does about this?

WCS is bizarre. Version 1.0.0 behaves in a way that feels natural 
for WMS users because the BBOX means the same. If you want pixel 
is point logic, use WCS 1.1.0 or 2.0. 

-Jukka Rahkonen-




More information about the gdal-dev mailing list