Turfjs有没有办法确定LineString与多边形边界相交的坐标?
有很多方法可以找出一个点是否在多边形内,以及多种方法来确定一个点是否在一条线上等等,但我似乎无法想象找出一种方法来询问"这条线与这个多边形的边界相交的位置" 。
我可以使用线交叉算法枚举多边形中的点以找到该点,但我想知道是否还有更多"草皮"这样做的方式。
对于上下文,我已经加载了GPX曲目,并且想要估计曲目进入/退出定义区域的位置/时间。
因为GPX轨道仅以特定间隔记录位置,所以通常情况是在时间tN记录的pN在区域之外并且在时间tN + 1记录的pN + 1在该区域内。 如果我可以得到哪条线(pN,pN + 1)与多边形边界相交的点,我可以估计轨道穿过多边形的确切时间。
答案 0 :(得分:2)
最终,turfjs似乎没有这样做的API。
我能够通过枚举GeoJSON对象中多边形中的点来构建一系列线段然后使用maxogden/geojson-js-utils linesIntersect
函数来测试交点来获得我想要的答案
答案 1 :(得分:0)
我没有看到一个完全相同的Turf函数,但有intersect,它找到两个多边形之间的交叉区域。
你可以:
不完全优雅,真实。 :)
修改
试过这个。如果其中一个多边形为零区域,则Turf-intersect不会返回交叉点。