[gdal-dev] WCS 2.0, getting (multidimensional) data

Ari Jolma ari.jolma at gmail.com
Fri Nov 3 00:57:06 PDT 2017


I have two things that I need to ask/discuss regarding WCS 2.0

1) My understanding is that there are potentially three CRS in 
operation: the CRS of the bbox of the coverage (the native CRS of the 
server); the CRS of the grid; and the CRS where the user wants the data. 
I can imagine that it is perfectly possible for a server to advertise 
data from an area bounded by geographic coordinates, and that the data 
is in some specific projected coordinate system. Also, the data could be 
regular but not east-north (it is rotated for example). This would be 
described in a CoverageDescription. Despite the rotation, GDAL would 
show the data east-nort (without rotation), since only the bbox of the 
coverage is given.

Again, it is perfectly possible that the user wants the data in some CRS 
that is not the native CRS of the WCS. The GetCoverage request can 
contain an instruction for the server to serve the data in the CRS the 
user wants the data (this is an extension in 2.0). User can set this (it 
must be one of those supported by the server) in the dataset definition 
(WCS_GDAL XML). Thus GDAL needs to show the coverage bbox to its users 
in that CRS. And, as above, the GeoTransform is east-north.

Is this correct analysis?

BTW, the coordinate transformation of the bbox is not done in WCS driver 
at the moment in the case of user CRS != server native CRS.


2) WCS can offer multidimensional data with complex data records. I want 
the GDAL user to have a control on how the data is organized into 
(current) GDAL. For example the server may offer spatio-temporal (x/y/t) 
data with about wave heights in a sea (to link this to what I'm getting 
paid for now :)) that are described as average and max. Obviously I want 
x/y bands, but I may want either the temporal data or the wave height 
data into bands, depending on the application. The workflow would go

1. gdalinfo to the server, see this data as a layer with name 
"VHM0_year_meanmax", gdalinfo reports that layer as a subdataset

2. gdalinfo into the layer, now it reports that there is an additional 
dimension (t) and that the datarecord consists of two values mean and 
max; it also reports information about the time (begin, end, step)

3. I decide to use a specific time and start using datasets with two 
bands (mean and max)

I have such data as NetCDF and I don't think I can follow that workflow 
with it since the driver puts the mean and max wave heights right away 
into subdatasets and time into bands.

In the WCS there could/should be a similar default behavior but that 
should be changeable by options (-oo t=some_timestamp).

Thoughts?

Ari




More information about the gdal-dev mailing list