GPX 文件里会包含运动时间吗?
在 GPX 文件里搜"运动时间",什么都搜不到,就像搜"配速"也搜不到一样。轨迹点记录的只是位置、海拔和时间戳,一路走下来反复写入,这套结构里没有任何地方把"在动"的时间和"没在动"的时间分开记。徒步结束后看到的运动时间,是打开文件的那个 App 拿着这些光秃秃的时间戳,事后自己算出来的。
先说结论
没有。GPX 轨迹点能装的就是纬度、经度、海拔、时间这四样,仅此而已。格式里没有任何一项用来记录一段路走了多久、又停了多久或原地待了多久。徒步报告里的运动时间,是拿点和点之间的时间差事后算出来的一个数字,不是从文件里直接读出来的值。
一个轨迹点到底装了什么
GPX 文件是一层套一层的结构:一条轨迹里有一个或多个分段,一个分段里是按时间顺序排好的点,每个点又都是同样几个字段——纬度、经度、海拔、时间。除此之外什么都没有。没有哪个标记能说明这个点是"在动"还是"没动",也没有哪里累计着花在其中一种状态上的时间。GPX 文件的任务是记下你什么时候在哪儿,至于配速、运动时间、爬升量这些数字,全都留给打开它的软件自己去算。
分段的断点只是线索,算不上答案
一条 GPX 轨迹可以被拆成好几段,有些 App 会在你暂停时把当前分段收尾,恢复记录时再开一段新的,所以一次有意的休息确实有可能在文件里留下痕迹。但这条线索本身有两个缺口。第一,不是每个记录软件遇到暂停都会另起一段,很多干脆就用一条不间断的分段,把时间上的空白直接交给时间戳去体现。第二,更常见的情况——蹲下拍张照、在观景点喘口气、等一等同伴,但从头到尾没点暂停——分段断点对此完全没有交代。这些片刻依旧是普普通通的轨迹点,位置挨得很近,时间却照样往前走,光看数据根本分不清这是走得特别慢,还是根本没在走。
同一个文件,两个 App 打开为什么会算出不同答案
运动时间不是文件里写死的事实,而是一种判断,所以哪个 App 打开 GPX 文件,就由那个 App 自己划一条"算动"和"不算动"的线——常见的做法是设一个速度门槛,低于这个速度的路段就不计入运动时间,但门槛具体定多少、判断得多严格,完全是每个 App 自己的事。把点、海拔、时间戳完全一样的同一个文件丢给两个不同的 App,算出两个不一样的运动时间是完全可能发生的事。两个数字都没有错,只是各自的 App 对一个文件本身没有给出答案的问题,给出了自己的回答。
TrailCam 在这里做了什么
TrailCam 是在徒步进行的当下算运动时间,而不是事后从文件里反推——你点了暂停,它就知道这一段停下来了,结束时展示的运动时间里已经把这一段刨掉了。这个数字是当场定下来的,不是事后看着原始点猜出来的,所以在导出整段历史的 CSV 里,它可以老老实实地作为单独一列存在。同一条路线导出成 GPX,会带上所有记录下来的点,画地图、看海拔曲线都够用,但和所有 GPX 文件一样,里面本来就没有留位置给运动时间这个总数。GPX 1.1 和 CSV 导出都是可选的 TrailCam Pro 功能,App 本身免费下载。
常见问题
- 把徒步导出成 GPX,App 里看到的运动时间会丢吗?
- 严格来说谈不上"丢",因为这个数字本来就不是格式能存下来的东西。GPX 文件会保留所有记录下来的点,画地图、看海拔曲线都够用,但运动时间是另外一回事,得靠导出后打开文件的那个 App 重新算一遍。
- 既然暂停会新建一个分段,是不是看分段就能准确知道运动时间?
- 只能说明一部分。分段断点确实能标出一次有意的暂停,但很多记录软件遇到暂停并不会另起一段,而没点暂停就站着不动的情况——比如停下拍张照——分段断点完全不会有任何交代。一趟徒步里大部分的静止时间,其实根本不会在文件里留下标记。
- CSV 导出对运动时间的处理跟 GPX 不一样吗?
- 是的。CSV 摘要是一行对应一趟徒步的扁平表格,可以把算好的运动时间直接放成单独一列。GPX 文件里只有原始的轨迹点,没有对应的位置去存放一个算好的总数。
记录你自己的轨迹
TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。