合并重叠的多边形直到没有重叠

union overlapping polygons until no overlap

我有一个几何图形列表(可以是点或多边形),我需要将重叠(或包含在另一个几何图形中)的几何图形合并到一个几何图形中。关于如何使用 shapely 有效地执行此操作的任何想法?我相信我应该使用 rtree 但不确定我应该如何以及在哪里使用它。

例如:

from shapely import geometry as gs
geometries = [gs.Polygon(((0,0), (0,10), (10, 10), (10, 0))),
              gs.Point((5,5)), gs.Point((30, 30))]

#output should be :
Polygon((0,0), (0,10), (10, 10), (10, 0)), Point((30, 30))

shapely.ops.unary_union 将执行任何几何类型的并集并生成 shapely.geometry.GeometryCollection(几何集)。这是您应该使用的函数 (docs here)。