[gdal-dev] Multidimensional raster support in GDAL

Ari Jolma ari.jolma at gmail.com
Tue Nov 21 02:23:31 PST 2017


I'd like to get back to this topic a bit since I learned something from 
the standards that I believe was not discussed in the earlier discussion

https://lists.osgeo.org/pipermail/gdal-dev/2017-October/047464.html

In WCS 1 the range of the data - remember the main conceptual division 
to the domain (the X,Y, etc dimensions) and the range (the data if you 
will) - consists of fields, which may consist of bands. That is, a field 
may have an array value (an array of bands). In WCS 2, this separation 
is, firstly, outsourced to SWE since the datatype of range is 
SWE::DataRecord, and, secondly, left as further work in the range 
subsetting extension. The current range subsetting extension makes no 
difference between fields and bands, they are the same and there is no 
structure.

The GDAL WCS driver has had some experimental support for time as field 
and different time steps as bands. I'm not sure if there are many people 
using it since I believe the functionality is currently broken when used 
together with MapServer. The brokenness seems to be so serious that when 
making a gdal_translate call where the source is a WCS that has a field 
with more than one band (and GDAL recognizes it as such) and the call 
does not involve scaling, the call fails. The reason seems to be that 
gdal_translate accesses the data band by band.

I guess my point is here is that this is another difference between the 
GDAL data model and the general coverage data model. The simple approach 
to the data model mismatch is to allow GDAL datasets to be made from 
coverage sources with queries. Also one thing I realized I need for the 
new WCS driver is something which distinguishes different GDAL datasets 
made from a single coverage.

Best regards,

Ari




More information about the gdal-dev mailing list