如何使用GDAL更改栅格的分辨率?

时间:2011-10-10 23:02:58

标签: python gdal

我正在寻找更改GDAL栅格数据集分辨率的最佳方法。

例如,我有一个像素大小为(30,-30)的光栅,我想将像素大小更改为(5,-5),将给定像素的所有值插值到输出中光栅。

因此,对于输入栅格的每个像素,我希望输出栅格中的36个像素都具有相同的值。

如果我运行gdalwarp -tr 5 -5 inputRaster.tif outputRaster.tif,我会得到我正在寻找的结果,因此我认为我应该能够使用某些GDAL函数复制此功能。

如果可能的话,我宁愿避免使用对python的Subprocess类的调用。

2 个答案:

答案 0 :(得分:7)

您需要重新投影栅格。例如,从交互式Python shell:

from osgeo import gdal
help(gdal.ReprojectImage)

test suite中提供了一个Python示例。

为C ++函数GDALReprojectImage提供了更完整的文档。

答案 1 :(得分:0)

使用gdal.Warp功能:

gdal.Warp('outputRaster.tif', 'inputRaster.tif', xRes=5, yRes=5)