[gdal-dev] Need help with geometric correction
RSyaoxin
RSyaoxin at hotmail.com
Thu Jun 30 10:20:57 EDT 2011
Hi,all.
I want to correct the envisat N1 image, the gcps I used are come from
the image.This image haven't geo-referenced information and projection,but
it's GCPs have geo-referenced information.However I can not get correct
results,the corrected image pixels are all zero.Here is my code:
GDALAllRegister();
GDALDriverH hDriver;
GDALDataType eDT;
GDALDatasetH hDstDS;
GDALDatasetH hSrcDS;
hSrcDS=GDALOpen("D:\\Users\\ASA_IMP_1PNUPA20070408_135835_000000162057_00082_26689_3974.N1",GA_ReadOnly);
CPLAssert(hSrcDS!=NULL);
int nGcpCount=GDALGetGCPCount(hSrcDS);
const GDAL_GCP *pGCPs=GDALGetGCPs(hSrcDS);
GDALWarpOptions *psWarpOptions = GDALCreateWarpOptions();
psWarpOptions->pTransformerArg=GDALCreateGCPTransformer(nGcpCount,pGCPs,1,0);
psWarpOptions->pfnTransformer=GDALGCPTransform;
psWarpOptions->eResampleAlg=GRA_NearestNeighbour;
psWarpOptions->hSrcDS=hSrcDS;
psWarpOptions->nBandCount=0;
psWarpOptions->pfnProgress=GDALTermProgress;
double adfDstGeoTransform[6];
int nPixels=0, nLines=0;
GDALSuggestedWarpOutput(psWarpOptions->hSrcDS, GDALGCPTransform,
psWarpOptions->pTransformerArg, adfDstGeoTransform,
&nPixels, &nLines);
hDriver=GDALGetDriverByName("GTiff");
CPLAssert(hDriver!=NULL);
eDT=GDALGetRasterDataType(GDALGetRasterBand(hSrcDS,1));
hDstDS=GDALCreate(hDriver,"D:\\Users\\warp.tif",nPixels,nLines,GDALGetRasterCount(hSrcDS),eDT,NULL);
CPLAssert(hDstDS!=NULL);
psWarpOptions->hDstDS=hDstDS;
char *pszDstWKT=NULL;
OGRSpatialReference oSRS;
oSRS.SetUTM(20,TRUE);
oSRS.SetWellKnownGeogCS("WGS84");
oSRS.exportToWkt(&pszDstWKT);
GDALSetProjection(hDstDS,pszDstWKT);
GDALSetGeoTransform(hDstDS,adfDstGeoTransform);
CPLFree(pszDstWKT);
GDALWarpOperation oOperation;
oOperation.Initialize(psWarpOptions);
oOperation.ChunkAndWarpImage(0,0,nPixels,nLines);
GDALDestroyGenImgProjTransformer(psWarpOptions->pTransformerArg);
GDALDestroyWarpOptions(psWarpOptions);
GDALClose(hDstDS);
GDALClose(hSrcDS);
That's Why?I turn to Anybody who once did this job for some advice. Thank
you!
Kind regards.
--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Need-help-with-geometric-correction-tp6533456p6533456.html
Sent from the GDAL - Dev mailing list archive at Nabble.com.
More information about the gdal-dev
mailing list