将多边形列表合并为多多边形

Sto*_*ace 7 python geospatial shapely

我有一个匀称多边形的列表

myList = [[<shapely.geometry.polygon.Polygon object at 0x110e09d90>], [<shapely.geometry.polygon.Polygon object at 0x110e09f90>], [<shapely.geometry.polygon.Polygon object at 0x110ec9150>]]
Run Code Online (Sandbox Code Playgroud)

我将如何创建MultiPolygon它们?我无法理解它

Mik*_*e T 10

看起来您有一个列表列表(每个列表都有一个项目)。在你做任何事情之前,先列一个平面的几何列表:

myGeomList = [x[0] for x in myList]
Run Code Online (Sandbox Code Playgroud)

实际上有几个选项可以组合它们。最好的方法是对几何列表进行一元并集,这可能会导致不同的几何类型,例如 MultiPolygon,但并非总是如此。

from shapely.ops import unary_union
cu = unary_union(myGeomList)
Run Code Online (Sandbox Code Playgroud)

或者您可以将列表传递给MultiPolgyon()GeometryCollection(),但这些可能会出现问题(无效、无法使用覆盖操作等)

  • 很好的答案!直接采用 MultiPolgyon() 不会抛出错误,但会导致错误的结果。将多边形和多多边形组合到新的多多边形时进行了测试。 (2认同)