Dataframe do Pandas para geodataframe

Sep 02 2020

Eu tenho o dataframew do pandas com dois campos: ID e geometry (geometry já está no WKT). Quero mudar esse dataframe em geodataframe para que possa salvá-lo como shapefile.

Tentei transformá-lo em geodataframe da seguinte maneira:


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

que não funcionou e recebi esta mensagem de erro:

TypeError: o objeto 'GeoDataFrame' não pode ser chamado

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

mas recebi a mesma mensagem de erro.

O que eu faço de errado? Achei que deveria passar pela coluna de geoemtry lá, mas parece que deveria ser outra coisa. como posso mudar isso para geodataframe e depois para shapefile?

Respostas

3 Ben Sep 02 2020 at 13:04

Acho que está faltando uma função aí (gdf. GeoDataFrame ), presumo que você esteja importando geopandas como gdf.

aqui está um link para a documentação para a criação de GeoDataFrames, embora eu não veja nada sobre o uso de um df para criar, mas não posso imaginar que não funcionaria 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")