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