我正在尝试使用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)
dataset.SetGeoTransform()documentation表示这应该设置仿射变换系数(根据dataset.GetGeoTransform()
文档默认设置为[0, 1, 0, 0, 0, 1]
),但是当你我可以从上面的代码中看到,当我尝试更改它们时,这些更改似乎并未实际生效。
我甚至尝试通过dataset.FlushCache()
将新栅格的缓存刷新到磁盘,但这似乎也没有保存更改。
如何让GDAL实际将更改的地理转换保存到磁盘?
我正在使用从PyPI安装的GDAL版本1.6.3(通过命令行工具pip
)。
答案 0 :(得分:0)
事实证明,此问题是特定于版本的。我升级到GDAL版本1.8.0,现在正确设置了地理转换。