Récupère les statistiques d'une bande d'un objet raster.
Syntaxe
-
Syntaxe 1 :
TEXT ST_Statistics(raster raster_obj, integer band); -
Syntaxe 2 :
SETOF RECORD ST_Statistics(raster raster_object, geometry geom, integer band default 0, cstring statics_range default '', boolean rast_coord default true, out cstring name, out integer band, out float8 min, out float8 max, out float8 mean, out float8 sum, out float8 count, out float8 std, out float8 median, out float8 mode);
Paramètres
|
Paramètre |
Description |
|
raster_obj |
Objet raster. |
|
band |
Numéro de la bande (commence à 0). |
|
geom |
Objet géométrique. Si la géométrie comporte des valeurs M, celles-ci représentent les informations de pondération correspondantes. |
|
stats_range |
Plages de statistiques correspondant aux plages de valeurs de pixels d'origine. Une plage peut contenir une ou plusieurs valeurs numériques séparées par des virgules (,). Les bornes d'une plage peuvent être ouvertes ou fermées. Exemples :
Valeur par défaut :
|
|
rast_coord |
Indique si les coordonnées sont des coordonnées de pixels. |
|
name |
Nom de la plage.
|
|
min |
Valeur minimale. |
|
max |
Valeur maximale. |
|
mean |
Valeur moyenne. |
|
sum |
Somme. |
|
count |
Nombre d'éléments. |
|
std |
Écart type. |
|
median |
Médiane. |
|
mode |
Mode. |
Description
Syntaxe 1 : Récupère les statistiques d'une bande d'un objet raster au format JSON. Renvoie une valeur vide si aucune statistique n'est disponible.
Syntaxe 2 : Récupère les statistiques correspondantes selon une géométrie. Si la géométrie comporte des valeurs M, celles-ci représentent les informations de pondération correspondantes.
Exemple
SELECT ST_Statistics(raster_obj, 0) FROM raster_table WHERE id=1;
__________________________________
'{ "min" : 0.00, "max" : 255.00,"mean" : 125.00,"std" : 23.123,"approx" : false}'
-- No range
SELECT (ST_Statistics(raster_obj, 'MultiPoint((0 0 10), (100 100 50), (199 199 100))'::geometry, 0)).*
FROM raster_table WHERE id=1;
name | band | min | max | mean | sum | count | std | median | mode
--------------------------------------------------------------------------------------
full | 2 | 47 | 196 | 140.3125 | 22450 | 160 | 71.8955133770529 | 47 | 196
-- with range
SELECT (ST_Statistics(raster_obj, 'MultiPoint((0 0 10), (100 100 50), (199 199 100))'::geometry, 0, '(0, 10, 20,100,1000]')).*
FROM raster_table
WHERE id=1;
name | band | min | max | mean | sum | count | std | median | mode
--------------------------------------------------------------------------------------
full | 0 | 1 | 202 | 82 | 246 | 3 | 86.5678924313166 | 202 | 1
(0-10] | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1
(10-20] | 0 | | | | | | | |
(20-100] | 0 | 43 | 43 | 43 | 43 | 1 | 0 | 43 | 43
(100-1000] | 0 | 202 | 202 | 202 | 202 | 1 | 0 | 202 | 202
-- Polygon
SELECT id, (ST_Statistics(rast, ST_geomfromtext('POLYGON((50 50,55 50,55 55,50 55,50 50))'),1,'(0, 10, 20,100,1000]')).*
FROM raster_table WHERE id = 1;
id | name | band | min | max | mean | sum | count | std | median | mode
----+------------+------+-----+-----+------------------+------+-------+------------------+--------+------
3 | full | 0 | 48 | 103 | 78.1020408163265 | 3827 | 49 | 21.5815916437107 | 97 | 97
3 | (0-10] | 0 | | | | | | | |
3 | (10-20] | 0 | | | | | | | |
3 | (20-100] | 0 | 48 | 97 | 76.4782608695652 | 3518 | 46 | 21.2855729161028 | 97 | 97
3 | (100-1000] | 0 | 103 | 103 | 103 | 309 | 3 | 0 | 103 | 103
(5 rows)