为什么跑步机上 GPS 记录不出轨迹
GPS 接收器靠计算卫星信号到达的时间差来算出自己的位置,这套办法的前提是头顶有一片开阔的天空。跑步机待在屋顶下面,通常还围着墙,这恰好是 GPS 最不擅长应付的处境。用基于 GPS 的 App 记录一次跑步机训练,出来的不会是一条稍微粗糙一点的户外轨迹,而是几乎什么都没有——因为 GPS 算距离唯一依赖的那样东西,正好被跑步机整个拿走了。
简单说
GPS 算距离,靠的是比较前一刻和这一刻的位置,而在跑步机上,这个位置基本不会变——你是相对于传送带在移动,不是相对于卫星拿来做基准的那片地面。室内本身信号也偏弱、容易被遮挡,所以记录下来的跑步机训练,通常是一条几乎不动的轨迹,最多带点信号噪声造成的小幅漂移,跟实际跑出去的距离对不上号。
GPS 接收器到底需要什么
GPS 接收器同时接收好几颗卫星发来的信号,靠比较它们到达的时间差,用三角定位算出自己在哪。这些信号传到地面时已经很弱了,接收器和开阔天空之间只要多一层屋顶、楼板或墙,信号就会进一步衰减——有时衰减到根本定不了位,就算定得了位,精度也往往比户外差一大截。健身房恰好常常是用混凝土、钢结构、一层叠一层的楼板搭起来的,条件比一般室内还糟。
跑得再拼也不会体现在记录里
这里最容易让人想不通:跑得多用力,跟 GPS 测出来的距离,根本是两回事。GPS 接收器没有任何办法感知你跑得多卖力、腿摆动得多快,或者要是地面不在动,你本来能跑出多远——它只测一件事:接收器自己这一刻在空间里的位置。在跑步机上,不管坡度怎么调、速度怎么变,这个位置基本不变,因为传送带替你把你和地面的相对位置固定住了。这不是 App 在记录时漏掉了这份努力,而是压根没有位置变化可供它记录。
跑步机自己显示的数字,测的是完全另一件事
跑步机面板上的距离来自完全不同的算法——传送带跑多快、跑了多久,两者相乘。这个算法跟卫星没有任何关系,也不在乎机器和天空之间隔了什么,所以哪怕在没有窗户的地下室健身房,手机 GPS 几乎定不到位的地方,它照样正常工作。这是对传送带本身的直接机械测量,不是对位置的估算,跟 GPS 轨迹看着相关,其实解决的是两个不同的问题。
站到窗边也解决不了根本问题
- 隔着玻璃能看到一部分天空时,接收器有时能定出一个大致位置;要是房间完全封闭,往往连这个都拿不到。
- 能定位,只说明接收器大概知道自己待在哪个位置,并不代表它能捕捉到你在同一个位置的传送带上迈开的这些步子。
- 这种情况下记录出来的轨迹,多半是围着一个点小幅晃动,而不是一条真实的路线——因为接收器汇报的位置是真的(只是带噪声),而这个位置本身就没往哪儿去。
这是 GPS 本身的局限,不是某个 App 的问题
以上这些跟具体是哪款 App、哪部手机都没关系,根子在于 GPS 测的就是位置,而位置的计算又要靠卫星信号穿过开阔天空才能传到接收器。任何一款围绕 GPS 记录搭建的 App,进了室内都会撞上同一堵墙,因为没有哪种设计能绕开一个压根没传到接收器的信号。计步器式的统计,或者跑步机自己按传送带速度算出的距离,解决的其实是跟 GPS 轨迹完全不同的问题,所以两边的数字放在一起对比,经常对不上。
TrailCam 能做到什么
TrailCam 会在你在外面的整段时间里用 GPS 记录路线,这个描述本身就假定了户外确实有一条路线可以跟随。它不是为室内这种地面本身不会往后退的场景设计的,跑步机训练也不在它想解决的问题之列——开阔场地上的路径比茂密树林里的路径记录得更干净,靠的正是同一份"需要开阔天空"的条件,而这份条件,直接把有屋顶的房间排除在外。TrailCam 免费下载。
常见问题
- 跑步机上记录,距离会显示成正好是零吗?
- 通常不是刚好为零,而是接近零。室内 GPS 信号偏弱,容易带上一点位置噪声,在地图上表现为轻微晃动,但跟实际在传送带上跑出去的距离完全对不上。
- 站在窗边会不会让跑步机上的 GPS 好用一点?
- 对接收器能不能定位这件事有点帮助,毕竟看到一部分天空总比完全看不到强。但解决不了根本问题:接收器没办法感知那些不属于真实位置变化的动作,而跑步机本身的设计,就是要把你的位置基本固定住。
- GPS 在室内不好使,跑步机自己的距离显示为什么却很正常?
- 因为测的完全是另一回事——传送带的速度乘以运行时间,直接从机器本身读出来的数值,不需要卫星,也不需要开阔天空,所以哪怕在 GPS 吃力的封闭空间里,它照样照常工作。
记录你自己的轨迹
TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。