小编ZL-*_*tic的帖子

Shapely的almost_equals函数如何处理起点和误差?

以下是具有相同点集但起点/舍入误差不同但方向仍然相同的多边形。

poly1 = Polygon([(0,0),(0,1),(1,1),(1,0)])
poly2 = Polygon([(0,1),(1,1),(1,0),(0,0)])
poly3 = Polygon([(0,1),(1,1.00000001),(1,0),(0,0)])
poly4 = Polygon([(0,0),(0,1),(1,1.00000001),(1,0)])
Run Code Online (Sandbox Code Playgroud)

问题1:poly1.almost_equals(poly2)返回Falsepoly1.equals(poly2)返回True。所以equals可以处理不同的起点但almost_equals不能。

问题2:poly1.almost_equals(poly3)返回Falsepoly1.almost_equals(poly4)返回True。因此almost_equals可以处理舍入误差,但起点仍然不同。

这是almost_equals函数应该表现的方式吗?我认为具有不同起点的多边形仍然是相同的多边形,应该如此对待。有方便的方法来解决这个问题吗?我有一个复杂的自定义解决方案,但我想知道这样的操作是否已在 Shapely 中实现。

python polygon shapely

3
推荐指数
1
解决办法
2503
查看次数

标签 统计

polygon ×1

python ×1

shapely ×1