Mike, I've tried the following snippet:
from osgeo import gdal, gdalnumeric import numpy ar = numpy.zeros( [128,4000,128], dtype = numpy.float32) gdalnumeric.SaveArray(ar,'testenvi.bin','ENVI') gdalnumeric.SaveArray(ar,'testtif.tif','GTiff') And it runs in ~ 2 seconds on both GDAL 1.11 and trunk. (Linux 64bit, but I'm not sure why the OS would account for such a dramatic difference) Even > Dear GDAL Developers > > > > I’m finding that when > saving a relatively small array (shape = > 128,4000,128 ie 128 band x 4000 lines x > 128 columns of float data = 256Mb total) to a ENVI file format using the > call: > > > > gdalnumeric.SaveArray(img,strf_out,'ENVI') > > > > performance is extremely slow (~260 seconds). When I save the same array > to Geotif format using; > > > > gdalnumeric.SaveArray(img,strf_out,'GTIFF') > > > > the operation > takes ~24 seconds which is much more > acceptable. > > > > I’m currently > using gdal version 1.11.1 . > > > > My question to > the forum is then -why is there such a > large discrepancy between the performance of the two operations and is > there a way to improve the performance when writing an array to an ENVI > file format? > > > > I have tried changing > the GDAL Cache options but performance doesn’t seem to alter. When > profiling the code which saves the array to GeoTIFF format I get the > output contained in the attached file timing_savearray_GTIFF.txt. When > profiling the code which saves the array to ENVI format I get the output > contained in the attached file timing_savearray_ENVI.txt > > > > I would like to > save the data to ENVI file format. Your > thoughts on this matter would be appreciated. > > > > Thanks > > > > Regards > > mike -- Spatialys - Geospatial professional services http://www.spatialys.com _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev