Changeset 11169

Show
Ignore:
Timestamp:
04/02/07 13:46:14 (2 years ago)
Author:
warmerdam
Message:

Correct calculation error in Set Projection. Made sure that the pixel
center is used and not the pixel border. (bug #1506)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.4/gdal/frmts/netcdf/netcdfdataset.cpp

    r11158 r11169  
    672672    const char *pszWKT; 
    673673    const char *pszGeoTransform; 
    674     char **papszGeoTransform
     674    char **papszGeoTransform=NULL
    675675 
    676676 
     
    10701070                    poDS->adfGeoTransform[1] = (( pdfXCoord[xdim-1] -  
    10711071                                                  pdfXCoord[0] ) /  
    1072                                                 poDS->nRasterXSize); 
     1072                                                ( poDS->nRasterXSize - 1 )); 
    10731073 
    10741074                    poDS->adfGeoTransform[5] = (( pdfYCoord[ydim-1] -  
    10751075                                                  pdfYCoord[0] ) /  
    1076                                                 poDS->nRasterYSize); 
     1076                                                ( poDS->nRasterYSize - 1 )); 
     1077/* -------------------------------------------------------------------- */ 
     1078/*     Compute the center of the pixel                                  */ 
     1079/* -------------------------------------------------------------------- */ 
     1080                  poDS->adfGeoTransform[0] = pdfXCoord[0] 
     1081                      * (poDS->adfGeoTransform[1] / 2); 
     1082 
     1083                  poDS->adfGeoTransform[3] = pdfYCoord[0] 
     1084                      * (poDS->adfGeoTransform[5] / 2); 
    10771085 
    10781086                    oSRS.exportToWkt( &(poDS->pszProjection) ); 
     
    11621170                 
    11631171                adfGeoTransform[0] = dfWE; 
    1164                 adfGeoTransform[1] = (dfEE - dfWE) / poDS->GetRasterXSize(); 
     1172                adfGeoTransform[1] = (dfEE - dfWE) /  
     1173                    ( poDS->GetRasterXSize() - 1 ); 
    11651174                adfGeoTransform[2] = 0.0; 
    11661175                adfGeoTransform[3] = dfNN; 
    11671176                adfGeoTransform[4] = 0.0; 
    1168                 adfGeoTransform[5] = (dfSN - dfNN) / poDS->GetRasterYSize(); 
    1169                  
     1177                adfGeoTransform[5] = (dfSN - dfNN) /  
     1178                    ( poDS->GetRasterYSize() - 1 ); 
     1179/* -------------------------------------------------------------------- */ 
     1180/*     Compute the center of the pixel                                  */ 
     1181/* -------------------------------------------------------------------- */ 
     1182              adfGeoTransform[0] = dfWE 
     1183                      * (adfGeoTransform[1] / 2); 
     1184 
     1185              adfGeoTransform[3] = dfNN 
     1186                      * (adfGeoTransform[5] / 2); 
     1187 
     1188 
    11701189                bGotGeoTransform = TRUE; 
    11711190            }