I have a GeoDataFrame consisting polygons. How can I convert each polygon into a list of coordinates? Is there any attribute, method or function in GeoPandas to do this?
You can use the following list comprehension to achieve this:
[list(shp.geometry.exterior[row_id].coords) for row_id in range(shp.shape[0])]
where shp
is your geopandas dataframe. It uses the exterior
and coords
methods from shapely.
A very effective, very fast solution would be to build a function and then use apply instead of a list comprehension
def coord_lister(geom):
coords = list(geom.exterior.coords)
return (coords)
coordinates = shp.geometry.apply(coord_lister)