名前

ST_Quantile — ラスタまたはラスタテーブルカバレッジのサンプルまたは母集団の分位数を計算します。値がラスタの25%,50%,75%にあるかを調べることができます。

概要

SETOF quantile ST_Quantile(raster rast, integer nband=1, boolean exclude_nodata_value=true, double precision[] quantiles=NULL);

SETOF quantile ST_Quantile(raster rast, double precision[] quantiles);

SETOF quantile ST_Quantile(raster rast, integer nband, double precision[] quantiles);

double precision ST_Quantile(raster rast, double precision quantile);

double precision ST_Quantile(raster rast, boolean exclude_nodata_value, double precision quantile=NULL);

double precision ST_Quantile(raster rast, integer nband, double precision quantile);

double precision ST_Quantile(raster rast, integer nband, boolean exclude_nodata_value, double precision quantile);

double precision ST_Quantile(raster rast, integer nband, double precision quantile);

setof quantile ST_Quantile(text rastertable, text rastercolumn, integer nband=1, boolean exclude_nodata_value=true, double precision[] quantiles=NULL);

setof quantile ST_Quantile(text rastertable, text rastercolumn, integer nband, double precision[] quantiles);

説明

ラスタまたはラスタテーブルカバレッジのサンプルまたは母集団の分位数を計算します。値がラスタの25%,50%,75%にあるかを調べることができます。

[注記]

exclude_nodata_valueをFALSEに設定している場合には、NODATA値となるピクセルも数えます。

初出: 2.0.0

UPDATE dummy_rast SET rast = ST_SetBandNoDataValue(rast,249) WHERE rid=2;
-- 1番バンドの値が249でないピクセルのみ考慮に入れた分位数を計算する例です

SELECT (pvq).*
FROM (SELECT ST_Quantile(rast, ARRAY[0.25,0.75]) As pvq
    FROM dummy_rast WHERE rid=2) As foo
    ORDER BY (pvq).quantile;
				    			    
 quantile | value
----------+-------
     0.25 |   253
     0.75 |   254
   
SELECT ST_Quantile(rast, 0.75) As value
    FROM dummy_rast WHERE rid=2;
    
value
------
  254
-- 実際の例です。2番バンドでジオメトリとインタセクトする部分の
--   全てのピクセルの分位数を計算します。
SELECT rid, (ST_Quantile(rast,2)).* As pvc
    FROM o_4_boston 
        WHERE ST_Intersects(rast, 
            ST_GeomFromText('POLYGON((224486 892151,224486 892200,224706 892200,224706 892151,224486 892151))',26986)
            )
ORDER BY value, quantile,rid
;
				
    
 rid | quantile | value
-----+----------+-------
   1 |        0 |     0
   2 |        0 |     0
  14 |        0 |     1
  15 |        0 |     2
  14 |     0.25 |    37
   1 |     0.25 |    42
  15 |     0.25 |    47
   2 |     0.25 |    50
  14 |      0.5 |    56
   1 |      0.5 |    64
  15 |      0.5 |    66
   2 |      0.5 |    77
  14 |     0.75 |    81
  15 |     0.75 |    87
   1 |     0.75 |    94
   2 |     0.75 |   106
  14 |        1 |   199
   1 |        1 |   244
   2 |        1 |   255
  15 |        1 |   255

関連情報

ST_Count, ST_SetBandNoDataValue