You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于条件为GeoTIFF栅格像素赋值?报错求助

解决gdal_calc.py栅格重分类报错问题

报错原因是numpy数组不支持50<=A<=100这种链式比较语法,Python会将其解析为(50<=A) <=100,布尔数组与数值直接比较会触发"真值歧义"错误。

将计算表达式拆分为两个独立条件,并用numpy的逻辑与运算符&连接(注意每个条件需加括号保证优先级),修改后的命令如下:

gdal_calc.py -A input.tif --outfile=output.tif --calc="1*((A >= 50) & (A <= 100))" --NoDataValue=0

如果原栅格存在自定义NoData值,且需要保留该值而非设为0,可进一步调整计算式:

gdal_calc.py -A input.tif --outfile=output.tif --calc="1*((A >= 50) & (A <= 100) & (A != nodata))" --NoDataValue=原NoData值

内容的提问来源于stack exchange,提问作者emax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:45:34