计算一个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;