如何检查给定坐标是否属于多边形? (离线地理围栏)

时间:2014-04-23 08:02:59

标签: javascript algorithm geolocation leaflet geofencing

我在前端使用Leaflet draw地图来绘制多边形。

绘制多边形后,我的数组中包含这些多边形的坐标(纬度,经度)。

最后,如果给定点(纬度,经度)属于某个多边形,我需要检查后端(在离线模式下)。

我明白,这应该是可能的。但是地球是一个球体,多边形位于地面上,我不知道如何做到这一点。

如何检查?

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是使用在多边形类中具有功能的地图提供来检查该点是否在其中。

如果你的产品没有它,那么你需要自己做数学部分,这里有一些帮助你开始的一些帮助的链接:

  1. Point in polygon queries @ wikipedia
  2. Some Codes and explanations at GeeksforGeeks
  3. Older question on the topic here at SO

答案 1 :(得分:0)

您可以将角度保持在-180和180之间,然后在聚合物测试中使用一个点:Easy way to keeping angles between -179 and 180 degrees