如何快速估算两个(纬度,经度)点之间的距离?

如何快速估算两个(纬度,经度)点之间的距离?,第1张

如何快速估算两个(纬度,经度)点之间距离

Python中Haversine公式的答案(两个GPS点之间的轴承和距离)提供了可以回答您问题的Python实现。

使用下面的实现,我在一台旧笔记本电脑上 不到1秒的 时间内 执行了100,000次迭代
。我认为对于您来说,这应该足够了。但是,在优化性能之前,应该先概要分析所有内容。 ``

from math import radians, cos, sin, asin, sqrtdef haversine(lon1, lat1, lon2, lat2):    """    Calculate the great circle distance between two points     on the earth (specified in decimal degrees)    """    # convert decimal degrees to radians     lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])    # haversine formula     dlon = lon2 - lon1     dlat = lat2 - lat1     a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2    c = 2 * asin(sqrt(a))     # Radius of earth in kilometers is 6371    km = 6371* c    return km

低估

haversine(lat1, long1, lat2, long2) * 0.90
或您想要的任何因素。我看不出将误差引入您的低估是多么有用。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5674180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存