このトピックでは、ST_HMTStats関数について説明します。 この関数は、レンダリング中に使用されるヒートマップタイルの統計値を計算します。
構文
record ST_HMTAsArray(bytea hmt, integer factor default 1, out float8 min, out float8 max, out float8 mean, out float8 sum , out float8 count , out float8 std, out float8 median, out float8 mode, out float8[] percentile);戻り値
ヒートマップタイルの統計値が返されます。 以下のパラメータが含まれています。
パラメーター | 説明 |
min | 最小値。 |
max | 最大値。 |
mean | 平均値。 |
sum | 値の合計。 |
count | 統計値の総数。 |
std | 標準偏差。 |
median | 中央値。 |
mode | モード。 |
percentile | パーセンタイル値の配列。 合計100パーセンタイル値が含まれる。 |
パラメーター
パラメーター | 説明 |
hmt | protobufに基づくヒートマップタイルバイナリ。 |
factor | 各統計計算で使用される値の数を示すサンプリング比。 例えば、係数4は、各統計計算において4つの値が使用されることを示す。 |
説明
この関数は、レンダリング中に使用されるヒートマップタイルの統計値を計算します。 ヒートマップタイルは、ST_AsHMT関数を使用して生成される。
例
CREATE TABLE test_table AS
SELECT i num,
ST_setSRID(st_makepoint((i-0.5)::numeric, (i-0.5)::numeric), 4326) geom,
i*100::int4 weight,
i*i*i::float8 volume
FROM generate_series(1, 10) i;
SELECT (ST_HMTstats(ST_AsHMT(the_geom,
ST_MakeEnvelope(0, 0, 10, 10),
10,
10))).*
FROM test_table;
------------------
min | max | mean | sum | count | std | median | mode | percentile
0 | 2 | 0.19 | 19 | 100 | 0.5778408085277467 | 0 | 0 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2}
-- factor set to 4
SELECT (ST_HMTstats(ST_AsHMT(the_geom,
ST_MakeEnvelope(0, 0, 10, 10),
10,
10),4)).*
FROM test_table;
------------------
min | max | mean | sum | count | std | median | mode | percentile
0 | 2 | 0.16 | 4 | 25 | 0.5425863986500215 | 0 | 0 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2}