ST_ComputeStatistics

计算一个raster对象的所有统计值信息,包括直方图和百分比。

语法

raster ST_ComputeStatistics(raster raster_obj,
                            cstring sampleOption default '{}')
raster ST_ComputeStatistics(raster raster_obj,
                            cstring bands,
                            cstring sampleOption default '{}',
                            cstring parallelOption default '{}')

参数

参数名称

描述

raster_obj

Raster对象。

sampleOption

基于JSON字符串的采样选项。更多信息,请参见sampleOption

bands

指定的波段序号,从0开始,格式类似'0,1-3,6,8'的形式, ''表示所有的波段。

parallelOption

基于JSON字符串的并行操作选项。更多信息,请参见parallelOption

sampleOption说明:

参数名称

类型

默认值

描述

approx

boolean

false

是否使用采样方式计算。取值:[true|false]

说明

如果为true,则采用采样方式计算统计值,结果可能会不精确。

factor

integer

4

采样方式计算时使用的采样因子。取值为正整数。表示将n个象元作为一个采样单元。

说明

仅在approx为true时有效。

exclusive_nodata

boolean

true

是否不统计nodata数据。取值:[true|false]

parallelOptions是基于JSON格式的字符串,用于描述操作选项。支持的参数如下:

参数名称

描述

类型

默认值

说明

parallel

操作并行度。

integer

ganos.parallel.degree

并行度范围为1~64。

示例

-- 默认方式
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(raster_obj) WHERE id = 1;

-- 指定波段和采样方式
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(rast,'0-2','{"approx":false}') WHERE id = 1;

-- 指定采样方式
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(rast,'{"approx":false}') WHERE id = 1;

-- 指定波段,采样率和并行度
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(raster_obj,'0-2','{"approx":true, "factor":5}', '{"parallel":4}') WHERE id = 1;