すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_HMTStats

最終更新日:Jul 01, 2024

このトピックでは、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}