如何从Python中的2个GPS坐标计算速度,距离和方向(度)?每个点都有纬度,长度,时间。
我在这篇文章中找到了Haversine距离计算:
Calculate distance between 2 GPS coordinates。
它还有一个用于速度和方向的Java版本,但它们是公制的,我需要MPH,并且在Python中。
答案 0 :(得分:2)
尝试使用pyproj。我必须确定处理LOB的项目的距离(以及其他事项),我发现pyproj非常宝贵。 (注意:我的观点是MGRS格式,必须先转换为纬度/经度)
_GEOD = pyproj.Geod(ellps='WGS84')
_MGRS = mgrs.MGRS()
def dist(sp,ep):
try:
# convert start point and end point
(sLat,sLon) = _MGRS.toLatLon(sp)
(eLat,eLon) = _MGRS.toLatLon(ep)
# inv returns azimuth, back azimuth and distance
a,a2,d = _GEOD.inv(sLon,sLat,eLon,eLat)
except:
raise ValueError, "Invalid MGRS point"
else:
return d,a
答案 1 :(得分:1)