我有一个感兴趣的数据库都有一个地址。
我想知道方法/名称/来电是什么来从指定位置获取所有附近的 POI。
我知道我至少需要将所有地址转换为LAT / LON坐标,但我的问题是:
对于给定的LAT / LONG,我如何从数据库/阵列中获取距离附近的POI,例如:
你在这里0,0 2km半径中最近的POI是:
我不知道应该考虑什么才能得到我想要的东西: - (
非常感谢任何帮助。 谢谢
答案 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功能的数据库。 MySQL,PostgreSQL和SQL Server 2008都具有地理空间特征(本地或通过扩展),其中包括空间索引和半正式公式的实现。