ST_CountAgg — Agregado. Retorna o número de pixeis em uma banda dada de um raster ou cobertura raster. Se nenhuma banda for especificada, o padrão é usar a banda 1. Se exclude_nodata_value for verdade, contará somente pixeis que são diferentes ao valor NODATA.
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);
Retorna o número de pixeis em uma banda de um conjunto de rasters. Se nenhuma banda foi especificada nband usa-se 1.
Se exclude_nodata_value for verdade, contará apenas pixeis com valor diferente do valor NODATA do raster. exclude_nodata_value é falso para contar todos os pixeis.
Por padrão irá tomar todos os pixeis. Para obter uma resposta mais rápida, coloque sample_percent no valor entre zero (0) e um (1)
Disponibilidade: 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)