La combinación mágica para la visualización de datos geográficos: Python y Geopandas

Este artículo es compartido de la Comunidad de Nube de Huawei " Python y Geopandas: Guía de análisis y visualización de datos geográficos " por Lemony Hug.

La visualización de geodatos es crucial en muchos campos, ya sea en el estudio de la distribución geoespacial, la planificación urbana, la protección ambiental o la toma de decisiones comerciales. El lenguaje Python es conocido por sus poderosas bibliotecas de visualización y procesamiento de datos, y Geopandas, como una extensión de su dominio de sistema de información geográfica (GIS), proporciona herramientas convenientes para procesar datos geoespaciales. Este artículo presentará cómo utilizar Python y Geopandas para la visualización de datos geográficos y proporcionará ejemplos de código prácticos.

1. Preparación

Antes de comenzar, asegúrese de tener instalado Python y la biblioteca Geopandas. Geopandas se puede instalar usando pip:

pip instalar geopandas

2. Cargar datos geográficos

Primero, necesitamos cargar los datos geográficos. Geopandas admite múltiples formatos de datos geográficos, incluidos Shapefile, GeoJSON, Geopackage, etc. En este ejemplo, usaremos datos de mapas en formato Shapefile.

importar geopandas como gpd

# Leer datos del mapa en formato Shapefile
mundo = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))

3. Exploración y procesamiento de datos

Después de cargar los datos, podemos realizar una exploración y procesamiento básicos, como ver las primeras filas de los datos, el tipo de datos, etc.

# Ver las primeras filas de datos
imprimir(mundo.cabeza())

# Ver los nombres de las columnas de los datos.
imprimir (mundo.columnas)

# Verifique el tipo de geometría de los datos.
imprimir(mundo.geom_type)

4. Visualización de datos geográficos

A continuación, visualicemos los datos geográficos usando la biblioteca Matplotlib.

importar matplotlib.pyplot como plt

# dibujar mapa
mundo.trama()
plt.mostrar()

5. Personaliza el estilo del mapa

También puedes personalizar el estilo del mapa, como cambiar colores, agregar etiquetas y más.

# Estilo de mapa personalizado
world.plot(color='azul claro', edgecolor='negro')
plt.title('Mapa mundial')
plt.xlabel('Longitud')
plt.ylabel('Latitud')
plt.mostrar()

6. Agregar datos

Además de dibujar mapas, también podemos agregar otros datos al mapa para proporcionar más información.

#Agregar otros datos
ciudades = gpd.read_file(gpd.datasets.get_path('naturalearth_cities'))
mundo.trama()
ciudades.plot(marcador='o', color='rojo', tamaño del marcador=5)
plt.mostrar()

7. Análisis espacial y consulta.

Geopandas se puede utilizar no sólo para la visualización de datos geográficos, sino también para análisis y consultas espaciales. Por ejemplo, podemos utilizar consultas espaciales para encontrar otros lugares cerca de una ubicación.

desde el punto de importación shapely.geometry

#Crear un objeto puntual para representar la latitud y longitud de una ubicación determinada
punto = Punto(-74.006, 40.7128)

# Consulta espacial para encontrar la ciudad más cercana al punto.
ciudad_más cercana = ciudades[ciudades.distancia(punto).idxmin()]
print("La ciudad más cercana es:", ciudad_más cercana['nombre'])

8. Superposición y agrupación de mapas

En la visualización de mapas, a veces es necesario superponer diferentes datos geográficos y mostrarlos en grupos según determinadas condiciones.

#Grupo por continente
world_grouped = world.groupby('continente').agg({'geometría': 'unión'})
mundo_agrupado.plot()
plt.title('Mapa mundial agrupado por continente')
plt.xlabel('Longitud')
plt.ylabel('Latitud')
plt.mostrar()

9. Operaciones de datos geográficos más complejas

Además de las operaciones básicas anteriores, Geopandas también admite operaciones de datos geográficos más complejas, como zonas de influencia espaciales, superposiciones espaciales, análisis de relaciones topológicas geográficas, etc.

# Ejemplo de búfer de espacio
área_búfer = mundo.geometría.búfer(5)
área_búfer.plot()
plt.title('Mapa mundial con búfer')
plt.xlabel('Longitud')
plt.ylabel('Latitud')
plt.mostrar()

13. Visualización interactiva de datos geográficos.

