My code for creating a Tiff raster looks something like this:

int nBands = 5;
dataset->Create(filename, width, height, nBands, ...);

for (int i = 1; i <= nBands; ++i)
    GDALRasterBand *band = dataset->GetRasterBand(i);

It appears that only the description to band 1 is written (it's the only
one reported by gdalinfo).  A little debugging leads me to believe that
what's happening is that WriteBlock() invokes Crystalize() ->
WriteMetadata(), which takes care of setting the band description.  But
once Crystalize() is called, it sets a flag so as to be a NOOP in future
calls.  I'm not using streaming.

I'm trying to understand if this behavior is by design, a limitation that I
can't find in the documentation or a bug.

Any pointers appreciated.

Andrew Bell
gdal-dev mailing list

Reply via email to