openlayers如何判断两个多边形是否相交

openlayers绘制了两个多边形,如何判断这两个多边形是否相交

希望能检测出相交。

clipboard.png

阅读 7.9k
1 个回答

openlayers中没有提供该API,不过提供了一个intersectsCoordinate,用于监测一个点是否在该geometry内。利用这个API可以自己封装一个方法

比如有A、B两个多边形
1、遍历A多边形上的点,判断是否有坐标点在B多边形内 --- 返回结果 a
2、遍历B多边形上的点,判断是否有坐标点在A多边形内 --- 返回结果 b

如果a、b都为true,则两个多边形相交
如果a为true,b为false,则多边形B包含多边形A
如果a为false,b为true,则多边形A包含多边形B
如果a、b都为false,则两个多边形远离

上面是利用openlayers自身的API封装的方法,除了这种方法,还可以利用第三方地理空间分析库来解决,如 turf.js
相交 -- turf

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题