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

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

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

【问题讨论】:

标签: ruby-on-rails geocode rails-geocoder


【解决方案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%。

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 2015-08-14
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    相关资源
    最近更新 更多