ST_Histogram — 빈(bin; 히스토그램 표시에서 수직 막대로 나타나는 단위) 범위로 구분된 래스터 또는 래스터 커버리지의 데이터 분포를 요약하는 레코드 집합을 반환합니다. 따로 설정하지 않을 경우 빈의 개수를 자동으로 계산합니다.
SETOF record ST_Histogram(
raster rast, integer nband=1, boolean exclude_nodata_value=true, integer bins=autocomputed, double precision[] width=NULL, boolean right=false)
;
SETOF record ST_Histogram(
raster rast, integer nband, integer bins, double precision[] width=NULL, boolean right=false)
;
SETOF record ST_Histogram(
raster rast, integer nband, boolean exclude_nodata_value, integer bins, boolean right)
;
SETOF record ST_Histogram(
raster rast, integer nband, integer bins, boolean right)
;
각 빈에 대해 입력 래스터 밴드의 min, max, count, percent로 이루어진 레코드 집합을 반환합니다. 밴드를 따로 설정하지 않을 경우 nband
의 기본값은 1입니다.
기본적으로 |
width
width: 각 카테고리/빈의 너비를 나타내는 배열입니다. 빈 개수가 width 개수보다 큰 경우, width를 반복합니다.
예시: 빈 9개, width [a, b, c]는 [a, b, c, a, b, c, a, b, c]로 출력될 것입니다.
bins
분류 단계(breakout)의 개수: 따로 설정할 경우 함수가 반환하는 레코드의 개수입니다. 따로 설정하지 않을 경우 분류 단계의 개수를 자동으로 계산합니다.
right
히스토그램을 왼쪽부터보다는 오른쪽부터(기본값) 계산합니다. X값을 평가하는 기준을 [a, b) 에서 (a, b] 로 변경합니다.
Changed: 3.1.0 Removed ST_Histogram(table_name, column_name) variant.
2.0.0 버전부터 사용할 수 있습니다.
SELECT band, (stats).* FROM (SELECT rid, band, ST_Histogram(rast, band) As stats FROM dummy_rast CROSS JOIN generate_series(1,3) As band WHERE rid=2) As foo; band | min | max | count | percent ------+-------+-------+-------+--------- 1 | 249 | 250 | 2 | 0.08 1 | 250 | 251 | 2 | 0.08 1 | 251 | 252 | 1 | 0.04 1 | 252 | 253 | 2 | 0.08 1 | 253 | 254 | 18 | 0.72 2 | 78 | 113.2 | 11 | 0.44 2 | 113.2 | 148.4 | 4 | 0.16 2 | 148.4 | 183.6 | 4 | 0.16 2 | 183.6 | 218.8 | 1 | 0.04 2 | 218.8 | 254 | 5 | 0.2 3 | 62 | 100.4 | 11 | 0.44 3 | 100.4 | 138.8 | 5 | 0.2 3 | 138.8 | 177.2 | 4 | 0.16 3 | 177.2 | 215.6 | 1 | 0.04 3 | 215.6 | 254 | 4 | 0.16
SELECT (stats).* FROM (SELECT rid, ST_Histogram(rast, 2,6) As stats FROM dummy_rast WHERE rid=2) As foo; min | max | count | percent ------------+------------+-------+--------- 78 | 107.333333 | 9 | 0.36 107.333333 | 136.666667 | 6 | 0.24 136.666667 | 166 | 0 | 0 166 | 195.333333 | 4 | 0.16 195.333333 | 224.666667 | 1 | 0.04 224.666667 | 254 | 5 | 0.2 (6 rows) -- Same as previous but we explicitly control the pixel value range of each bin. SELECT (stats).* FROM (SELECT rid, ST_Histogram(rast, 2,6,ARRAY[0.5,1,4,100,5]) As stats FROM dummy_rast WHERE rid=2) As foo; min | max | count | percent -------+-------+-------+---------- 78 | 78.5 | 1 | 0.08 78.5 | 79.5 | 1 | 0.04 79.5 | 83.5 | 0 | 0 83.5 | 183.5 | 17 | 0.0068 183.5 | 188.5 | 0 | 0 188.5 | 254 | 6 | 0.003664 (6 rows)