查询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)