Manipulación de datos geoespaciales con GeoPandas en Python

Manipulación de datos geoespaciales con GeoPandas en Python

GeoPandas es una librería de Python de código abierto para trabajar con datos vectoriales. Como su nombre indica, extiende la popular librería de ciencia de datos pandas, al agregar soporte para datos geoespaciales.

GeoPandas permite leer, escribir, manipular y visualizar datos geoespaciales de forma sencilla y eficiente. Es una herramienta imprescindible para el análisis geoespacial en Python, y es utilizada por profesionales de la geografía, la cartografía, la ciencia de datos y otras áreas.

Instalación

Para instalar GeoPandas, podemos utilizar el gestor de paquetes pip:

pip install geopandas

Importación

Para importar GeoPandas, utilizamos el siguiente código:

Python
import geopandas as gpd

Objetos GeoDataFrame y GeoSeries

GeoPandas proporciona dos tipos de objetos principales para trabajar con datos geoespaciales: GeoDataFrame y GeoSeries.

  • GeoDataFrame: Es un objeto similar a un DataFrame de Pandas, pero con geometrías asociadas a cada fila.
  • GeoSeries: Es un objeto similar a una Serie de Pandas, pero con geometrías asociadas a cada elemento.

Lectura de datos

GeoPandas puede leer datos geoespaciales de una variedad de formatos, incluyendo:

  • Shapefiles: Formato de archivo vectorial estándar.
  • GeoJSON: Formato de archivo JSON para datos geoespaciales.
  • KML: Formato de archivo XML para datos geoespaciales.

Para leer datos de un archivo shapefile, utilizamos el siguiente código:

Python
# Importar datos de un archivo shapefile
df = gpd.read_file("data/countries.shp")

# Visualizar los datos
df.plot()

Ejemplo de uso

A continuación, presentamos un ejemplo de uso de GeoPandas para realizar un análisis geoespacial.

Objetivo:

Determinar los países que tienen una población superior a 100 millones de habitantes.

Procedimiento:

  1. Leer los datos de un archivo shapefile de países.
  2. Filtrar los países por población.
  3. Visualizar los resultados.

Código:

Python
# Importar datos de un archivo shapefile
df = gpd.read_file("data/countries.shp")

# Filtrar los países por población
df = df[df["population"] > 100000000]

# Visualizar los resultados
df.plot()

Resultados:

El siguiente gráfico muestra los países que tienen una población superior a 100 millones de habitantes:

[Imagen de un gráfico que muestra los países con una población superior a 100 millones de habitantes]

Conclusiones

GeoPandas es una herramienta poderosa para trabajar con datos geoespaciales en Python. Es una librería fácil de aprender y usar, y ofrece una amplia gama de funciones para manipular, analizar y visualizar datos geoespaciales.