Da dataframe panda a geodataframe
Ho un dataframe panda con due campi: ID e geometria (la geometria è già in WKT). Voglio cambiare questo dataframe in geodataframe così posso salvarlo come shapefile.
Ho provato a cambiarlo in geodataframe nel modo seguente:
covex = gdf(covex, crs="EPSG:4326", geometry='geometry')
covex.to_file("covex.shp")
non ha funzionato e ho ricevuto questo messaggio di errore:
TypeError: l'oggetto "GeoDataFrame" non è richiamabile
covex = gdf(covex, crs="EPSG:4326", geometry=covex.iloc[:,1])
covex.to_file("covex.shp")
ma ho ricevuto lo stesso messaggio di errore.
Cosa sbaglio? Ho pensato che avrei dovuto passare la colonna geoemtry lì, ma sembra che dovrebbe essere qualcos'altro. come posso cambiarlo in geodataframe e poi in shapefile?
Risposte
Penso che ti manchi una funzione (gdf. GeoDataFrame ), presumo che tu stia importando geopandas come gdf.
ecco un collegamento alla documentazione per la creazione di GeoDataFrames, anche se non vedo nulla sull'utilizzo di un df per creare, ma non riesco a immaginare che non funzionerebbe 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")