【发布时间】:2018-03-09 03:48:23
【问题描述】:
我在我的应用程序中使用Turf.js 进行高级地理空间分析,但找不到检查两个多边形是否相互交叉的方法。 Intersect 方法不是我想要的,因为如果我有一个小多边形并且想要找到穿过这个小多边形的多边形,这个方法将返回包含这个较小多边形的大重叠多边形。
让我直观地解释一下。所以,这是我拥有的多边形:
在这种情况下,多边形相互交叉:
在这种情况下,我认为它们不相交:
在最后一种情况下,绿色多边形的边界不与较小的多边形相交,因此它们不相交。
而我的问题是,是否可以在 Turf.js 中实现这种交集函数?
【问题讨论】:
-
只有当它们的周长相互交叉时,你才认为它是交叉点...我认为红色实际上与绿色交叉点...
-
在我的情况下,这两个多边形是不等价的。我使用红色的作为选择工具,并希望找到与该选择区域相交的所有多边形。根据用户要求,包含这个较小多边形(用于选择)的较大多边形不要相交
-
虽然,可能在较新版本的 Turf.js 中 booleanCrosses 可以解决问题
标签: javascript geospatial turfjs