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或您想要的任何因素。我看不出将误差引入您的低估是多么有用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)