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

Jam*_*mes 8 python gdal

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

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

因此,对于输入栅格的每个像素,我希望输出栅格中的36个像素共享相同的值.

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

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

Mik*_*e T 7

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

from osgeo import gdal
help(gdal.ReprojectImage)
Run Code Online (Sandbox Code Playgroud)

测试套件中提供了一个Python示例.

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


Iva*_*tun 6

使用 gdal.Warp 函数:

gdal.Warp('outputRaster.tif', 'inputRaster.tif', xRes=5, yRes=5)
Run Code Online (Sandbox Code Playgroud)