ラスターオブジェクトの指定された分位数における画素値をクエリします。
ST_Quantile を呼び出す前に、ラスターオブジェクトに対して ST_StatsQuantile を実行してください。ST_Quantile は、統計値を再計算するのではなく、事前に計算済みの統計情報を読み取ります。
構文
setof record ST_Quantile(raster raster_obj,
float8[] quantiles default NULL,
cstring bands default '',
boolean exclude_nodata_value default true,
out integer band,
out float8 quantile,
out float8 value)パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
raster_obj | raster | — | クエリ対象のラスターオブジェクトです。 |
quantiles | float8[] | NULL | 計算対象の分位数を指定します。有効な値は 0.25、0.5、0.75 です。1 つ以上の値を配列形式で指定します。NULL を指定した場合、すべての 3 つの分位数(0.25、0.5、0.75)が返されます。 |
bands | cstring | '' | 含めるバンドを指定します。「0-2」のように範囲を指定するか、「1,2,3」のように個別のバンドをカンマ区切りで指定します。バンドのシリアル番号は 0 から始まります。空文字列を指定すると、すべてのバンドが選択されます。 |
exclude_nodata_value | boolean | true | NoData ピクセルを計算から除外するかどうかを指定します。 |
band(出力) | integer | — | バンドのシリアル番号です。 |
quantile(出力) | float8 | — | 分位数の値です。 |
value(出力) | float8 | — | その分位数における画素値です。 |
使用例
すべての使用例では、rat_quantile テーブルを使用し、setof record の結果を .* で展開しています。
すべてのバンドについて、0.25 分位数の画素値をクエリします。
SELECT (ST_Quantile(rast, ARRAY[0.25], '0-2', true)).* FROM rat_quantile WHERE id = 1; band | quantile | value
------+----------+-------
0 | 0.25 | 11
1 | 0.25 | 10
2 | 0.25 | 50
(3 rows)バンド 0 について、0.25、0.5、0.75 の各分位数の画素値をクエリします。
NULL を quantiles パラメーターに指定すると、一般的な 3 つの分位数すべてが返されます。
SELECT (ST_Quantile(rast, NULL, '0', true)).* FROM rat_quantile WHERE id = 1; band | quantile | value
------+----------+-------
0 | 0.25 | 11
0 | 0.5 | 11
0 | 0.75 | 65
(3 rows)