明明站着没动,距离怎么还在涨?
在观景台歇脚、坐下吃午饭、在岔路口等队友——人明明停下来了,事后一看距离总数却悄悄多了一点。这不是手机坏了,也不是 App 出了问题,而是 GPS 被要求做一件它本来就不太擅长的事:把同一个点,一模一样地再报一次。
先说结论
GPS 每一次定位都不是绝对精确的。哪怕站在原地不动,手机每次算出来的位置也会和上一次差个一两米,因为这个计算每次都是从头来过,而不是记住上一次的结果。轨迹是把相邻两点之间的直线距离一段段加起来算出来的,它没法区分"没动、只是定位飘了"和"确实走了一米"。几分钟里往不同方向飘个几十次,这些本来毫无意义的小跳动加起来,就变成了一段实实在在能算进总数的距离,哪怕你一步都没挪。
这是 GPS 本身的正常波动,不是记录出了问题。而且相对一整趟徒步的总距离来说,一次几分钟的停留通常影响很小。
人没动,为什么定位还在动
GPS 定位是靠同时接收好几颗卫星信号、比较它们到达的时间差算出来的。这个计算结果取决于当时能看到哪些卫星、每颗信号强不强,还有信号是不是直接照过来的,还是先撞到什么东西反射了一下才到(这种反射叫多径效应,靠近岩壁、树林或建筑物时特别常见)。你不动,这些条件却一直在变:卫星在天上移动,刚才还很干净的信号可能忽然被旁边一块石头反射了一下,接收机每次都要重新算一遍。结果就是,对着"我现在在哪"这同一个问题,每次给出的答案都稍微不一样。
视野开阔的地方,这种飘动的幅度比较小;山坳或树荫底下天空被挡得厉害,同样歇十分钟,多出来的距离会更明显一点。
这样到底能多算出多少距离
没有一个固定的数字,要看当时信号有多不稳、又站了多久。大致给个感觉:定位如果每次飘个几米,每一两秒记一个点,站上几分钟,等你重新动起来的时候,可能已经多算出几十米的"幽灵距离"。盯着实时数字看会注意到,但对一趟几公里的总距离来说,通常改变不了什么。
道理和地图上一个孤立的尖刺差不多——不太会影响最终的总数。一趟长途徒步是由成千上万个点组成的,一小段飘动的点只占其中很小一部分。真正值得留意的情况,是路线本身比较短,或者中途歇了好几次长时间的脚,这时候飘出来的那部分在总数里占的比例才会明显起来。
为什么有的 App 处理得比别的好
在意这个问题的记录 App,通常用两种办法来处理。一种是盯着 GPS 算出来的速度,低于某个门槛就当作静止,暂时不往距离里加;另一种是靠你自己在停下来的时候手动暂停记录,这样一来干脆什么都不记,飘动自然也就没机会往距离里掺东西。
靠速度门槛判断不是完美的办法:门槛定低了,真正站定时的飘动还是会漏过去;定高了,在乱石地上走得很慢的真实移动又会被误判成没动。这也是为什么让自己手动告诉 App"我停下来了",比让它单靠 GPS 信号去猜,通常能得到更干净的数字。
这个数字该怎么看
停留期间距离慢慢往上爬这件事,不用较真去追究——这是用无线电信号测位置、而不是用测距轮量出来的代价,本来就该有。一趟正常长度的徒步,把最终的距离总数当成"大致准"而不是"精确到米"来看,反而更贴近你走这一趟的实际感受。
但如果是站着不动的时候,某一次更新突然跳出去几百米,而不是慢慢往上飘,那就是另一回事了——这跟地图上那种由单个坏定位点造成的明显尖刺是同一类问题,值得看一眼,而不是一笑而过。
TrailCam 可以把路线暂停、之后再继续记录,暂停的这段时间不算进行动时间,也就从源头上避免了长时间的停留悄悄给轨迹加距离。
常见问题
- 只是站着歇一会儿,距离真的会多算吗?
- 会多算一点。GPS 定位哪怕在静止时也会有一两米的飘动,轨迹又是把这些点之间的距离加起来算的,没法判断你到底动没动。只要停留时间不长,对整趟徒步距离的影响通常很小。
- 是不是每次停下来都该按暂停?
- 要确保长时间停留不给距离掺水,暂停是最可靠的办法。如果只是短暂歇一下,飘动本身的量就很小,其实不用每次都特意去按。
- 这跟地图上那种一个点的尖刺有什么不一样?
- 尖刺是某一个点偏离真实位置很远,在地图上连出一个很明显的三角形。静止时的飘动则是一堆看起来毫无问题的点,各自在真实位置附近的几米范围内晃来晃去,距离是悄悄地一点点加上去的,不是一下子跳出来的。
记录你自己的轨迹
TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。