Además de la visualización de datos geográficos estáticos, también se pueden utilizar herramientas interactivas para explorar y mostrar datos geográficos. Bokeh y Folium son dos bibliotecas de Python de uso común que permiten la visualización interactiva de datos geográficos.

importar hoja

#Crear un objeto de mapa
m = folium.Map(ubicación=[40.7128, -74.006], zoom_start=10)

#Agregar etiqueta de ciudad
para idx, fila en ciudades.iterrows():
    folium.Marker([fila['latitud'], fila['longitud']], popup=fila['nombre']).add_to(m)

# mostrar mapa
metro

14. Superposición y control multicapa

En un mapa interactivo, puede agregar varias capas y proporcionar controles para personalizar la visualización.

#Crear un objeto de mapa
m = folium.Map(ubicación=[40.7128, -74.006], zoom_start=10)

#Agregar capa de mapa mundial
folium.GeoJson(mundo).add_to(m)

#Agregar capa de ciudad
city_layer = folium.FeatureGroup(nombre='Ciudades')
para idx, fila en ciudades.iterrows():
    folium.Marker([fila['latitud'], fila['longitud']], popup=fila['nombre']).add_to(city_layer)
capa_ciudad.add_to(m)

#Agregar control de capa
folium.LayerControl().add_to(m)

# mostrar mapa
metro

15. Aplicaciones de visualización e integración de datos.

Al integrar la visualización de datos geográficos con otros datos, se pueden lograr escenarios de aplicaciones más ricos. Por ejemplo, combine datos de población, indicadores económicos y otra información para realizar análisis de datos geográficos y presentaciones visuales más profundos.

# Leer datos de población
datos_población = pd.read_csv("población.csv")

# Fusionar datos de población con datos de ciudad según el nombre de la ciudad
ciudades_con_población = pd.merge(ciudades, datos_población, cómo='izquierda', en='nombre')

# Dibuja ciudades en el mapa y ajusta el tamaño del marcador según la población.
m = folium.Map(ubicación=[40.7128, -74.006], zoom_start=4)
para idx, fila en ciudades_con_población.iterrows():
    folium.CircleMarker(ubicación=[fila['latitud'], fila['longitud']], radio=fila['población'] / 100000,
                        fill_color='azul', fill_opacity=0.6).add_to(m)
metro

16. Casos de visualización y análisis de datos geográficos.

Usemos un caso para demostrar cómo usar Python y Geopandas para el análisis y visualización de datos geográficos. Supongamos que tenemos un conjunto de datos sobre el PIB y la población de varios países del mundo. Queremos analizar la situación económica y demográfica de cada país y visualizar los resultados.

# Leer datos de población y PIB
pib_data = pd.read_csv("pib_data.csv")
datos_población = pd.read_csv("datos_población.csv")

# Combinar datos en un DataFrame
world_data = pd.merge(world, gdp_data, how='left', left_on='nombre', right_on='Nombre del país')
datos_mundiales = pd.merge(datos_mundiales, datos_población, how='izquierda', left_on='nombre', right_on='Nombre del país')

# Calcular el PIB per cápita
datos_mundiales['PIB per cápita'] = datos_mundiales['PIB (USD actuales)'] / datos_mundiales['Población']

# Dibujar un mapa del PIB per cápita
higo, hacha = plt.subplots(1, 1, tamaño de higo=(10, 6))
world_data.plot(columna='PIB per cápita', cmap='OrRd', ancho de línea=0.8, ax=ax, edgecolor='0.8', leyenda=True)
ax.set_title('PIB mundial per cápita')
plt.mostrar()

17. Resultados del análisis

A través del código anterior, podemos obtener el mapa del PIB per cápita de países de todo el mundo, desde el cual podemos ver las diferencias en los niveles de desarrollo económico entre diferentes países. A continuación, podemos analizar más a fondo cuestiones como la densidad de población y el desarrollo regional desigual, y presentar las recomendaciones políticas correspondientes.

# Calcular la densidad de población.
world_data['Densidad de población'] = world_data['Población'] / world_data.geometry.area

# Dibujar mapa de densidad de población
higo, hacha = plt.subplots(1, 1, tamaño de higo=(10, 6))
world_data.plot(columna='Densidad de población', cmap='Blues', ancho de línea=0.8, ax=ax, edgecolor='0.8', leyenda=Verdadero)
ax.set_title('Densidad de población mundial')
plt.mostrar()

