الاسم
ST_CountAgg — دالة تجميعية. تُعيد عدد البكسلات في نطاق معيّن من مجموعة رسترات. إذا لم يُحدَّد نطاق فالافتراضي هو النطاق 1. إذا ضُبط exclude_nodata_value على true، فستُعدّ فقط البكسلات غير المساوية لقيمة 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);
الوصف
تُعيد عدد البكسلات في نطاق معيّن من مجموعة رسترات. إذا لم يُحدَّد نطاق فالقيمة الافتراضية لـ nband هي 1.
إذا ضُبط exclude_nodata_value على true، فستُعدّ فقط البكسلات ذات القيم غير المساوية لقيمة NODATA للرستر. اضبط exclude_nodata_value على false لعدّ جميع البكسلات
افتراضيًا تُعتان جميع البكسلات. للحصول على استجابة أسرع، اضبط sample_percent على قيمة بين الصفر (0) والواحد (1)
متاحة منذ: 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)