max() 使用基本运算符实现

max() implemented with basic operators

我正在使用带有 gdal_calc.py 的 GDAL 处理光栅图像中的一些错误数据。我正在尝试像这样在 -100 处剪切值 A

max(A, -100)

但是,只允许使用基本运算符(+-/*)和逻辑运算符(><,这些return0或1)。有没有办法实现这个?对于小于 -100

的值,达到 returning 0
A*(A>-100)

也许可以将表达式更改为 A * (A > -100) + (-100) * (A < -100)?

A * (A > - 100) + (-100 * (A < -100))

如果 A 大于 -100,则减少为 A + 0 如果 A 小于 -100,则减少为 0 + (-100)

另一个:

(A+100)*(A>-100) - 100

此处最小值将被置换为 0 以匹配下限,然后置换回 -100。