将多边形几何图形转换为列表

6

如何将复合多边形几何体转换成列表? 我尝试了以下方法:

mycoords=geom.exterior.coords
mycoordslist = list(mycoords)

但是我收到了以下错误:

属性错误:'MultiPolygon'对象没有属性'exterior'

2个回答

11
你需要在你的MultiPolygon内循环几何图形。
mycoordslist = [list(x.exterior.coords) for x in geom.geoms]

请注意,结果是坐标列表的列表。


我尝试了这个,但出现了错误:AttributeError: 'Polygon' 对象没有 'geoms' 属性。 - mee
5
只有当 geom.type=='MultiPolygon' 时才会成立。 - swatchai
mycoordslist = [list(x.exterior.coords) for x in geom] will work as of now. if geom.type == 'MultiPolygon' - Prakash Dahal
@PrakashDahal,在Shapely 2.0中将停止支持该功能。在1.8中已经收到了关于此问题的弃用警告。 - martinfleis

1
错误是因为你试图从错误的属性中获取坐标,“exterior”是“Polygon”的属性,而不是“MultyPolygon”的属性。
以下是可能起作用的代码:
mycoordslist = [poly.exterior.coords for poly in list(geom)]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接