40.5 Geopandas
El objetivo de GeoPandas es facilitar el trabajo con datos espaciales en python. Combina las capacidades de los paquetes pandas y shapely, proporcionando operaciones espaciales en pandas y una interfaz de alto nivel para múltiples geometrías a shapely. GeoPandas permite realizar operaciones en python que de otro modo requerirían una base de datos espacial.
GeoPandas implementa dos estructuras de datos principales: GeoSeries y GeoDataFrame. Son subclases de Series y DataFrame, respectivamente.
Una GeoSerie es esencialmente un vector donde cada entrada en el vector es un conjunto de formas correspondientes a una observación. Una entrada puede consistir en una sola forma (como un único polígono) o en múltiples formas que deben ser consideradas como una observación (como los muchos polígonos que componen un país).
Geopandas tiene las tres clases básicas de objetos geométricos:
Puntos / Multipuntos
Líneas / Multi-Líneas
Polígonos / Multi-Polígonos
Un GeoDataFrame es una estructura de datos tabular que contiene una GeoSerie.
La propiedad más importante de un GeoDataFrame es que siempre tiene una columna GeoSeries que tiene un estado especial. Esta GeoSerie se denomina “geometría” del GeoDataFrame. Cuando se aplica un método espacial a un GeoDataFrame (o se llama a un atributo espacial como área), estos comandos actuarán siempre sobre la columna “geometría”. Se puede acceder a la columna “geometría”, independientemente de su nombre, a través del atributo geometría (gdf.geometry), y el nombre de la columna geometría se puede encontrar escribiendo gdf.geometry.name.
Un GeoDataFrame también puede contener otras columnas con objetos geométricos (con forma), pero sólo una columna puede ser cada vez la geometría activa. Para cambiar qué columna es la columna de la geometría activa, se utiliza el método GeoDataFrame.set_geometry().
Componentes de GeoDataFrame
Una geometría (geometry): que es la columna que nombra la forma geométrica (Shapely): punto, línea o polígono.
crs: Sistema de Referencia de Coordenadas.
data: DataFrame que contiene los datos no espaciales. Se usa [ ] si no hay datos.