J'ai un fichier dataframe stocké sous forme de fichier CSV, une colonne de laquelle est un objet polygone. Cependant, cette colonne est stockée en tant que chaînes à la place de l'objet géométrie de Geopandas. Comment puis-je convertir cette colonne en objet géométrie de Geopandas afin que je puisse effectuer l'analyse GEO?
Voici comment mes données ressemblent
my_df['geometry'].head()
0 POLYGON ((-122.419942 37.809021, -122.419938 3...
1 POLYGON ((-122.419942 37.809021, -122.419938 3...
2 POLYGON ((-122.419942 37.809021, -122.419938 3...
3 POLYGON ((-122.419942 37.809021, -122.419938 3...
4 POLYGON ((-122.405659 37.806674, -122.405974 3...
Name: geometry, dtype: object
Je veux convertir ceci Pandas Dataframe à Geopandas Geodatafrataframe, à l'aide de la colonne "Géométrie" comme colonne géométrie géopommune.
my_geo_df = gpd.GeoDataFrame(my_df, geometry=my_df['geometry'])
Cependant, comme la colonne est stockée en tant que chaînes, geopandas.dataframe () ne le reconnaît pas et ne peut donc pas créer un géodataframe.
TypeError: Input geometry column must contain valid geometry objects.
Le format de votre polygone est WKT, vous devez donc le convertir en polygone galonniel. Suite à Geopandas Docs ( https://geopandas.readthedocs.io/fr/Latest/gallery/create_geopandas_from_pandas.html )
from shapely import wkt
df['geometry'] = df['geometry'].apply(wkt.loads)
my_geo_df = gpd.GeoDataFrame(my_df, geometry='geometry')