Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_HMTAsArray

Dernière mise à jour :Oct 10, 2026

ST_HMTAsArray convertit une tuile de carte de chaleur (HMT) en un tableau bidimensionnel float8, rendant les valeurs des pixels directement lisibles dans un jeu de résultats SQL.

Syntaxe

float8[][] ST_HMTAsArray(bytea hmt);

Paramètres

Paramètre Type Description
hmt bytea Tuile de carte de chaleur encodée en binaire au format protobuf. Généralement générée par ST_AsHMT.

Valeur de retour

Renvoie un tableau bidimensionnel float8[][]. Chaque élément représente la valeur statistique du pixel correspondant dans la carte de chaleur.

Exemple

L'exemple suivant crée une table de test contenant 10 géométries ponctuelles, génère une tuile de carte de chaleur avec ST_AsHMT, puis convertit la tuile en tableau bidimensionnel avec ST_HMTAsArray.

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_HMTAsArray(ST_AsHMT(geom, --geometry type
    ST_MakeEnvelope(0, 0, 10, 10, 4326), -- Extent
    10,        -- Width, in pixel
    10        -- height
))
FROM test_table;

Sortie :

[0:9][0:9]={{1,0,0,0,0,0,0,0,0,0},{0,1,0,0,0,0,0,0,0,0},{0,0,1,0,0,0,0,0,0,0},{0,0,0,1,0,0,0,0,0,0},{0,0,0,0,1,0,0,0,0,0},{0,0,0,0,0,1,0,0,0,0},{0,0,0,0,0,0,1,0,0,0},{0,0,0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0,1,0},{0,0,0,0,0,0,0,0,0,1}}

Le préfixe [0:9][0:9]= correspond à la notation PostgreSQL pour un tableau bidimensionnel avec des bornes d'indice explicites. Les deux dimensions s'étendent de l'indice 0 à 9, ce qui correspond à la grille de pixels de 10 × 10. La disposition diagonale des valeurs 1 reflète la répartition uniforme des 10 points d'entrée sur la grille.

Voir aussi

  • ST_AsHMT — génère le binaire de la tuile de carte de chaleur (bytea) utilisé par cette fonction.