Re: [gdal-dev] Reading a single pixel from multiple bands at the same time in python
Ivan Lucena
ivan.lucena at pmldnet.com
Wed Feb 24 09:03:58 EST 2010
Ben,
Another alternative a little bit more flexible is to use ReadRaster() specifying your query window (1x1 or more), the
automatic data type conversion and the list of bands you are querying from. I guess it wrapper RasterIO directly.
Note that the resulting buffer will be binary, not a numpy Array as in ReadAsArray(), but that is easy to convert using
numpy.fromstring().
Regards,
Ivan
> -------Original Message-------
> From: Frank Warmerdam <warmerdam at pobox.com>
> To: Benjamin Welton <benjamin.r.welton at wmich.edu>
> Cc: gdal-dev at lists.osgeo.org
> Subject: Re: [gdal-dev] Reading a single pixel from multiple bands at the same time in python
> Sent: Feb 23 '10 22:25
>
> Benjamin Welton wrote:
> > Hey,
> >
> > Iv got a question on whether or not its possible to read a single
> > pixel value from multiple bands using one GDAL call in python? The file
> > working with is an ENVI BIP file that has a large number of bands
> > (around 1000) and im looking for a way to reduce the python overhead by
> > only making one single call into the GDAL library. GDALDataset::RasterIO
> > seems like it might be the function i need to use but im 100% sure. If
> > anyone has any suggestions or hints on whether or not this is possible
> > that would be great.
>
> Ben,
>
> You can use the ReadAsArray() method on a gdal.Dataset to read multiple
> bands in one call as an array object:
>
> ds = gdal.Open('/home/warmerda/public_html/world.tif')
> d = ds.ReadAsArray(0,0,1,1)
> print d
> [[[11]]
>
> [[10]]
>
> [[50]]]
>
> Best regards,
> --
> ---------------------------------------+--------------------------------------
> I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
> 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
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
More information about the gdal-dev
mailing list