Computes all statistics for a raster, including the histogram and percentiles.
Syntax
raster ST_ComputeStatistics(raster raster_obj,
cstring sampleOption default '{}')
raster ST_ComputeStatistics(raster raster_obj,
cstring bands,
cstring sampleOption default '{}',
cstring parallelOption default '{}')
Parameters
| Parameter | Description |
|---|
| raster_obj | The raster object. |
| bands | The band IDs to process. Example: '0,1-3,6,8'. Band IDs start from 0. To process all bands, set this parameter to ''. |
| sampleOption | A JSON string of sampling options. See the sampleOption parameters table. Defaults to '{}'. |
| parallelOption | A JSON string of parallel execution options. See the parallelOption parameters table. Defaults to '{}'. |
sampleOption parameters
| Parameter | Type | Default | Description |
|---|
| approx | Boolean | false | Specifies whether to use approximate sampling. If set to true, sampling is applied but the result may be inaccurate. |
| factor | integer | 4 | The sampling factor, expressed as the number of pixels per sampling unit. Any positive integer is valid. This parameter applies only when approx is true. |
| exclusive_nodata | Boolean | true | Specifies whether to include NoData values. Valid values: true and false. |
parallelOption parameters
| Parameter | Type | Default | Description |
|---|
| parallel | integer | ganos.parallel.degree | The degree of parallelism. Valid values: 1 to 64. |
Examples
-- Use default settings.
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(raster_obj) WHERE id = 1;
-- Specify bands and disable approximate sampling.
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(rast,'0-2','{"approx":false}') WHERE id = 1;
-- Disable approximate sampling without specifying bands.
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(rast,'{"approx":false}') WHERE id = 1;
-- Specify bands, enable approximate sampling with a custom factor, and set the degree of parallelism.
UPDATE raster_table SET raster_obj = ST_ComputeStatistics(raster_obj,'0-2','{"approx":true, "factor":5}', '{"parallel":4}') WHERE id = 1;