Pandy dataframe do geodataframe

Sep 02 2020

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

3 Ben Sep 02 2020 at 13:04

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")