ST_CountAgg — Agrégat. Renvoie le nombre de pixels dans une bande donnée d'un ensemble de rasters. Si aucune bande n'est spécifiée, la valeur par défaut est la bande 1. Si exclude_nodata_value est true, seuls les pixels différents de la valeur NODATA seront comptés.
bigint ST_CountAgg(raster rast, integer nband, boolean exclude_nodata_value, double precision sample_percent);
bigint ST_CountAgg(raster rast, integer nband, boolean exclude_nodata_value);
bigint ST_CountAgg(raster rast, boolean exclude_nodata_value);
Renvoie le nombre de pixels dans une bande donnée d'un ensemble de rasters. Si aucune bande nband n'est spécifiée, la valeur par défaut est 1.
Si exclude_nodata_value est true, seuls les pixels dont la valeur est différente de la valeur nodata du raster seront comptés. Définir exclude_nodata_value à false pour compter tous les pixels
Par défaut, tous les pixels sont échantillonnés. Pour obtenir une réponse plus rapide, définir sample_percent à une valeur comprise entre zéro (0) et un (1)
Disponibilité : 2.2.0
WITH foo AS (
SELECT
rast.rast
FROM (
SELECT ST_SetValue(
ST_SetValue(
ST_SetValue(
ST_AddBand(
ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,0)
, 1, '64BF', 0, 0
)
, 1, 1, 1, -10
)
, 1, 5, 4, 0
)
, 1, 5, 5, 3.14159
) AS rast
) AS rast
FULL JOIN (
SELECT generate_series(1, 10) AS id
) AS id
ON 1 = 1
)
SELECT
ST_CountAgg(rast, 1, TRUE)
FROM foo;
st_countagg
-------------
20
(1 row)