【问题标题】:How to get nearby POIs如何获取附近的 POI
【发布时间】:2010-04-18 23:02:19
【问题描述】:

我有一个包含所有兴趣点的数据库,都有一个地址。

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

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

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

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

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

我不知道我应该研究什么才能得到我想要的:-(

非常感谢任何帮助。 谢谢

【问题讨论】:

    标签: gps distance coordinate-systems


    【解决方案1】:

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

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

    对于给定的 LAT / LONG,我如何从数据库/数组中按距离获取附近的 POI?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      相关资源
      最近更新 更多