Python 如何更改光栅';用GDAL进行几何变换?

Python 如何更改光栅';用GDAL进行几何变换?,python,gis,gdal,Python,Gis,Gdal,我正在尝试使用GDAL设置一个新光栅的geotransform,该光栅是我按照中概述的步骤创建的 dataset.SetGeoTransform()说,这应该设置仿射变换系数(根据dataset.GetGeoTransform()文档,默认情况下,仿射变换系数设置为[0,1,0,0,0,1]),但是从我上面的代码中可以看出,当我试图更改它们时,更改似乎并没有真正生效 我甚至尝试通过dataset.FlushCache()将新光栅的缓存刷新到磁盘,但这似乎也无法保存更改 如何让GDAL将修改后的g

我正在尝试使用GDAL设置一个新光栅的geotransform,该光栅是我按照中概述的步骤创建的

dataset.SetGeoTransform()说,这应该设置仿射变换系数(根据
dataset.GetGeoTransform()
文档,默认情况下,仿射变换系数设置为
[0,1,0,0,0,1]
),但是从我上面的代码中可以看出,当我试图更改它们时,更改似乎并没有真正生效

我甚至尝试通过
dataset.FlushCache()
将新光栅的缓存刷新到磁盘,但这似乎也无法保存更改

如何让GDAL将修改后的geotransform保存到磁盘


我使用的是从PyPI安装的GDAL版本1.6.3(通过命令行工具
pip
)。

事实证明,这个问题是特定于版本的。我升级到GDAL版本1.8.0,现在geotransform设置正确

# create the new dataset
driver = gdal.GetDriverByName('GTiff')
dataset = driver.Create('test_gt.tif', 60, 60, 1, gdal.GDT_Float32)

# check the default geotransform
print dataset.GetGeoTransform()  # prints (0, 1, 0, 0, 0, 1)

# try to alter the geotransform and ensure that it has been set
dataset.SetGeoTransform([0,1,0,0,0,-1])
print dataset.GetGeoTransform()  # prints (0, 1, 0, 0, 0, -1)

dataset = None  # closes the dataset

# Try reopening the dataset now and see if the geotransform has been set.
ds = gdal.Open('test_gt.tif')
print ds.GetGeoTransform()  #prints (0, 1, 0, 0, 0, 1)