Python中的Haversine公式(两个GPS点之间的方位和距离)
问题
我想知道如何获得2个GPS点之间的距离和方位 。 我研究了半胱氨酸的配方。 有人告诉我,我也可以使用相同的数据find方位。
编辑
一切工作正常,但轴承还不正常。 轴承输出负值,但应在0 – 360度之间。 设定的数据应该是水平轴承96.02166666666666并且是:
Start point: 53.32055555555556 , -1.7297222222222221 Bearing: 96.02166666666666 Distance: 2 km Destination point: 53.31861111111111, -1.6997222222222223 Final bearing: 96.04555555555555
这是我的新代码:
from math import * Aaltitude = 2000 Oppsite = 20000 lat1 = 53.32055555555556 lat2 = 53.31861111111111 lon1 = -1.7297222222222221 lon2 = -1.6997222222222223 lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * atan2(sqrt(a), sqrt(1-a)) Base = 6371 * c Bearing =atan2(cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon2-lon1),