[QGIS Commit] r15272 - branches/raster-providers/src/providers/gdal

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sun Feb 27 13:55:56 EST 2011


Author: rblazek
Date: 2011-02-27 10:55:56 -0800 (Sun, 27 Feb 2011)
New Revision: 15272

Modified:
   branches/raster-providers/src/providers/gdal/qgsgdalprovider.cpp
   branches/raster-providers/src/providers/gdal/qgsgdalprovider.h
Log:
minimumValue/maximumValue fix

Modified: branches/raster-providers/src/providers/gdal/qgsgdalprovider.cpp
===================================================================
--- branches/raster-providers/src/providers/gdal/qgsgdalprovider.cpp	2011-02-27 18:12:19 UTC (rev 15271)
+++ branches/raster-providers/src/providers/gdal/qgsgdalprovider.cpp	2011-02-27 18:55:56 UTC (rev 15272)
@@ -258,6 +258,7 @@
   mValidNoDataValue = true;
   for ( int i = 1; i <= GDALGetRasterCount( mGdalBaseDataset ); i++ )
   {
+    computeMinMax ( i );
     GDALRasterBandH myGdalBand = GDALGetRasterBand( mGdalDataset, i );
     GDALDataType myGdalDataType = GDALGetRasterDataType( myGdalBand );
     int isValid = false;
@@ -716,22 +717,26 @@
 
 void QgsGdalProvider::computeMinMax ( int theBandNo ) 
 {
+  QgsDebugMsg( QString("theBandNo = %1 mMinMaxComputed = %2").arg(theBandNo).arg(mMinMaxComputed[theBandNo-1]) );
   if ( mMinMaxComputed[theBandNo-1] ) return; 
   double GDALrange[2];
   GDALRasterBandH myGdalBand = GDALGetRasterBand( mGdalDataset, theBandNo );
   GDALComputeRasterMinMax( myGdalBand, 1, GDALrange ); //Approximate
+  QgsDebugMsg( QString("GDALrange[0] = %1 GDALrange[1] = %2").arg(GDALrange[0]).arg(GDALrange[1]) );
   mMinimum[theBandNo-1] = GDALrange[0]; 
   mMaximum[theBandNo-1] = GDALrange[1]; 
 }
 
-double  QgsGdalProvider::minimumValue( int theBandNo )  
+double  QgsGdalProvider::minimumValue( int theBandNo ) const 
 {
-  computeMinMax ( theBandNo );
+  QgsDebugMsg( QString("theBandNo = %1").arg(theBandNo) );
+  //computeMinMax ( theBandNo );
   return  mMinimum[theBandNo-1];
 }
-double  QgsGdalProvider::maximumValue( int theBandNo ) 
+double  QgsGdalProvider::maximumValue( int theBandNo ) const
 {
-  computeMinMax ( theBandNo );
+  QgsDebugMsg( QString("theBandNo = %1").arg(theBandNo) );
+  //computeMinMax ( theBandNo );
   return  mMaximum[theBandNo-1];
 }
 

Modified: branches/raster-providers/src/providers/gdal/qgsgdalprovider.h
===================================================================
--- branches/raster-providers/src/providers/gdal/qgsgdalprovider.h	2011-02-27 18:12:19 UTC (rev 15271)
+++ branches/raster-providers/src/providers/gdal/qgsgdalprovider.h	2011-02-27 18:55:56 UTC (rev 15272)
@@ -208,8 +208,8 @@
 
     double noDataValue() const;
     void computeMinMax(int bandNo);
-    double minimumValue(int bandNo);
-    double maximumValue(int bandNo);
+    double minimumValue(int bandNo) const;
+    double maximumValue(int bandNo) const;
 
     QList<QgsColorRampShader::ColorRampItem> colorTable(int bandNo)const;
 



More information about the QGIS-commit mailing list