《GPS速度与航向计算》是一篇详细介绍如何利用全球定位系统数据来精确测量物体移动速度和方向的技术文章。通过解析卫星信号,该文深入探讨了算法在航海、航空及车辆导航中的应用,为提高定位精度提供了实用指导。
两个时间点的经纬度坐标为 (lat1, lon1) 和 (lat2, lon2)。由于应用场景是在海面上,因此设定高程为 0,则这两个时间点的大地坐标分别为 (lat1, lon1, 0) 和 (lat2, lon2, 0),其中类型 COORDBLH 的成员 B 表示纬度、L 表示经度、H 表示高程。
具体步骤如下:
1. 使用函数 cc_ecef_land2right 将坐标 (lat2, lon2, 0) 转换为空间直角坐标 (x2, y2, z2),其中坐标系参数使用宏 DECL_CSPARA_ARRAY_ELEM 声明,宏的参数为 a=6378137、f=1.0/298.257223563 和 omgedot=7.2921151467e-5。
2. 以 (lat1, lon1) 作为基准位置,使用函数 ccrc_ecef2tccs 将空间直角坐标 (x2, y2, z2) 转换为站心坐标系下的坐标 (de, dn, du)。
3. 计算航速:航速 = sqrt(de^2 + dn^2)/(t2-t1),其中 t2 和 t1 分别是两个时间点的时间值。
4. 真北航向计算公式为真北航向 = arctan2(de, dn)。如果结果小于 0,则在结果上加上 360 度,以确保角度范围正确。