名称

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 像素的替换值。

[Note]

变体 1 是一个专门的回调函数,用作 ST_MapAlgebraFctNgb 的回调参数。

[Note]

变体 2 是一个专门的回调函数,用作 ST_MapAlgebra(回调函数版本) 的回调参数。

[Warning]

由于 ST_MapAlgebraFctNgb 从 2.1.0 版本开始已被弃用,因此不建议使用变体 1。

可用性:2.0.0

增强:2.1.0 添加了变体 2

示例:变体 1

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)
                

示例:变体 2

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)