纬度/经度计算的总和指定地图距离吗?

Posted

技术标签:

【中文标题】纬度/经度计算的总和指定地图距离吗?【英文标题】:is the total of a lat / long calculation specify the map distance? 【发布时间】:2021-09-06 06:55:00 【问题描述】:

我们在工作中使用 rails geocoder gem,但希望开始获取存储在 memcached 中的一组位置的最近位置(即不使用 ActiveRecord 接口)。它会像计算我们的起点和不同地点之间的数值差异一样简单吗?还是我应该注意其他计算?

这仅适用于地图距离,不适用于街道距离或交通距离。地理编码器是否支持这种计算?

【问题讨论】:

***.com/a/32672885/438992 可能会有所帮助。 【参考方案1】:

Geocoder::Calculations.distance_to 可以用半正弦公式得到两点之间的距离:

coordinates = [[1, 1], [-2, 1], [3,2]]
hash = coordinates.each_with_object() do |latlng, memo|
  memo[latlng] = Geocoder::Calculations.distance_between(latlng, location)
end

hash.min # [[-2, 1], 154.49109373250715]
hash.max # [[3, 2], 249.0844867974628]

半正弦公式对于大多数用途来说已经足够好,但没有考虑到地球是一个不太完美的球体这一事实,并且不能保证它的正确率优于 0.5%。

【讨论】:

以上是关于纬度/经度计算的总和指定地图距离吗?的主要内容,如果未能解决你的问题,请参考以下文章

两个纬度/经度点之间的谷歌地图距离计算?

使用纬度和经度iphone地图上两点之间的距离方程

使用距离和纬度和经度计算位置

我需要使用现有的纬度/经度、距离和方向来计算纬度/经度

怎么算经纬度和距离呢?

如何计算地图中不同标记的距离,然后选择至少一个