本文档汇总了栅格计算器中可用的函数与常用写法(按类别整理),便于检索与编写表达式。
说明:
- 函数用于逐像元(Local)计算
- 逻辑/比较类函数返回布尔数组(True/False),参与算术运算时会自动转为 1/0
- 栅格数组的逻辑判断不使用 Python 原生
and/or/not,请使用 & | ~ 或对应 logical_* 函数
条件函数
| 函数 | 参数 | 描述 | 示例 |
|---|
| where | cond, x, y | 逐像元条件选择 | where(A > 0, A, 0) |
数学函数(Math)
| 函数 | 参数 | 描述 | 示例 |
|---|
| add | x, y | 逐像元相加 | add(A, B) |
| subtract | x1, x2 | 逐像元相减 | subtract(A, B) |
| multiply | x1, x2 | 逐像元相乘 | multiply(A, B) |
| divide | x1, x2 | 逐像元相除 | divide(A, B) |
| true_divide | x, y | 真除法(浮点结果) | true_divide(A, 100) |
| floor_divide | x1, x2 | 向下取整除法 | floor_divide(A, 3) |
| power | x1, x2 | 幂运算 | power(A, 2) |
| float_power | x1, x2 | 浮点幂运算 | float_power(A, 0.5) |
| negative | x | 取负值 | negative(A) |
| positive | x | 取正值 | positive(A) |
| abs | x | 绝对值 | abs(A) |
| fabs | x | 浮点绝对值 | fabs(A) |
| square | x | 平方 | square(A) |
| sqrt | x | 平方根 | sqrt(A) |
| cbrt | x | 立方根 | cbrt(A) |
| reciprocal | x | 倒数 | reciprocal(A) |
| exp | x | 自然指数 e^x | exp(A) |
| exp2 | x | 2 的指数 | exp2(A) |
| log | x | 自然对数 | log(A) |
| log2 | x | 以 2 为底对数 | log2(A) |
| log10 | x | 以 10 为底对数 | log10(A) |
| log1p | x | log(1+x)(小值稳定) | log1p(A) |
| expm1 | x | exp(x)-1(小值稳定) | expm1(A) |
| floor | x | 向下取整 | floor(A) |
| ceil | x | 向上取整 | ceil(A) |
| trunc | x | 向 0 取整 | trunc(A) |
| round | x, n | 四舍五入到 n 位小数 | round(A, 2) |
| rint | x | 就近取整 | rint(A) |
| sign | x | 返回符号(-1/0/1) | sign(A) |
| hypot | x, y | 欧氏长度 sqrt(x^2+y^2) | hypot(dx, dy) |
| remainder | x1, x2 | 余数 | remainder(A, 5) |
| mod | x, y | 模运算 | mod(A, 5) |
| fmod | x, y | 浮点模运算 | fmod(A, 5) |
| gcd | x, y | 最大公约数 | gcd(A, B) |
| lcm | x, y | 最小公倍数 | lcm(A, B) |
| heaviside | x, y | 阶跃函数 | heaviside(A-10, 0) |
三角函数(Trigonometric Function)
| 函数 | 参数 | 描述 | 示例 |
|---|
| sin | x | 正弦 | sin(A) |
| cos | x | 余弦 | cos(A) |
| tan | x | 正切 | tan(A) |
| arcsin | x | 反正弦 | arcsin(A) |
| arccos | x | 反余弦 | arccos(A) |
| arctan | x | 反正切 | arctan(A) |
| arctan2 | y, x | 反正切(考虑象限) | arctan2(dy, dx) |
| sinh | x | 双曲正弦 | sinh(A) |
| cosh | x | 双曲余弦 | cosh(A) |
| tanh | x | 双曲正切 | tanh(A) |
| arcsinh | x | 反双曲正弦 | arcsinh(A) |
| arccosh | x | 反双曲余弦 | arccosh(A) |
| arctanh | x | 反双曲正切 | arctanh(A) |
提示:
- 三角函数输入通常为弧度;若你的角度值为“度”,建议先转换后再计算
叠加函数(Overlay)
| 函数 | 参数 | 描述 | 示例 |
|---|
| Sigma | [x1...xn] | 对多个输入逐像元求和 | Sigma([A, B, C]) |
归约/统计函数(Reduction)
| 函数 | 参数 | 描述 | 示例 |
|---|
| nanmax | x | 忽略 NaN 的最大值 | nanmax(A) |
| nanmin | x | 忽略 NaN 的最小值 | nanmin(A) |
| nanmean | x | 忽略 NaN 的均值 | nanmean(A) |
| nanmedian | x | 忽略 NaN 的中位数 | nanmedian(A) |
| nansum | x | 忽略 NaN 的求和 | nansum(A) |
| nanstd | x | 忽略 NaN 的标准差 | nanstd(A) |
| nanvar | x | 忽略 NaN 的方差 | nanvar(A) |
| nanprod | x | 忽略 NaN 的乘积 | nanprod(A) |
| nanquantile | x, q | 忽略 NaN 的分位数 | nanquantile(A, 0.9) |
位运算函数(Bitwise)
| 函数 | 参数 | 描述 | 示例 |
|---|
| bitwise_and | x1, x2 | 按位与 | bitwise_and(A, B) |
| bitwise_or | x1, x2 | 按位或 | bitwise_or(A, B) |
| bitwise_xor | x1, x2 | 按位异或 | bitwise_xor(A, B) |
| invert | x | 按位取反 | invert(A) |
| left_shift | x1, x2 | 左移 | left_shift(A, 1) |
| right_shift | x1, x2 | 右移 | right_shift(A, 1) |
比较与逻辑运算(Comparison & Logic)
| 类别 | 函数 | 参数 | 描述 | 示例 |
|---|
| 比较 | greater | x1, x2 | 大于判断 | greater(A, 10) |
| 比较 | greater_equal | x1, x2 | 大于等于判断 | greater_equal(A, B) |
| 比较 | less | x1, x2 | 小于判断 | less(A, 0) |
| 比较 | less_equal | x1, x2 | 小于等于判断 | less_equal(A, B) |
| 比较 | equal | x1, x2 | 等于判断 | equal(A, B) |
| 比较 | not_equal | x1, x2 | 不等于判断 | not_equal(A, 0) |
| 比较 | maximum | x1, x2 | 逐像元最大值 | maximum(A, B) |
| 比较 | minimum | x1, x2 | 逐像元最小值 | minimum(A, B) |
| 逻辑 | logical_and | x1, x2 | 逻辑与 | logical_and(A > 0, B > 0) |
| 逻辑 | logical_or | x1, x2 | 逻辑或 | logical_or(A > 0, B > 0) |
| 逻辑 | logical_xor | x1, x2 | 逻辑异或 | logical_xor(A > 0, B > 0) |
| 逻辑 | logical_not | x | 逻辑非 | logical_not(A > 0) |
浮点状态判断(Floating State)
| 函数 | 参数 | 描述 | 示例 |
|---|
| isfinite | x | 是否为有限数 | isfinite(A) |
| isinf | x | 是否为无穷大 | isinf(A) |
| isnan | x | 是否为 NaN | isnan(A) |
| signbit | x | 是否为负号 | signbit(A) |
说明与建议
maximum(x1, x2) 与 minimum(x1, x2) 通常只接收两个参数;多栅格求极值可用嵌套写法:maximum(A, maximum(B, C))
nan* 系列函数用于忽略 NaN;如果你的缺失值不是 NaN,而是 NoData,请优先在数据层面统一 NoData,或用 where 显式处理