Pandas dataframe a geodataframe

Sep 02 2020

Tengo un marco de datos de pandas con dos campos: ID y geometría (la geometría ya está en WKT). Quiero cambiar este marco de datos a geodataframe para poder guardarlo como shapefile.

He intentado cambiarlo a geodataframe de la siguiente manera:


covex = gdf(covex, crs="EPSG:4326", geometry='geometry')
covex.to_file("covex.shp")

eso no funcionó y recibí este mensaje de error:

TypeError: el objeto 'GeoDataFrame' no es invocable

covex = gdf(covex, crs="EPSG:4326", geometry=covex.iloc[:,1])
covex.to_file("covex.shp")

pero tengo el mismo mensaje de error.

¿Qué hago mal? Pensé que debería pasar la columna de geoemtría allí, pero parece que debería ser otra cosa. ¿Cómo puedo cambiar esto a geodataframe y luego a shapefile?

Respuestas

3 Ben Sep 02 2020 at 13:04

Creo que le falta una función allí (gdf. GeoDataFrame ), supongo que está importando geopandas como gdf.

aquí hay un enlace a la documentación para crear GeoDataFrames, aunque no veo nada sobre el uso de un df para crear, pero no puedo imaginar que no funcione https://geopandas.org/reference/geopandas.GeoDataFrame.html https://geopandas.org/reference.html#geodataframe

import geopandas as gdf

# Thish should create a new dataframe
covex = gdf.GeoDataFrame(covex, crs="EPSG:4326", geometry=covex.iloc[:,1])
covex.to_file("covex.shp")