[gdal-dev] Howto change geo transform parameters in dataset.

Oliver Eichler oliver.eichler at gmx.de
Mon May 31 13:35:21 EDT 2010


Am 31.05.2010 19:13, schrieb Frank Warmerdam:
> Oliver Eichler wrote:
>> Hi,
>>
>> I would like to change the offset of a referenced file. I use
>> GDALDataset::GetGeoTransform(adfGeoTransform) to read the current
>> settings. I change adfGeoTransform[0] and adfGeoTransform[3] and use
>> GDALDataset::SetGeoTransform(adfGeoTransform) to replace the old
>> settings.
>>
>> Of course that does not work. GDAL tells me that this works only on
>> newly created datasets. Well ok. 2nd try:
> 
> Oliver,
> 
> What file format are you working with?  Your approach is appropriate,
> but not all drivers support changing metadata like the geotransform after
> the file has been created on disk.

Hi Frank,

it's a GeoTiff. Is it possible with that format or should I have better
have a look into the gdal_translate code?


Oliver


> 
>> I use GDALDriver::CreateCopy() to create new dataset and to copy all
>> data. But even with the new copy
>> GDALDataset::SetGeoTransform(adfGeoTransform) fails for the  same reason.
> 
> File formats that only support CreateCopy(), and not Create(), will
> generally require you to set the appropriate geotransform in the source
> dataset before calling CreateCopy().  It is possible to create a
> virtual dataset wrapped around your real source, and set the updated
> geotransform on that.  This is how gdal_translate handles stuff like
> changing the coordinate system, and geotransform.
> 
> Best regards,



More information about the gdal-dev mailing list