python - 使用自定义重采样方法重采样栅格(python / gdal)
问题描述
我目前正在尝试使用(继承的)python 脚本,我们使用以下命令将栅格(DEM)从 0.5 m 重新采样到 10 m:
os.system("gdalwarp -tr 10 10 -r max -co COMPRESS=LZW " + vhm_detail + " " + vhm_10m)
基本上叫gdalwarp。现在我想使用一个复杂的自定义重采样方法(例如“如果 33% 的像素在一个最大类中,则使用它,否则检查另一个类中的多数,否则......” // 底线:这很复杂)。在gdalwarp 文档中,我没有发现任何关于使用自定义重采样方法的信息,所以我想我必须编写自己的 python 代码。
是否可以使用 gdal-bindings 仍然使用 gdalwarp(带有 python 接口和自定义 python 函数,例如在下面的代码中_____???_____
)或者我必须完全在 python 中这样做?
from osgeo import gdal
vhm_10m = gdal.Translate('', 'sample.tif', xres=10, yres=10, resampleAlg=_____???_____)
我已经很长时间没有在 Python 中工作了,所以我有点不知道从哪里开始。
解决方案
推荐阅读
- kotlin - 在 Kotlin 中实现继承时,是否可以封装 open 和 override 变量以防止从 main() 函数直接访问?
- rancher - etcd 备份到内部 S3
- javascript - 为什么我需要在 JavaScript 的“setTimeout”中传递匿名函数?
- android - 将形状设置为 ImageView 背景以获得圆角
- three.js - 三.JS | GLSL 降档多边形 GLSL 粒子
- javascript - React JS:“消息”未定义 react/jsx-no-undef
- reactjs - 反应功能组件重新渲染一次,即使状态的值没有改变
- javascript - 如何测试 DOM 元素属性是否为只读
- swift - SKTextureAtlas:检索到的纹理与原始纹理相比表现不同
- npm - firebase 部署错误:“eslint 未被识别为内部或外部命令、可运行程序或批处理文件”