ST_Mean4ma — 计算邻域内像素平均值的栅格处理函数。
float8 ST_Mean4ma(float8[][] matrix, text nodatamode, text[] VARIADIC args);
double precision ST_Mean4ma(double precision[][][] value, integer[][] pos, text[] VARIADIC userargs);
计算像素邻域内的平均像素值。
对于变体 2,可以通过将该值传递给 userargs 来指定 NODATA 像素的替换值。
|
|
|
变体 1 是一个专门的回调函数,用作 ST_MapAlgebraFctNgb 的回调参数。 |
|
|
|
变体 2 是一个专门的回调函数,用作 ST_MapAlgebra(回调函数版本) 的回调参数。 |
|
|
|
由于 ST_MapAlgebraFctNgb 从 2.1.0 版本开始已被弃用,因此不建议使用变体 1。 |
可用性:2.0.0
增强:2.1.0 添加了变体 2
SELECT
rid,
st_value(
st_mapalgebrafctngb(rast, 1, '32BF', 1, 1, 'st_mean4ma(float[][],text,text[])'::regprocedure, 'ignore', NULL), 2, 2
)
FROM dummy_rast
WHERE rid = 2;
rid | st_value
-----+------------------
2 | 253.222229003906
(1 row)
SELECT
rid,
st_value(
ST_MapAlgebra(rast, 1, 'st_mean4ma(double precision[][][], integer[][], text[])'::regprocedure,'32BF', 'FIRST', NULL, 1, 1)
, 2, 2)
FROM dummy_rast
WHERE rid = 2;
rid | st_value
-----+------------------
2 | 253.222229003906
(1 row)