如何在Python中合并多个缓冲区对象?

2 投票
1 回答
1797 浏览
提问于 2025-04-18 12:54

假设我有几个 python.shapely.LineString 对象。我在它们周围建立了缓冲区,得到了几条缓冲线。现在我想把这些缓冲形状合并成一个(也就是把所有这些形状加在一起),但我不能把它们当作多边形对象来处理,因为它们只是缓冲线。有没有什么建议可以做到这一点?

1 个回答

4

unary_union 可以用来“合并”一系列的几何形状。例如:

from shapely.geometry import LineString
from shapely.ops import unary_union

lines = [
    LineString([(845, 555), (365, -5), (130, -650)]),
    LineString([(740, 605), (640, 60), (315, -375)]),
    LineString([(0, -500), (655, -150), (900, 300)]),
]

# Two example unions
unioned_lines = unary_union(lines)
unioned_buffered_poly = unary_union([l.buffer(50) for l in lines])

撰写回答