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

时间:2016-04-21 15:24:33

标签: 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>]]

如何从中创建MultiPolygon?我无法理解它

1 个答案:

答案 0 :(得分:4)

看起来你有一个列表列表(每个列表都有一个项目)。在您执行任何操作之前,请制作一个几何的平面列表:

myGeomList = [x[0] for x in myList]

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

from shapely.ops import cascaded_union
cu = cascaded_union(myGeomList)

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