7 votos

PostGIS: convertir datos del punto de trama

Tengo una tabla de puntos y estoy tratando de visualizar sus distribuciones. Cada punto tiene un PUNTO de geometría (WGS84) y algunos atributos numéricos: a, b, c.

| id | geom       | a  | b | c |
|-----------------|----|---|---|
| 1  | POINT(...  | 12 | 9 | 2 |
| etc ...                      |

El primero que probé fue el proyecto a un área igual a la proyección (EPSG: 3175), uso ST_SnapToGrid y, a continuación, grupo en el punto resultante de la geometría.

SELECT 
  avg(a), avg(b), avg(c), 
  ST_Transform(ST_SnapToGrid(ST_Transform(geom, 3175), 50), 4326) AS bin
FROM points
GROUP BY bin

En este grupo los puntos dentro de 50x50 metros cubos con sus valores agregados que me puede importar en qgis para jugar con. Yo optimizado esto mediante la adición de otra columna a la tabla de puntos de llamada bin_id que era una clave externa en una bins tabla:

| id | geom      |
|----|-----------|
| 1  | POINT(... |

Entonces yo podría escribir una consulta como esta:

SELECT avg_a, avg_b, avg_c, geom
FROM (
  SELECT 
    avg(a) AS avg_a,
    avg(b) AS avg_b,
    avg(c) AS avg_c,
    bin_id
  FROM points
  GROUP BY bin_id
) AS tmp
JOIN bins ON tmp.cell_id = bins.id

Todo esto funciona bien, pero quiero usar los Rásteres en su lugar. En todos los ejemplos que he visto muestran cómo importar las imágenes rasterizadas o shapefiles en PostGIS. Pero necesito saber cómo generar uno de los datos que ya están en PostGIS.

Idealmente quiero un ráster con 3 bandas: avg_a, avg_b & avg_c

Puede que alguien me apunte en la dirección correcta?

EDIT 1: no me opongo a hacerlo fuera de la base de datos.
EDIT 2: Parece que se puede utilizar el GDAL API para hacerlo.

3voto

dlanod Puntos 8661

Hemos escrito un par de artículos sobre este te pueden ser de utilidad: http://www.bostongis.com/blog/index.php?/archives/211-Waiting-for-PostGIS-2.1-ST_SetValues-The-road-to-thematic-maps.html

http://www.bostongis.com/blog/index.php?/archives/222-Using-ST_ColorMap-for-Thematic-Maps.html

Usted querrá echa un vistazo en PostGIS manual -- ST_AsRaster, ST_DumpValues (y otros pixel funciones setter) http://postgis.net/docs/manual-2.1/RT_reference.html#Raster_Pixel_Accessors trama ST_Union -

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X