max()用基本运算符实现

时间:2015-06-09 17:30:37

标签: algorithm math gdal

我使用带有gdal_calc.py的GDAL在光栅图像中处理一些不良数据。我试图在A处剪切值-100,如下所示:

max(A, -100)

但是,只允许基本运算符(+-/*)和逻辑运算符(><,它们返回0或1)。有没有办法实现这个?对于小于0

的值,返回-100
A*(A>-100)

3 个答案:

答案 0 :(得分:3)

另一个:

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

这里min值将被置换为0以匹配下限,然后移回-100。

答案 1 :(得分:1)

通过将表达式更改为A * (A > -100) + (-100) * (A < -100)

,可能会加倍

答案 2 :(得分:1)

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

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