如何通过两组GPS经纬度坐标计算移动速度?
问题解决:通过GlobalSat BU-S353S4 GPS接收器计算移动速度
设备与前期实现
- 我在用之前购买的GlobalSat GPS Receiver(型号BU-S353S4),设备运行正常
- 参考Cody Wilsons的说明文档,已经成功读取设备的GPS信号,并用Python库
pynmea2解析GPGGA输出,转换成了经纬度坐标
遇到的卡点
- 想通过两个连续位置计算当前移动速度,找了涉及Haversine公式的相关内容编写测试代码,但结果一直返回
0.0,猜测可能是移动距离过短导致的精度问题 - 知道速度计算公式为
速度=距离/时间,也清楚pynmea2有timestamp属性,但不知道如何结合这些实现计算
最终解决方式
因为该GPS接口每秒更新一次位置数据,所以直接用计算出的两点距离乘以3600(将每秒的距离换算为每小时的距离,得到km/h单位的速度),修改代码后成功实现了速度计算功能。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

