GPS普及知识

三亚老刘

<p class="ql-block">相关链接</p><p class="ql-block"><a href="https://www.meipian0.cn/4z15lab4" rel="noopener noreferrer" target="_blank">20231212苏骞横渡大洲岛+洲仔岛</a></p><p class="ql-block"><a href="https://www.meipian0.cn/4z21poff" rel="noopener noreferrer" target="_blank">20231213苏骞横渡加井岛-旅游浮潜打卡最佳点珊瑚多多</a></p><p class="ql-block"><a href="https://www.meipian0.cn/4yzoo9bf" rel="noopener noreferrer" target="_blank">20231211苏骞横渡万宁白鞍岛-甘蔗岛 全程语音导航</a></p><p class="ql-block"><a href="https://www.meipian0.cn/4yuwmbut" rel="noopener noreferrer" target="_blank">2023-12-07再次西鼓东锣两岛联渡</a></p><p class="ql-block"><a href="https://www.meipian0.cn/4zfeq7c4" rel="noopener noreferrer" target="_blank">回忆十年前的2013-12-26横渡东岛</a></p><p class="ql-block"><a href="https://www.meipian0.cn/4z3s4wr9" rel="noopener noreferrer" target="_blank">海游直线-手表自我导航。--部分轨迹展示</a></p><p class="ql-block"><a href="https://www.meipian0.cn/4ynzzm46" target="_blank" data-link="create">语音导航器样机实测1</a></p> <p class="ql-block"><br></p><p class="ql-block">GPS基础知识普及教程:</p><p class="ql-block"><br></p><p class="ql-block">让大家了解一下为什么GPS设备记录运行轨迹后会有较大出入,和怎样正确理解和使用GPS设备。</p><p class="ql-block">我讲的GPS设备,包含所有的带GPS(或北斗,伽利略,格洛纳斯,等。现在,GPS就是一个俗称或统称了,下面所有的表达,都是统称GPS。)定位功能的硬件,具体就是:专用定位设备,手机,手表,等等。</p><p class="ql-block">---</p><p class="ql-block">GPS基本功能就是实时定位,通常就是每秒钟接收(获得)一次设备此时刻此地理位置的经纬度数字。无论你走不走动,设备都在运行(通电情况下)接收经纬度数据。硬件设置不同, 接收信息的频率不同, 我们假设都是常见的默认值: 每秒一次,其他不去管。</p><p class="ql-block">最基本数据有三个项目:</p><p class="ql-block">时间,经度,纬度。</p><p class="ql-block">当然还有其他若干个数据,例如速度,海拔高度,卫星个数,等等,暂时不去管它。</p><p class="ql-block">设备接收基本数据后,就会存储在设备的Rom/Flash里,白话就是存在内存里,或者说存储在掉电不丢失数据的存储器里。具体格式如下:</p> <p class="ql-block">一次户外活动记录运行轨迹, 需要几百个至几千个记录点(根据运行时间不同和记录方式不同),然后将这些记录点展现在地图上,显示出轨迹图形, 即运行轨迹。</p><p class="ql-block">以上是所有厂家的共同之处。</p><p class="ql-block"><br></p><p class="ql-block">不同之处: 软件是各厂家自己写的, 计算轨迹的时间是不会有出入的, 各家都一样, 卡住一头一尾即可。</p><p class="ql-block">但是, 在计算轨迹长度上各家会有较大的区别, 各家的轨迹过滤器写法不同, 过滤阈值不同, 记录点的稀密不同(Zepp就是一秒一个记录点,松拓就是20米一个记录点),算法有很大区别! 具体算法就是:</p><p class="ql-block">距离=每个记录点之间的距离之和! (我的语音导航器算法也是一样的)</p><p class="ql-block">想一想, 其结果就是会有五花八门的长度结果, 很难说谁准谁不准! 谁都准, 谁也不准!</p><p class="ql-block">但是, 无论如何, 计算的结果不会有很大误差! 都是在一个合理范围内!</p><p class="ql-block">距离不准,当然速度也就不准了。</p><p class="ql-block"><br></p><p class="ql-block">解释一下:</p><p class="ql-block">1- 各家的计算方法都是数学运算(包括三角函数), 小数点后有足够的精度位数, 所以误差不是数学运算误差!误差来自于“GPS实时定位的精度误差”!!! 这是核心问题! 现在的GPS硬件已经有了很大的精度和准确性的提高! 因为是民用GPS硬件(不是军用), 所以精度和准确性就是现在的水平!</p><p class="ql-block">已经足够用了! 民用完全可以胜任了! 厂家宣传的精度是10-20米, 淘宝上甚至说1-3米。 实测是10米左右。 户外运动及导航角度看,定位精度10米足够用了, 足够准确了! 落实到轨迹上, 基本可以准确地描绘出你走过的路线! 导航也足够满足需求的! 你去仔细看一看每一次运动后的轨迹, 很少发生大幅度跳跃脉冲波轨迹。 假如GPS发生脉冲波记录点, 软件的过滤器也会过滤掉那些虚假的记录点!</p><p class="ql-block">所以说, 轨迹是比较好看的, 比较圆滑的, 比较真实的!正因为这一点, GPS导航这些年才发展这么快这么普及, 尤其是车载导航! 有些人甚至离开高德百度导航就不会开车了! 以上是一个方面。</p><p class="ql-block">2- 另一方面, 就是轨迹长度/距离问题了。上面的问题并没有彻底解决距离计算的准确度! 会降低误差,不会根本解决问题! 距离长度是一个个记录点累计出来的, 但从数学上讲, 累计误差是很小的,运算不会出问题!问题在: 每个点的定位精度/准确度存在合理误差, 累计起来就是一个很大的误差了! 想一</p><p class="ql-block">想, 多个卫星信号时从几万公里外接收下来的, 通过技术手段获得地理定位, 存在多个时间误差(虽然原子钟已经很准了),多个信号传输过程中的干扰误差,其结果就是: GPS不动,它每秒钟接收到的经纬度数据也会在几米范围内波动,甚至到几十米! 以上是实测数据! 再加上游泳, 卫星信号接收的不很好,自由泳也有一半时间在水里。大框上讲,自由泳不影响卫星信号的接收和实际使用效果, 微观讲, 会有一定的干扰, 但是不影响实际使用效果。正是因为每次接收的定位数据有几米级别的误差, 这个误差对于定位来说没有影响, 对导航也没有影响,但是, 对于计算距离长度来讲, 就是很大的误差了! 所以,各家设备最后报出来的距离长度都不一样! 谁都准, 谁都不准!都在合理误差范围内! 不影响实际使用!</p><p class="ql-block">用户就要分析着去看去使用这些运算结果! 每个设备都有自己的规律和特点,</p><p class="ql-block">例如: Zepp(华米手表)公开水域游泳出来的数据就会很小, 它的过滤器做的“狠”, 过滤掉一切可能的虚假数据!两步路软件也如此! 松拓就会宽松的多, 能反映出泳者左右来回游行的弯道距离, 更加接近泳者实际游过的距离!</p><p class="ql-block">3- 以上是讲基础知识。 实际上, 我每次使用时, 尤其是每次横渡活动, 为了获得更加准确的泳者真实实际的游行距离, 我还是将原始记录轨迹导入奥维软件上, 进行专门的技术处理, 这样的距离长度更科学,更真实! 奥维计算过的距离, 总距离数字就可以达到米级精度。 </p><p class="ql-block">注意问题:</p><p class="ql-block">不同游泳泳姿,会有较大出入。手表蛙泳全部在水里,没有卫星信号,几乎是无效。 </p>