18. Conclusión y perspectivas

A través de la introducción y demostración de casos de este artículo, hemos aprendido cómo usar Python y Geopandas para analizar y visualizar datos geográficos. El análisis y la visualización de datos geográficos pueden ayudarnos a obtener una comprensión más profunda de la distribución espacial y las características de la Tierra, brindando así un mayor apoyo para la toma de decisiones.

En el futuro, con el desarrollo continuo de la tecnología de recopilación y procesamiento de datos, el análisis y visualización de datos geográficos desempeñarán un papel cada vez más importante, proporcionando información y conocimientos más útiles para el desarrollo sostenible de la sociedad humana y la protección del medio ambiente.

Gracias por leer este artículo, espero que te inspire y te ayude.

Resumir

Este artículo analiza en profundidad cómo utilizar Python y Geopandas para la visualización y el análisis de datos geográficos y proporciona una gran cantidad de ejemplos de código y demostraciones de casos. El siguiente es el resumen principal de este artículo:

  1. Preparación : antes de comenzar, debe asegurarse de que las bibliotecas de Python y Geopandas estén instaladas. Puede usar pip para instalar Geopandas.

  2. Carga de datos geográficos : Geopandas admite múltiples formatos de datos geográficos, incluidos Shapefile, GeoJSON, Geopackage, etc. Puede utilizar gpd.read_file()funciones para cargar datos.

  3. Exploración y procesamiento de datos : después de cargar los datos, puede realizar una exploración y procesamiento básicos, como ver las primeras filas de los datos, nombres de columnas, tipos de datos, etc.

  4. Visualización de datos geográficos : utilice la biblioteca Matplotlib para visualizar datos geográficos y personalice el mapa ajustando estilos y agregando etiquetas.

  5. Análisis y consultas espaciales : Geopandas admite consultas y análisis espaciales, como consultas espaciales, búfer espacial y otras operaciones.

  6. Guardar y exportar datos : puede utilizar Geopandas para guardar datos geográficos en archivos en Shapefile, GeoJSON y otros formatos.

  7. Proyección de datos y conversión de coordenadas : Geopandas admite la proyección de datos y la conversión de coordenadas, y puede proyectar el mapa en diferentes métodos de proyección.

  8. Visualización interactiva de datos geográficos : la visualización interactiva de datos geográficos se puede realizar a través de bibliotecas como Bokeh y Folium, lo que mejora la interactividad de la exploración y visualización de datos.

  9. Caso de visualización y análisis de datos geográficos : A través de la demostración de un caso, muestra cómo utilizar Python y Geopandas para analizar la situación económica y demográfica de países de todo el mundo y visualizar los resultados.

  10. Conclusión y perspectivas : el análisis y la visualización de datos geográficos se utilizan ampliamente en diversos campos. Con el desarrollo de la tecnología, nos proporcionará información y conocimientos más útiles.

Al estudiar este artículo, los lectores pueden dominar los métodos básicos de procesamiento y visualización de datos geográficos utilizando Python y Geopandas, y brindar apoyo y orientación para aplicaciones prácticas.

 

Haga clic para seguir y conocer las nuevas tecnologías de Huawei Cloud lo antes posible ~

¿Cuántos ingresos puede generar un proyecto desconocido de código abierto? El equipo chino de inteligencia artificial de Microsoft empacó colectivamente y se fue a los Estados Unidos, involucrando a cientos de personas. Huawei anunció oficialmente que los cambios de trabajo de Yu Chengdong estaban clavados en el "Pilar de la vergüenza de FFmpeg" durante 15 años. Hace, pero hoy tiene que agradecernos—— ¿Tencent QQ Video venga su humillación pasada? El sitio espejo de código abierto de la Universidad de Ciencia y Tecnología de Huazhong está oficialmente abierto para acceso externo : Django sigue siendo la primera opción para el 74% de los desarrolladores. El editor Zed ha logrado avances en el soporte de Linux. Un ex empleado de una conocida empresa de código abierto . dio la noticia: después de ser desafiada por un subordinado, la líder técnica se puso furiosa y grosera, fue despedida y quedó embarazada. La empleada Alibaba Cloud lanza oficialmente Tongyi Qianwen 2.5 Microsoft dona 1 millón de dólares a la Fundación Rust.
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4526289/blog/11121311
Recomendado
Clasificación