栅格
ST_Statistics
根据提供的栅格数据及多边形数组生成多边形数组对应的面雨量统计结果。
语法
statistics_type ST_Statistics(raster rasterdata, geometry[] polygons,integer bandnumber, text stats_range);
参数:
- rasterdata:输入的栅格数据
- polygons:用于统计的多边形数组
- bandnumber:待统计的波段号,默认值为0。
- stats_range:统计范围,格式为'(a,b,c,...)',由一个或多个数值组成,数值间用英文逗号分隔,支持指定开闭区间:
- '[100,200,400,1000)' - 表示左闭右开区间,表示的像素范围是:≥100 且 <200,≥200 且 <400,≥400 且 <1000,≥1000
统计结果按输入区间顺序返回。
返回:
返回多边形数组对应的面雨量统计结果。statistics_type 是一个复合类型,包含以下字段:
- name:范围名称,full表示全部范围
- band:波段号,从0开始
- min:多边形内像素值的最小值
- max:多边形内像素值的最大值
- mean:多边形内像素值的平均值
- sum:多边形内像素值的总和
- count:多边形内的像素数量
- std:多边形内像素值的标准差
- median:多边形内像素值的中位数
- mode:多边形内像素值的众数
示例
SELECT ST_Statistics(a.rast, geometry_array,0,[100,200,400,1000]) from a;
--------------------------
[
{
"name": "100-200",
"band": 0,
"min": 120,
"max": 199,
"mean": 150.5,
"sum": 1505,
"count": 10,
"std": 25.3,
"median": 145,
"mode": 130
},
{
"name": "200-400",
"band": 0,
"min": 200,
"max": 399,
"mean": 250.7,
"sum": 2507,
"count": 10,
"std": 30.1,
"median": 240,
"mode": 220
},
{
"name": "400-1000",
"band": 0,
"min": 400,
"max": 999,
"mean": 450.2,
"sum": 4502,
"count": 10,
"std": 50.4,
"median": 430,
"mode": 410
},
{
"name": ">1000",
"band": 0,
"min": 1000,
"max": null,
"mean": 1200.3,
"sum": 12003,
"count": 10,
"std": 100.5,
"median": 1150,
"mode": 1100
}
]