如何使用GDAL更改栅格的地理转换?

时间:2012-03-15 19:18:59

标签: python gis gdal

我正在尝试使用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)。

1 个答案:

答案 0 :(得分:0)

事实证明,此问题是特定于版本的。我升级到GDAL版本1.8.0,现在正确设置了地理转换。