ST_Quantile

查询raster对象分位数的像素值。

前提条件

通过ST_StatsQuantile预先计算分位数。

语法

setof record ST_Quantile(raster raster_obj,
         float8[] quantiles default NULL,
         cstring bands default '',
         boolean exclude_nodata_value default true,
          out integer band,
         out float8 quantile,
         out float8 value)

参数

参数名称

描述

raster_obj

raster对象。

quantiles

需要计算的分位数,取值为0.25、0.5和0.75中的一个或多个。

bands

需要计算的波段,格式为'0-2'或者'1,2,3',从0开始。 默认为'',表示裁剪所有的波段。

exclude_nodata_value

是否需要计算nodata。

band

返回波段号。

quantile

返回分位数。

value

返回像素值。

示例

-- 计算所有波段 0.25 分位数的像素值。
SELECT  (ST_Quantile(rast, ARRAY[0.25], '0-2', true)).* FROM rat_quantile WHERE id = 1;
 band | quantile | value 
------+----------+-------
    0 |     0.25 |    11
    1 |     0.25 |    10
    2 |     0.25 |    50
(3 rows)

-- 计算0波段所有分位数的像素值。
SELECT  (ST_Quantile(rast, NULL, '0', true)).* FROM rat_quantile WHERE id = 1;
 band | quantile | value 
------+----------+-------
    0 |     0.25 |    11
    0 |      0.5 |    11
    0 |     0.75 |    65
(3 rows)