id summary reporter owner description type status priority milestone component version severity resolution keywords cc 2658 gdal_array.BandReadAsArray() takes bogus parameter dron hobu "gdal_array.BandReadAsArray() function is defined as {{{ def BandReadAsArray( band, xoff, yoff, win_xsize, win_ysize, buf_xsize=None, buf_ysize=None, buf_obj=None ): """"""Pure python implementation of reading a chunk of a GDAL file into a numpy array. Used by the gdal.Band.ReadaAsArray method."""""" }}} See [http://trac.osgeo.org/gdal/browser/trunk/gdal/swig/python/osgeo/gdal_array.py#L110] What is a purpose of the 'buf_obj' parameter? Actually ,it is not used at all, just created if _not_ None (losing the passed value) and then being lost itself ([http://trac.osgeo.org/gdal/browser/trunk/gdal/swig/python/osgeo/gdal_array.py#L134]) {{{ if buf_obj is not None: buf_obj = numpy.zeros( shape, typecode ) band_str = band.ReadRaster( xoff, yoff, win_xsize, win_ysize, buf_xsize, buf_ysize, datatype ) ar = numpy.fromstring(band_str,dtype=typecode) ar = numpy.reshape(ar, [buf_ysize,buf_xsize]) return ar }}} Compare it with the original implementation where that parameter was used and had perfect sense ([http://trac.osgeo.org/gdal/browser/trunk/gdal/pymod/gdalnumeric.py#L177]): {{{ if buf_obj is None: buf_obj = zeros( shape, typecode ) return _gdal.GDALReadRaster( band._o, xoff, yoff, win_xsize, win_ysize, buf_xsize, buf_ysize, datatype, buf_obj ) }}} I think we should restore the original meaning of this parameter. " defect closed normal 1.7.0 PythonBindings svn-trunk normal fixed hobu warmerdam antonio