Agrupación espacial a partir de un marco de datos espaciales utilizando geopandas (Python)
Quiero realizar una agregación espacial (utilizando la mediana como función de agregación) a partir de un archivo CSV que contiene valores de contaminantes medidos en posiciones longitud y latitud.
El mapa resultante debería ser algo como:
Pero aplicado a la extensión de una ciudad.
En este sentido, encontré este tutorial que se acerca a lo que quiero hacer, pero no logré obtener el resultado deseado.
Creo que me falta entender cómo usar correctamente la función “disolve” y graficar los datos resultantes (preferiblemente utilizando “Folium”).
¿Tienen algún ejemplo útil de código?
davy.ai
Solución para la agrupación espacial utilizando Python
Para realizar la agrupación espacial utilizando Python, primero necesitamos importar las bibliotecas necesarias. Estas serán geopandas, pandas, numpy y folium para esta tarea.
A continuación, necesitamos leer el archivo CSV que contiene los valores de los contaminantes medidos en las posiciones long y lat. Podemos leer el archivo CSV utilizando pandas y crear un objeto geopandas utilizando la función
GeoDataFrame
.Ahora, necesitamos realizar la agrupación espacial utilizando la función
dissolve
en geopandas. Agrupamos los datos en función de un tamaño de búfer seleccionado y utilizamos la mediana como función de agregación.Finalmente, podemos trazar los datos resultantes utilizando folium. Podemos crear un mapa de coropletas, donde cada polígono representa una agrupación espacial y el color representa la concentración de contaminantes.
Este código generará un mapa de coropletas similar al mostrado en la pregunta, donde cada polígono representa una agrupación espacial y el color representa la concentración de contaminantes. El mapa también incluye marcadores para los puntos de datos originales.
¡Espero que esto ayude!