如何获得附近的POI

时间:2010-04-18 14:43:37

标签: gps distance coordinate-systems

我有一个感兴趣的数据库都有一个地址。

我想知道方法/名称/来电是什么来从指定位置获取所有附近的 POI。

我知道我至少需要将所有地址转换为LAT / LON坐标,但我的问题是:

对于给定的LAT / LONG,我如何从数据库/阵列中获取距离附近的POI,例如:

你在这里0,0   2km半径中最近的POI是:

  • POI A(1.1公里)
  • POI C(1.3公里)
  • POI F(1.9公里)

我不知道应该考虑什么才能得到我想要的东西: - (

非常感谢任何帮助。 谢谢

1 个答案:

答案 0 :(得分:2)

  

我想知道从给定位置获取所有附近POI的方法/名称/调用是什么。

使用great-circle distance可以轻松计算两个纬度/经度坐标之间的haversine formula。您可能希望进一步阅读并查看Chris Veness在Calculate distance, bearing and more between Latitude/Longitude points的实施情况。

  

对于给定的LAT / LONG,如何从数据库/阵列获取距离附近的POI?

如果您只有少数POI,您可以简单地计算从您的点到每个POI的大圆距离。然后只需按距离对结果列表进行排序。

但是,如果您将拥有多个POI,则应考虑使用具有spatial indexing功能的数据库。 MySQLPostgreSQLSQL Server 2008都具有地理空间特征(本地或通过扩展),其中包括空间索引和半正式公式的实现。