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)