Pandy dataframe do geodataframe
Mam ramkę danych pandy z dwoma polami: ID i geometrią (geometria jest już w WKT). Chcę zmienić tę ramkę danych w ramkę danych geograficznych, aby móc ją zapisać jako plik kształtu.
Próbowałem zmienić go w geodataframe w następujący sposób:
covex = gdf(covex, crs="EPSG:4326", geometry='geometry')
covex.to_file("covex.shp")
to nie zadziałało i otrzymałem ten komunikat o błędzie:
TypeError: obiektu „GeoDataFrame” nie można wywołać
covex = gdf(covex, crs="EPSG:4326", geometry=covex.iloc[:,1])
covex.to_file("covex.shp")
ale otrzymałem ten sam komunikat o błędzie.
Co robię źle? Pomyślałem, że powinienem przekazać tam kolumnę geoemtry, ale wygląda na to, że powinno być coś innego. jak mogę to zmienić na geodataframe, a następnie na shapefile?
Odpowiedzi
Myślę, że brakuje tam funkcji (gdf. GeoDataFrame ), zakładam , że importujesz geopandy jako gdf.
tutaj jest link do dokumentacji dotyczącej tworzenia GeoDataFrames, chociaż nie widzę nic o używaniu df do tworzenia, ale nie wyobrażam sobie, żeby to nie zadziałało 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")