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