[gdal-dev] Multidimensional raster support in GDAL

Even Rouault even.rouault at spatialys.com
Wed Oct 25 12:22:29 PDT 2017


On mercredi 25 octobre 2017 14:42:54 CEST Ari Jolma wrote:
> I'd like to first know / decide what would we mean by a
> "multidimensional raster"?

The current rasters handled by GDAL are already multidimensional, with the number of 
dimensions being fixed to 2, and being 2 horizontal dimensions (X/Y, lon/lat). The idea here 
would be to at least address the 3D (X,Y,Z / X,Y,T) and 4D case (X,Y,Z,T), and when you need to 
do that, arbitrary number of dimensions is at hand.

The dimensions/ones here are mostly spatio-temporal ones, along which you can measure a 
physical phenomenon (a temperature field measures at different position, elevation, time)

> 
> What we now have as a raster is a dataset with one or more bands. The
> bands represent the data dimension and thus there is one of those
> (2D+1).

Bands do not represent a dimension. In OGC SIS
( http://docs.opengeospatial.org/is/09-146r6/09-146r6.html ) or WCS, bands are called fields 
of a rangeType.
Bands are different from the above mentionned dimensions in which they do not really 
consider an axis along which you have some consistency. Along the X/Y axis, you can mark 
ticks every n meters. Along the "band axis", you will have a temperature field in Kelvin, a wind 
direction in degrees, etc.

> Would we like to have more data dimensions? What Even sketches
> below is ND, but would we really want to have 2D + ND?

My scetch of ND intended to capture the current 2D case, as a particular case.

> 
> Also now there is no unit for the data dimension and the value is
> strictly increasing positive integer,

> would we like to have an explicit
> unit

Was the GDALDataset::char* apszAxisUnit[nAxisCount] or GDALGridAxis::pszUnit  in my 
scetch

> and arbitrary value (double, date, time, ...)?

In my scetch, I had indeed some hesitation about the appropriate type for 
adfAxisCoordinates array. I think that for the cases mentionned above (4D spatio-temporal) 
we can always represent the coordinates along each axis as a double value. The case where 
that's the less obvious is for date/time, but using some reference like the Unix Epoch.


Even

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20171025/b05d5f1e/attachment.html>


More information about the gdal-dev mailing list