Changeset 11340
- Timestamp:
- 04/23/07 16:14:06 (2 years ago)
- Files:
-
- trunk/gdal/frmts/hdf4/hdf4imagedataset.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/gdal/frmts/hdf4/hdf4imagedataset.cpp
r11163 r11340 407 407 { 408 408 CPLError( CE_Failure, CPLE_AppDefined, 409 " GDreadfield() failed for block." );409 "SWreadfield() failed for block." ); 410 410 eErr = CE_Failure; 411 411 } … … 2168 2168 } 2169 2169 } 2170 2171 if ( i == nDimCount )2172 poDS->nBands = poDS->aiDimSizes[0];2173 2170 } 2174 2171 … … 2180 2177 for ( i = 0; i < nDimCount; i++ ) 2181 2178 { 2182 if ( EQUALN( papszDimList[i], "X", 1 ) ) 2179 if ( EQUALN( papszDimList[i], "X", 1 ) 2180 && poDS->iBandDim != i ) 2183 2181 poDS->iXDim = i; 2184 else if ( EQUALN( papszDimList[i], "Y", 1 ) ) 2182 else if ( EQUALN( papszDimList[i], "Y", 1 ) 2183 && poDS->iBandDim != i ) 2185 2184 poDS->iYDim = i; 2185 } 2186 2187 // If didn't get a band dimension yet, but have an extra 2188 // dimension, use it as the band dimension. 2189 2190 if( poDS->iRank > 2 && poDS->iBandDim == -1 ) 2191 { 2192 if( poDS->iXDim != 0 && poDS->iYDim != 0 ) 2193 poDS->iBandDim = 0; 2194 else if( poDS->iXDim != 1 && poDS->iYDim != 1 ) 2195 poDS->iBandDim = 1; 2196 else if( poDS->iXDim != 2 && poDS->iYDim != 2 ) 2197 poDS->iBandDim = 2; 2198 2199 poDS->nBands = poDS->aiDimSizes[poDS->iBandDim]; 2186 2200 } 2187 2201
