ST_SummaryStats は、ラスターオブジェクトのバンド統計情報を計算します。
構文
raster ST_SummaryStats(raster raster_obj)
raster ST_SummaryStats(raster raster_obj, cstring statsOptions)
raster ST_SummaryStats(raster raster_obj, cstring bands, cstring statsOptions)パラメーター
| パラメーター | 説明 |
|---|---|
raster_obj | 分析対象のラスターオブジェクトです。 |
bands | 含めるバンドを、整数配列または範囲で指定します。バンドインデックスは 0 から始まります。例: '0'、'1-3'、'1,2,3'。 |
statsOptions | 計算オプションを指定する JSON 文字列です。下記の「statsOptions のフィールド」をご参照ください。 |
statsOptions のフィールド
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
approx | boolean | true | 統計情報の計算にサンプリングを使用するかどうかを指定します。 |
approxのデフォルト値はtrueであり、高速な統計計算のためにサンプリングが使用されます。ただし、結果には若干の誤差が生じる場合があります。approxをfalseに設定すると、すべてのピクセルをスキャンして正確な統計情報を取得できます。
戻り値
各バンドごとに統計情報を格納した raster オブジェクトを返します。
使用例
サンプリングを使用してすべてのバンドの統計情報を計算(デフォルト動作)
UPDATE raster_obj SET raster_obj = ST_SummaryStats(raster_obj) WHERE id = 1;特定のバンド範囲について正確な統計情報を計算
サンプリングではなくすべてのピクセルをスキャンするには、'{"approx":false}' を渡します。以下の例では、バンド 0 ~ 2 の正確な統計情報を計算します。
UPDATE rast SET rast = ST_SummaryStats(rast, '0-2', '{"approx":false}') WHERE id = 1;すべてのバンドについて正確な統計情報を計算
UPDATE rast SET rast = ST_SummaryStats(rast, '{"approx":false}') WHERE id = 1;