我希望创建一个函数,使用勾股定理而不是haversine大圆公式来计算两个经纬度对之间的距离。由于此函数将用于相对较短的距离(3公里),因此我认为这个假设地球是平的版本应该没有问题。我该如何做?我在互联网上查找并没有发现任何有用的信息。:)
谢谢。
编辑:
这是我想到的代码(似乎可行):
谢谢。
编辑:
这是我想到的代码(似乎可行):
def get_dist(lat0, lng0, lat1, lng1)
begin
d_ew = (lng1.to_f - lng0.to_f) * Math.cos(lat0.to_f)
d_ns = (lat1.to_f - lat0.to_f)
d_lu = Math.sqrt(d_ew.to_f * d_ew.to_f + d_ns.to_f * d_ns.to_f)
d_mi = ((2*Math::PI*3961.3)/360)*d_lu
return d_mi
rescue Exception => ex
logger.debug "[get_dist] An exception occurred: #{ex.message}"
return -1
end
end