Tom Kazimiers wrote:
There is also a RasterIO() method on the Dataset which allows
fetching all the bands in one request.  In C++ this is:

http://www.gdal.org/classGDALDataset.html#e077c53268d2272eebed10b891a05743

thank you very much - this was what I was looking for. Unfortunately I
need to write Data in the form Band3, Band2, Band1, Band3, Band2, Band1,
... (BGR)
Like you have said, the reading is sequential and it was not very hard
to get it working with a result of the form Band1, Band2, Ban3, Band1,
Band2, Band3, ... (RGB)
Is there a way to change the order of the bands so that I can use this
function (alternatively I could write a fast switch function, sure - but
it would be nicer to have it all in one function)? With three seperate
calls to the per-raster-band-RasterIO I can controle everything pretty
good, but it seems that the per-dataset-RasterIO is faster (maybe
illusion :P).

Tom,

To read or write from a BGR buffer you can either passing the band
list reversed (ie. panBandMap is {3,2,1}) or fudze with the
pixelspace, linespace and bandspace values to simulate the reverse.

Sometimes dataset level io will be faster but often it is internally
implemented by calling band level io.

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, [EMAIL PROTECTED]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to