3 votos

Consulta espacial PostGIS para calcular una media

Actualmente estoy trabajando en un proyecto que me exige calcular los niveles medios de contaminación de una gran cantidad de datos puntuales. La imagen de abajo muestra el área de interés (en verde). Mi tarea consiste en calcular la contaminación media de las áreas de código postal (polígonos en negro debajo del área de enfoque) para cualquier contenido o parte de este área.

enter image description here

Tanto los datos puntuales como las áreas tienen geometrías asociadas. Llevo un tiempo trabajando en varias consultas, pero cada vez que introduzco un elemento espacial en la consulta me devuelve una tabla en blanco:

SELECT p.id,
ROUND (AVG(n."2011"),2) AS Aveage_NO2_2011
FROM postcode_area p, no2_2011 n
WHERE ST_WITHIN (n.geom, p.geom)
GROUP BY p.id;

El objetivo es elaborar un mapa coloidal de las áreas de código postal de los niveles medios de NO2. Esto debería excluir las áreas de códigos postales que no se cruzan o no están contenidas en el área de enfoque.

1voto

mapBaker Puntos 5348

Esta es una consulta que resumirá la aland10 campo de los códigos postales a nivel de condado

select 
c.geoid
, cast(avg(z.aland10) as decimal(10,2)) as "Average"
from denver.zip_codes as z
join denver.county as c on ST_Intersects(ST_Centroid(z.geom), c.geom)
group by c.geoid

Tenga en cuenta que estoy convirtiendo los polígonos de los ZIP_Codes a su centroide y los intersecto en lugar de dentro - sólo estoy interesado en la intersección de los puntos al condado.

Si quisieras contar el número de puntos, lo añadirías también:

select 
c.geoid
, cast(avg(z.aland10) as decimal(10,2)) as "Average"
, count(*) as "CountZips"
from denver.zip_codes as z
join denver.county as c on ST_Intersects(ST_Centroid(z.geom), c.geom)
group by c.geoid

Nota sobre el uso de ST_Intersects con los centroides frente a ST_Intersection para 'recortar' los polígonos que caen dentro del condado - Parece que ST_Intersection daría sólo el área del polígono restante que cayó dentro del condado - si eso es apropiado para cortar secciones de los códigos postales, eso depende de usted...

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