TrailCam

指南

GPX 文件里为什么会有好几段轨迹段

打开一份中途暂停过、被打断过,或者是拼接自好几段记录的 GPX 文件,你可能会发现里面的点不是一条不间断的列表,而是分成了好几段,都装在同一条轨迹里。这不是文件坏了,也不是两个文件粘在了一起——这是格式自己用来标记"记录本来是连续的,但这里断过一下"的办法。

先给结论

GPX 里的一条轨迹(trk 元素)不一定只装一串不间断的点。它是个容器,里面可以放一段或多段轨迹段(trkseg),每一段本身是按时间顺序排好、不间断的一串点。一条轨迹哪怕分成三段,在大多数查看工具眼里仍然是一个文件、一次记录,唯一的区别是里面的点被归到了三段连续的区间里,而不是一段。

新开一段轨迹段,是格式自带的一种标记方式,不用另开一个文件就能表示"这里断过"。分段前后的坐标跟其他任何点一样真实,什么都没变。变的是轨迹通常暗含的那个假设——相邻的点隔了几秒或几分钟——在跨过这个分段点的地方不成立了。

什么情况会分出新的一段

会出现分段的情况不少,但没有一种代表记录出了问题:

  • 主动暂停再继续。休息的时候点了暂停,过一会儿再点继续——有些 App 会在暂停的那一刻结束当前的轨迹段,恢复的时候再开一段新的,这样断点就写进了文件本身,而不只是 App 自己心里记着。
  • 不是手机自己选的中断。比如经过很长的隧道,或者电量耗尽充上电才继续,中间有一段完全没信号的空白。有些记录工具恢复记录时会另开一段,而不是假装那段时间什么都没发生过。
  • 刻意保留断点的合并方式。把一个文件的点手动粘到另一个文件的同一段轨迹段里,两段记录会看起来像是拼成了一段连续的记录。专门做合并的工具更常见的做法是,在同一条轨迹里保留两段轨迹段,而不是抹平成一段——这样"这里曾经断过"这件事就能保留下来,而不是在合并时被抹掉。
  • 把好几天写进同一个文件。有些工具不会一天存一个 GPX,而是把整趟行程写成一条轨迹,每天早上另起一段——文件只有一个,但里面每一天还是能区分出来。

地图怎么处理这段断点

断点最后画出来是什么样,完全看读文件的工具怎么处理,大部分误会也是从这里来的。能读懂轨迹段的查看工具,要么在地图上留出一段空白,要么把每一段画成各自独立的线。不理会轨迹段边界、只是按顺序把文件里所有点连起来的工具,会从一段的最后一个点直接拉一条直线连到下一段的第一个点——看起来跟一个 GPS 定位差点造成的那种突兀尖刺很像,但原因完全不是一回事。尖刺是被好点围着的某一个点自己偏了;分段跳跃是文件自己声明出来的一处结构性断点,对应的是记录之间真实存在的那段距离和时间空白。

统计数字通常比地图画得更讲究。按轨迹段分别累加距离的工具,只会把每一段里真正走过的距离加起来,不会把两段之间那条直线的距离也算成有人走过的路。经过时间就不一样了,不管分不分段,一般还是从第一个时间戳算到最后一个时间戳,因为经过时间在别的地方本来就是这个意思:人在外面的整段时间,空白也算在内。

TrailCam 能做什么

TrailCam 只在你点暂停的那一刻停止记录,点继续的那一刻重新开始,不会靠 GPS 速度去猜你是不是停下来了,暂停的那段时间也不会算进它显示的移动时间里。记录完的轨迹可以导出成 GPX 1.1,或者 CSV 汇总,单条轨迹或整段历史都行。导出属于可选的 TrailCam Pro,App 本身免费下载。

常见问题

一条轨迹里有好几段轨迹段,是不是说明 GPX 文件坏了?
不是。一条轨迹里有多段轨迹段是正常、合法的 GPX。通常意味着记录中途暂停过、被打断过,或者是几段记录合并时刻意保留了断点,而不是把它们抹平成了一段。
分段的断点在地图上是留出空白,还是拉一条直线连起来?
看用的是什么查看工具。能读懂轨迹段的工具会留出空白,或者把每段画成单独的线;只按顺序把文件里所有点连起来的工具会在断点处拉一条直线,看起来可能跟 GPS 定位跳变很像,但原因完全不同。
暂停记录,导出的 GPX 文件里就一定会多出一段轨迹段吗?
不一定,这取决于记录 App 怎么写导出文件。暂停的那段时间肯定不会算进移动时间,但它是不是真的在 GPX 文件里变成了一段新的轨迹段,是每个 App 自己的实现细节,各家不一样。

记录你自己的轨迹

TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。

在 App Store 下载