如何为多边形添加点,这些多边形具有良好的共享边缘?

时间:2016-04-06 13:50:12

标签: python intersection shapely

我有两个相邻的形状,如下图A所示。如何将左侧红点添加到蓝色多边形(poly1),将右侧红点添加到灰色多边形(poly2)?我们的想法是,两个形状将共享由这两个点定义的线段。

A)adjacent shapes

我可以通过调用LineString找到交叉点poly1.intersection(poly2),但我不知道如何添加缺失的点(如下图B中的情况所需)

B)enter image description here

1 个答案:

答案 0 :(得分:0)

我认为正确的答案是使用union,但如果有什么我想念的话,我会很高兴听到它。

poly1 = wkt.loads("POLYGON((1 1,2 1,2 2,1 2,1 1))")
poly2 = wkt.loads("POLYGON((1.5 2,2.5 2,2.5 3,1.5 3,1.5 2))")

shared_line = poly1.intersection(poly2)
poly1 = poly1.union(shared_line)
poly2 = poly2.union(shared_line)