ST_HMTAsArray convierte un mosaico de mapa de calor (HMT) en un arreglo bidimensional de tipo float8. De esta manera, los valores de píxel se leen directamente en un conjunto de resultados SQL.
Sintaxis
float8[][] ST_HMTAsArray(bytea hmt);
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
|
Mosaico de mapa de calor codificado en formato binario protobuf. Por lo general, lo genera ST_AsHMT. |
Valor de retorno
Devuelve un arreglo bidimensional float8[][]. Cada elemento representa un valor estadístico del píxel correspondiente en el mapa de calor.
Ejemplo
A continuación se muestra un ejemplo que crea una tabla de prueba con 10 geometrías de puntos. Primero genera un mosaico de mapa de calor con ST_AsHMT y luego convierte el mosaico en un arreglo bidimensional mediante 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;
Salida:
[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}}
El prefijo [0:9][0:9]= es la notación de PostgreSQL para un arreglo bidimensional con límites de subíndice explícitos. Ambas dimensiones abarcan del índice 0 al 9, lo cual corresponde a la cuadrícula de 10x10 píxeles. El patrón diagonal de valores 1 refleja los 10 puntos de entrada distribuidos uniformemente en la cuadrícula.
Consulte también
ST_AsHMT: genera el archivo binario del mosaico de mapa de calor (
bytea) que consume esta función.