地理围栏算法

Posted

技术标签:

【中文标题】地理围栏算法【英文标题】:Geofencing Algorithm 【发布时间】:2010-05-21 10:16:20 【问题描述】:

给定一个点的纬度和经度。如何获得该点特定半径内的所有纬度和经度读数?是否有任何已知的方法可以计算相对于给定点的半径内的所有纬度和经度?

【问题讨论】:

【参考方案1】:

这种事情可以通过使用R-Tree来高效完成

【讨论】:

我得到了一个点的纬度和经度。我想要半径= 500M的所有纬度和经度读数,具体到那个给定点。有什么方法吗?有可能吗?请帮助先生? @jose:是的,这是可能的。我在回答中告诉了你的方法。【参考方案2】:

那将是非常非常多的纬度/经度!对于地理围栏,您要做的是计算距离(根据毕达哥拉斯)并根据与该点的距离决定您是否在半径之外。

如果您想更进一步,您可以计算与 2 个点相交的线的距离。

我建议你看看this site 了解一些几何公式。

【讨论】:

我得到了一个点的纬度和经度。我想要半径= 500M的所有纬度和经度读数,具体到那个给定点。有什么方法吗?有可能吗?请帮助先生?【参考方案3】:

不可能在给定点的 500m 半径范围内获得所有纬度/经度对(正如 @Cobusve 和我所指出的那样)——这样的对数是无限的。您必须更准确地告诉我们您想要什么。

为了帮助你解决问题,我建议你拿一张你感兴趣的区域的地图,选择一个点并在它周围画一个半径为 500m 的圆。这将为您提供您所追求的所有要点,并且可能会建议您为什么需要更清楚。

顺便说一句,由于距离只有 500 米,我建议你在平面几何中计算出你的答案,而忘记地球的近球形度。这种简化引入的任何不准确性都会非常小,并且会大大简化数学,我开始形成这样的观点,即这对您有用。

【讨论】:

以上是关于地理围栏算法的主要内容,如果未能解决你的问题,请参考以下文章

地理围栏算法

如何创建一个嵌入多边形以进行地理围栏的圆形地理围栏区域?

在 Objective-C 中实现一个简单的地理围栏

地理围栏是不是可以包含许多其他地理围栏

在 Google 的地理围栏教程中没有看到地理围栏转换

实施地理围栏 - 在应用程序未运行时接收地理围栏转换事件