GeoPandas (Python)
GeoPandas es una biblioteca de Python que añade a pandas la capacidad de trabajar con datos geográficos, lo que permite combinar en un mismo flujo de análisis estadísticas económicas y límites territoriales.
Qué ofrece
GeoPandas amplía las estructuras de datos de Pandas con dos tipos nuevos, GeoSeries y GeoDataFrame, que incorporan una columna de geometrías. Las operaciones geométricas se apoyan en la biblioteca Shapely, y los mapas, en Matplotlib. El resultado es una interfaz de alto nivel que permite hacer en Python operaciones que, de otro modo, exigirían un sistema de información geográfica o una base de datos espacial.
Operaciones
La biblioteca lee y escribe los formatos geoespaciales habituales, transforma los datos entre sistemas de coordenadas y calcula áreas, distancias y relaciones entre geometrías. Permite también unir tablas según su relación espacial, superponer capas, agregar geometrías por grupos y generar mapas estáticos o interactivos.
Ecosistema
GeoPandas es la base de buena parte del análisis geoespacial en Python. Bibliotecas como PySAL la utilizan como estructura de datos, y se combina con las herramientas habituales de ciencia de datos y aprendizaje automático. Es un proyecto de código abierto con gobernanza abierta, fundado en 2013 y patrocinado fiscalmente por la organización sin ánimo de lucro NumFOCUS.
Uso y valoración
GeoPandas cubre en Python las mismas tareas que sf en R: unir indicadores estadísticos con las geometrías de regiones o municipios, calcular variables territoriales y preparar los datos para mapas o modelos espaciales. Resulta especialmente práctica para quien ya trabaja con Pandas, porque las operaciones de filtrado, agrupación y unión de tablas funcionan igual con datos geográficos.
La curva de aprendizaje es su principal barrera: requiere programar en Python y conocer Pandas y los sistemas de coordenadas. Conviene recordar además que trabaja con los datos en memoria, lo que limita el volumen que puede procesarse en un ordenador personal, y que está pensada para datos vectoriales; el trabajo con ráster requiere otras bibliotecas.
Ficha técnica
- Desarrollador: proyecto comunitario fundado por Kelsey Jordahl, con un equipo de desarrolladores principales; patrocinado fiscalmente por NumFOCUS.
- Modelo de acceso: gratuito y de código abierto (licencia BSD-3-Clause).
- Plataforma: biblioteca de Python, instalable con pip o conda.
- Idioma: documentación en inglés.
- Cuenta: no requiere.
- Alternativas: sf (R).