Le Friday 27 March 2009 20:05:11 Lucena, Ivan, vous avez écrit : > Even, > > I see. You are right. With the absence of ComputeRasterStatistics() I got > confused and I made the wrong > > assumption. BTW, why there is no wrapper for ComputeRasterStatistics()? That would work then: > >>> bd1.SetStatistics(bd2.ComputeRasterStatistics())
Because you don't use the latest and greatest GDAL ;-) Extract from swig/include/Band.i from SVN head: /* Interface method added for GDAL 1.7.0 */ %apply (double *OUTPUT){double *min, double *max, double *mean, double *stddev}; %apply (IF_ERROR_RETURN_NONE) { (CPLErr) }; CPLErr ComputeStatistics( bool approx_ok, double *min = NULL, double *max = NULL, double *mean = NULL, double *stddev = NULL, GDALProgressFunc callback = NULL, void* callback_data=NULL){ return GDALComputeRasterStatistics( self, approx_ok, min, max, mean, stddev, callback, callback_data ); } %clear (CPLErr); > > Not a big deal. The work around is easy. > > Thank you very much, > > Ivan > > > -------Original Message------- > > From: Even Rouault <even.roua...@mines-paris.org> > > Subject: Re: [gdal-dev] python-gdal ComputStatistics return just two > > values Sent: Mar 27 '09 18:45 > > > > Hi Ivan, > > > > I don't think there's a bug. > > > > The C API for ComputeBandStats is : > > > > CPLErr CPL_DLL CPL_STDCALL > > GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep, > > double *pdfMean, double *pdfStdDev, > > GDALProgressFunc pfnProgress, > > void *pProgressData ); > > > > So, the python API is consistant with it. > > > > So it is expected that "bd1.SetStatistics(bd2.ComputeBandStats())" will > > fail as it is provided with 2 values instead of the expected 4. > > > > Best regards, > > Even > > > > Le Friday 27 March 2009 19:02:14 Lucena, Ivan, vous avez écrit : > > > Hi there, > > > > > > I believe that ComputeBandStats() should return 4 values min, max, > > > mean and stddev) [1] but the Python API is returning just mean and > > > stddev. > > > > > > python: > > > >>> bd.ComputeBandStats() > > > > > > (9.0071713001936118, 11.350094331448236) > > > > > > >>> bd.ComputeRasterMinMax() > > > > > > (-1.7899999618530273, 31.149999618530273) > > > > > > gdalinfo: > > > > > > Band 1 Block=360x1 Type=Float32, ColorInterp=Gray > > > Min=-1.790 Max=31.150 > > > Minimum=-1.790, Maximum=31.150, Mean=9.007, StdDev=11.350 > > > Unit Type: unspecified > > > Metadata: > > > STATISTICS_MINIMUM=-1.789999961853 > > > STATISTICS_MAXIMUM=31.14999961853 > > > STATISTICS_MEAN=9.0071713001936 > > > STATISTICS_STDDEV=11.350094331448 > > > > > > Is that a bug? > > > > > > See what happens in that case: > > > >>> bd1.SetStatistics(bd2.ComputeBandStats()) > > > > > > Traceback (most recent call last): > > > File "<interactive input>", line 1, in <module> > > > File "E:\Python25\Lib\site-packages\osgeo\gdal.py", line 729, in > > > SetStatistics return _gdal.Band_SetStatistics(*args) > > > TypeError: Band_SetStatistics() takes exactly 5 arguments (2 given) > > > > > > My best regards, > > > > > > Ivan > > > > > > [1] http://www.gdal.org/gdal_8h.html#a93b6b6ea6e71017ce25524e1a9ef1e3 > > > > > > _______________________________________________ > > > gdal-dev mailing list > > > gdal-dev@lists.osgeo.org > > > http://lists.osgeo.org/mailman/listinfo/gdal-dev _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev