Name

ST_SummaryStatsAgg — 종합 함수입니다. 래스터 집합의 입력 래스터 밴드의 count, sum, mean, stddev, min, max로 이루어진 통계 요약을 반환합니다. 밴드를 따로 설정하지 않을 경우 밴드 1로 가정합니다.

Synopsis

summarystats ST_SummaryStatsAgg(raster rast, integer nband, boolean exclude_nodata_value, double precision sample_percent);

summarystats ST_SummaryStatsAgg(raster rast, boolean exclude_nodata_value, double precision sample_percent);

summarystats ST_SummaryStatsAgg(raster rast, integer nband, boolean exclude_nodata_value);

설명

입력한 래스터 밴드 또는 래스터 또는 래스터 커버리지의 count, sum, mean, stddev, min, max로 이루어진 summarystats 을 반환합니다. 밴드를 따로 설정하지 않을 경우 nband 의 기본값은 1입니다.

[Note]

기본적으로 nodata 값이 아닌 픽셀 값만 처리합니다. 모든 픽셀의 개수를 구하려면 exclude_nodata_value 를 거짓으로 설정하십시오.

[Note]

기본적으로 모든 픽셀을 샘플링할 것입니다. 더 빠른 속도를 원한다면, 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
    (stats).count,
    round((stats).sum::numeric, 3),
    round((stats).mean::numeric, 3),
    round((stats).stddev::numeric, 3),
    round((stats).min::numeric, 3),
    round((stats).max::numeric, 3)
FROM (
    SELECT
        ST_SummaryStatsAgg(rast, 1, TRUE, 1) AS stats
    FROM foo
) bar;

 count |  round  | round  | round |  round  | round
-------+---------+--------+-------+---------+-------
    20 | -68.584 | -3.429 | 6.571 | -10.000 | 3.142
(1 row)