このトピックでは、ST_Statistics関数について説明します。 この関数は、バンドのラスタオブジェクトの統計を返します。
構文
構文1
TEXT ST_Statistics (ラスターraster_obj、整数バンド);
構文2
SETOF RECORD ST_Statistics (ラスターraster_object、 geometry geom, 整数バンドのデフォルト0、 cstring statics_rangeデフォルト ''、 boolean rast_coordデフォルトはtrue、 アウト文字列名、 out integer band, float8分、 float8 max、 float8平均アウト、 float8合計アウト、 float8カウントアウト、 float8 std, 中央値float8アウト、 float8モード;
パラメーター
パラメーター | 説明 |
raster_obj | ラスターオブジェクト |
バンド | 0 から始まるバンドのシーケンス番号 |
geom | ジオメトリオブジェクト。The geometry object. m値が存在する場合は、ラスタの重みを指定します。 |
stats_range | 統計の範囲。 統計範囲は、元のピクセル値の範囲を指定し、コンマ (,) で区切られた1つ以上の数値で構成されます。 範囲の開始と終了にオープンまたはクローズの範囲を指定できます。 たとえば、
デフォルト値: |
rast_coord | ピクセル座標を使用するかどうかを指定します。 |
name | 範囲の名前。
|
min | 最小値。 |
max | 最大値。 |
平均 | 平均値。 |
sum | 合計。 |
集計 | 総数。 |
std | 標準偏差。 |
中央値 | 中央値。 |
モード | モード。 |
説明
構文1: この関数は、バンドのラスタオブジェクトの統計を返します。 値はJSON形式です。 統計が存在しない場合、関数はnullを返します。
構文2: この関数は、ジオメトリオブジェクトに基づいてラスターの統計を返します。 ジオメトリオブジェクトにm値が存在する場合、値はラスターの重みを指定します。
例
SELECT ST_Statistics(raster_obj, 0) FROM raster_table WHERE id=1;
__________________________________
'{ "min" : 0.00, "max" : 255.00,"mean" : 125.00,"std" : 23.123,"approx" : false}'
-- 範囲なし
SELECT (ST_Statistics(raster_obj, 'MultiPoint((0 0 10), (100 100 50), (199 199 100))'::geometry, 0)) * 。FROM raster_table WHERE id=1;
name | band | min | max | mean | sum | count | std | median | mode
--------------------------------------------------------------------------------------
フル | 2 | 47 | 196 | 140.3125 | 22450 | 160 | 71.8955133770529 | 47 | 196
-範囲付き
SELECT (ST_Statistics(raster_obj, 'MultiPoint((0 0 10), (100 100 50)), (199 199 100))'::geometry, 0, ' (0,10, 20,100,1000]')) * 。FROM raster_table
WHERE id=1;
name | band | min | max | mean | sum | count | std | median | mode
--------------------------------------------------------------------------------------
フル | 0 | 1 | 202 | 82 | 246 | 3 | 86.5678924313166 | 202 | 1
(0-10] | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1
(10-20] | 0 | | | | | | | | |
(20-100] | 0 | 43 | 43 | 43 | 43 | 1 | 0 | 43 | 43
(100-1000] | 0 | 202 | 202 | 202 | 202 | 1 | 0 | 202 | 202
-- 多角形
SELECT id, (ST_Statistics(rast, ST_geomfromtext('POLYGON((50 50,55 55,50 55,50 50)))')),1,' (0,10, 20,100,1000]').*
FROM raster_table WHERE id = 1;
id | name | band | min | max | mean | sum | count | std | median | mode
---- ----------- ------------------------------------------ ------------------ ---------------
3 | フル | 0 | 48 | 103 | 78.1020408163265 | 3827 | 49 | 21.5815916437107 | 97
3 | (0-10) | 0 | | | | | | | | |
3 | (10-20) | 0 | | | | | | | | |
3 | (20-100) | 0 | 48 | 97 | 76.4782608695652 | 3518 | 46 | 21.2855729161028 | 97 | 97
3 | (100-1000) | 0 | 103 | 103 | 103 | 309 | 3 | 0 | 103 | 103
(5行)