[QGIS Commit] r15481 - trunk/qgis/src/providers/gdal
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Mon Mar 14 16:42:20 EDT 2011
Author: mmassing
Date: 2011-03-14 13:42:20 -0700 (Mon, 14 Mar 2011)
New Revision: 15481
Modified:
trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp
Log:
Fix #3596
Modified: trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp
===================================================================
--- trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp 2011-03-14 20:12:33 UTC (rev 15480)
+++ trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp 2011-03-14 20:42:20 UTC (rev 15481)
@@ -143,9 +143,11 @@
mMinimum.append( 0 );
mMaximum.append( 0 );
}
+
// Check if we need a warped VRT for this file.
- if (( GDALGetGeoTransform( mGdalBaseDataset, mGeoTransform ) == CE_None
- && ( mGeoTransform[1] < 0.0
+ bool hasGeoTransform = GDALGetGeoTransform( mGdalBaseDataset, mGeoTransform ) == CE_None;
+ if ( ( hasGeoTransform
+ && ( mGeoTransform[1] < 0.0
|| mGeoTransform[2] != 0.0
|| mGeoTransform[4] != 0.0
|| mGeoTransform[5] > 0.0 ) )
@@ -168,7 +170,21 @@
mGdalDataset = mGdalBaseDataset;
GDALReferenceDataset( mGdalDataset );
}
+
+ if (!hasGeoTransform)
+ {
+ mWidth = GDALGetRasterXSize( mGdalDataset );
+ mHeight = GDALGetRasterYSize( mGdalDataset );
+ // Initialise the affine transform matrix
+ mGeoTransform[0] = 0;
+ mGeoTransform[1] = 1;
+ mGeoTransform[2] = 0;
+ mGeoTransform[3] = 0;
+ mGeoTransform[4] = 0;
+ mGeoTransform[5] = -1;
+ }
+
//check if this file has pyramids
CPLErrorReset();
GDALRasterBandH myGDALBand = GDALGetRasterBand( mGdalDataset, 1 ); //just use the first band
More information about the QGIS-commit
mailing list