Hi Frank Thank you for your suggestion. I realized that I opened my dataset with GA_ReadOnly, and now changed it to GA_Update.
Now another issues presented itself: When I execute these statements on a .pix image, it works beautifully. When I execute these statements on a .TIF image, it still gives an empty definition string, with the CPLError stil CE_None. Am I supposed to manually include any additional GeoTiff or Tiff libraries when I build my application? -----Original Message----- From: Frank Warmerdam [mailto:warmer...@pobox.com] Sent: Saturday, July 10, 2010 4:36 PM To: Francois Maass Cc: gdal-dev@lists.osgeo.org Subject: Re: [gdal-dev] Projection Definition String Francois Maass wrote: > Good day! > > I am trying to set the Projection Definition for a GDALDataset as > follows (from the GDALWarp API): > > > > /const char *pszDstWKT = NULL;/ > /OGRSpatialReference oSRS;/ > /oSRS.SetUTM( 11, TRUE );/ > /oSRS.SetWellKnownGeogCS( "WGS84" );/ > /oSRS.exportToWkt( &pszDstWKT );/ > / / > /if(GDALSetProjection(srcDataset, pszDstWKT) == CE_Failure)/ > /{ //handle failure/ > /{else/ > /{/ > / const char *defString = srcDataset->GetProjectionRef();/ > / cout<<"Length: "<<strlen(defString)<<endl;/ > /cout<<"Projection: "<<defString<<endl;/ > /};/ > > > > Firstly, I get a compiler error with the oSRS.exportToWKT statement: > invalid conversion from 'const char**' to 'char**'. Francois, exportToWkt() needs to modify pszDstWKT, so it is inappropriate for the pointer to be const. > Secondly, After the GDALSetProjection(.) call succeeds, the projection > information is supposed to be printed out to standard out, along with > the length of the definition string. > However, the output is as follows: > $ Length: 0 > > $ Projection: > > > > Why is the projection string still empty? I see you are seeing the projection on the source file (srcDataset). Are you sure it is open in update mode? I suspect that either the source dataset is not updatable because it is open in read-only mode or due to a limitation of the driver. It *ought* to return CE_Failure in either of those conditions but this is not always completely properly implemented. It may be appropriate for you to file a ticket on why CE_Failure is not returned when the setprojection seems to be failing. Best regards, -- ---------------------------------------+------------------------------------ -- I set the clouds in motion - turn up | Frank Warmerdam, warmer...@pobox.com light and sound - activate the windows | http://pobox.com/~warmerdam and watch the world go round - Rush | Geospatial Programmer for Rent _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev