All Products
Search
Document Center

ApsaraDB RDS:ST_HMTStats

Last Updated:Jul 02, 2025

Topik ini menjelaskan fungsi ST_HMTStats, yang menghitung nilai statistik dari ubin heatmap untuk digunakan selama proses rendering.

Sintaksis

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);

Nilai Pengembalian

Nilai statistik dari ubin heatmap dikembalikan. Parameter berikut termasuk:

Parameter

Deskripsi

min

Nilai minimum.

max

Nilai maksimum.

mean

Nilai rata-rata.

sum

Jumlah nilai.

count

Jumlah total nilai statistik.

std

Standar deviasi.

median

Nilai median.

mode

Modus.

percentile

Deretan nilai persentil. Total terdapat 100 nilai persentil yang disertakan.

Parameter

Parameter

Deskripsi

hmt

Ubin heatmap biner berdasarkan protobuf.

factor

Rasio pengambilan sampel, menunjukkan jumlah nilai yang digunakan dalam setiap perhitungan statistik. Sebagai contoh, faktor 4 menunjukkan bahwa empat nilai digunakan dalam setiap perhitungan statistik.

Deskripsi

Fungsi ini menghitung nilai statistik dari ubin heatmap yang digunakan selama proses rendering. Ubin heatmap dihasilkan menggunakan fungsi ST_AsHMT.

Contoh

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 disetel ke 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}