我正在尝试使用 GDAL 设置我按照 GDAL API Tutorial 中概述的步骤创建的新栅格的地理变换.
# 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)
数据集.SetGeoTransform() documentation说这应该设置仿射变换系数(根据 dataset.GetGeoTransform() 文档设置为 [0, 1, 0, 0, 0, 1] 默认情况下),但是正如您从我上面的代码中看到的那样,当我尝试更改它们时,这些更改似乎并没有真正生效。
我什至尝试通过 dataset.FlushCache() 将新栅格的缓存刷新到磁盘,但这似乎也没有保存更改。
我怎样才能让 GDAL 将更改后的地理变换实际保存到磁盘?
我使用的是从 PyPI 安装的 GDAL 版本 1.6.3(通过命令行工具 pip)。
请您参考如下方法:
原来这个问题是版本相关的。我升级到 GDAL 版本 1.8.0,现在地理变换设置正确。
