TrailCam

指南

为什么记录得越久,GPX 文件就越大?

因为 GPX 文件不是徒步结束时算出来的一个数字,而是沿途一路记下来的一长串点,文件大小说到底就是把这串点写成文本的结果。记录得越久,这串点就越长。这里没有被漏掉的压缩技巧,也不是哪里设置错了——老老实实记录得更久,文件自然就该更大。

简单说

GPX 轨迹是一串点,整个行程里这些点大致按同样的间隔被记录下来。走的时间翻一倍,其他条件不变的话,点数大致也会翻一倍,而每个点给文件添加的字节数几乎是固定的。文件大小跟着记录了多久走,而不是跟着走了多远,也不跟路线好不好看有关。

一个点到底占多少字节

GPX 是纯文本的 XML,不是紧凑的二进制格式,所以每个点都是以看得懂的标签和数字写出来的,而不是压缩打包的比特。一个轨迹点通常带着经度、纬度、海拔和时间戳,各自包在自己的标签里,外面再套一层结构。加起来大概每个点上百字节——单看不多,但轨迹里的每一个点都会重复这份开销。

点数只有几百的短途散步,文件通常只有几十 KB。点数上到几千的长天数徒步,也就按比例大上去。这两个数字放在现在的手机面前都不算大,这也是 GPX 文件大小在实际使用中很少成为问题的原因。但只要知道被计入的是什么,记录时长和文件大小之间的关系其实很直观。

为什么记录时长比距离更相关

很容易想当然地以为路线更长,文件就更大,但更直接的推手其实是时间,不是走了多远。记录类 App 是按着时钟走的节奏、以差不多固定的间隔记点,不管你是在下坡段走得快,还是在陡坡上走得慢。两次时长相同的徒步,就算其中一次的距离是另一次的两倍,点数和文件大小也会差不多,因为一路被计入的是流逝的时间,不是走过的米数。

这也是为什么,如果 App 在停下休息时会暂停记录,一次中间有长午休的徒步,文件反而可能比一次没有休息的短途徒步更小。暂停期间不会记下新的点,这跟暂停不会算进爬升、也不会算进行进时长是同一个机制——文件只在轨迹实际在记录的时候变大,不是墙上时钟一直在走就会变大。

基本不影响文件大小的因素

  • 地形有多陡——海拔只是已有点上多加的一个数字,不会让点数变多。
  • 路线绕了多少弯——GPX 轨迹不会区分一段直路和一段弯路,两种情况下都是按同样的间隔继续记点。
  • 选的活动类型——那只是贴在记录上的标签,不会改变记点的频率。
  • 是环线还是原路折返——文件大小跟着记录时长走,不跟着地图上画出来的形状走。

现在的徒步里,真正占空间的是什么

单看轨迹本身——那串坐标——就算是很长的一次徒步,也还是一份体积不大的纯文本文件,因为简单的数字和标签压缩下来绝对量很小。而沿途钉在路线上的照片、视频和语音,完全是另一回事,按字节算比轨迹本身重得多——单单一段视频,往往就比一整天的 GPS 点加起来还重。如果一次徒步保存下来的数据感觉很占地方,几乎从来不是轨迹的锅,而是钉在上面的这些媒体文件。

容易搞混的地方

  • 以为文件越大,轨迹就越精确、越详细——通常只是记录得更久,不代表记录质量更好。
  • 想用距离去估文件大小——点是按时间记的,不是按走过的米数记的,用记录时长去估更准。
  • 把文件大小怪到地形陡或路线绕上——这两样单独都不会让点数变多,真正让点数变多的只有实际在记录的时间。
  • 担心一个大的 GPX 文件不好打开、不好上传——就算是很长一天的轨迹,本质还是纯文本,按现在的标准算是很小的文件;真正让一次徒步的存档变重的,通常是附带的照片和视频。

TrailCam 在这件事上怎么做

TrailCam 会在你移动的整段时间里把路线记成轨迹,你暂停它也跟着暂停,需要的时候导出成标准的 GPX 1.1 文件。不管徒步走了多久,轨迹本身导出来都还是一份体积不大的文件;真正占掉大头的,是沿途留下的视频、照片和语音。TrailCam 免费下载。

常见问题

走得越久,GPX 文件是不是一定越大?
一般是的。记录时间越长,记下的点就越多,而不管是哪种徒步,每个点给文件加的字节数都差不多。
地形起伏大或者路线绕来绕去,会不会让文件变大?
单独来看影响不大。点是按经过的时间、以差不多固定的间隔记下来的,不是根据地形陡不陡、弯多不多来记的,所以海拔和转弯对文件大小的影响很小。
一次保存下来的徒步里,真正占空间最多的是什么?
通常不是轨迹本身。钉在路线上的视频、照片和语音,按字节算都比只有坐标的纯文本 GPX 文件重得多。

记录你自己的轨迹

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

在 App Store 下载