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?
3 Answers
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)
-
What is
geometry
here? A complete example would be more helpful. Commented Aug 24, 2022 at 17:38
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.
shp.geomtery.get_coordinates()
worked for me.
-
1Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.– Community BotCommented May 26, 2023 at 7:30