TrailCam

指南

GPX 文件是 1.0 版还是 1.1 版,重要吗

对一次徒步真正要紧的那部分来说,几乎不重要。打开任何 GPX 文件,开头的标签里都会写着版本号——几乎总是 1.0 或者 1.1——难免让人好奇这个数字到底决定了什么。其实基本上什么都不决定。在地图上画出轨迹的那串坐标,两个版本的写法是一样的;真正变的那部分,在文件的边角上,不在承载你这趟路的地方。

简单说

只看轨迹能不能读回来的话,不重要。2002 年发布的 GPX 1.0,和 2004 年发布、如今几乎所有地方都在用的 GPX 1.1,描述一条轨迹的方式是一样的:航点、路线,以及由轨迹段组成的轨迹,每个轨迹段又由轨迹点组成,每个点带着经纬度,通常还有海拔和时间。这套结构——地图应用真正需要用来画出你走过的路的那部分——在两个版本之间基本没变。不管开头标签写的是哪个版本号,现在的应用读坐标的方式都是一样的。

1.1 到底改了什么

差别在边角上,不在骨架上。GPX 1.0 把一些说明性的信息——比如轨迹的作者、指向外部的链接——零零散散地放在文件好几个层级里,每处一条。GPX 1.1 把这些大多归拢进了文件靠前位置的一整块元数据,还给链接单独设了一个可以重复出现的元素,这样一份文件就能干净地指向不止一个外部链接,而不是只能有一条。它还加入了正式的扩展机制:在文件的好几个层级都留出一个"官方认可"的位置,让某个应用可以往里面塞自己的自定义数据,而不会影响其他应用读同一份文件。这些改动都没碰到轨迹点本身是怎么写的。

换句话说,1.1 收拾的是描述文件本身的那部分,也给了应用一个安全的地方去挂自己的额外数据。真正描述你走到哪儿的那部分,在 1.0 的时候就已经够用,之后也没变过。

为什么这基本不会造成真的麻烦

所有支持 GPX 的地图工具、手表平台、徒步应用,要读的都是这套没变过的坐标结构。实际情况是,一台老设备导出的 1.0 文件,和一个新应用导出的 1.1 文件,在同一批现代工具里打开的效果是一样的——开头标签里的版本号更像是一个标签,而不是一道关卡。还在持续更新的软件,因为文件写的是 1.0 而不是 1.1(或者反过来)就直接拒收的情况,很少见。

GPX 文件真正打不开的时候,问题出在哪

如果导入真的失败了,原因几乎从来不是版本号。XML 结构本身有问题、某个必填字段是空的、一条轨迹里根本没有点——这些才会让导入卡住,不管文件自称是哪个版本。一个文件完全可以写着 1.1,同时又因为跟版本号毫无关系的原因而是坏的。

容易搞错的地方

  • 以为必须先把文件从 1.0 转成 1.1,或者反过来,某个应用才肯收——就坐标数据本身而言,通常根本不需要转换,两种写法读出来的点是一样的。
  • 导入失败了,就怪到文件开头那行版本号上——真正的原因几乎总是文件里别的地方出了问题。
  • 以为同一次徒步,1.1 的文件会比 1.0 的文件在新应用里显示更多细节——1.1 多出来的那部分结构,大多是应用可用可不用的可选扩展数据,轨迹本身看起来是一样的。
  • 把版本号当成轨迹新不新、准不准的标志——它说明的只是这份文件遵循哪一版规范,跟这趟路是什么时候走的、GPS 定位好不好没有关系。

TrailCam 能帮上什么忙

TrailCam 不管是导出单条轨迹还是整段历史,用的都是 GPX 1.1——Strava、Garmin Connect、Komoot 都读得懂的那个版本。选它主要是因为这是眼下大家都默认接受的版本,而不是因为需要什么只有 1.1 才有的东西:从 TrailCam 记录并导出的一次徒步,在这些工具里打开的效果,跟一份 1.0 的文件是一样的,因为不管声明的是哪个版本,底下的坐标都是同一种写法。导出功能包含在可选的 TrailCam Pro 里,App 本身免费下载。

常见问题

老的 GPX 1.0 文件,现在的徒步或地图应用还能打开吗?
能。轨迹赖以建立的坐标结构在 1.0 和 1.1 之间没有变化,所以现在的应用读 1.0 文件和读 1.1 文件是一样的方式。
TrailCam 导出的是哪个版本的 GPX?
GPX 1.1,不管是导出单条轨迹还是整段历史都是这个版本——也是 Strava、Garmin Connect、Komoot 读得懂的那个版本。
不导入任何应用,怎么才能知道一个 GPX 文件是哪个版本?
用任意一个文本编辑器打开这个文件就行。靠近文件开头的第一个标签里,直接写着 1.0 还是 1.1 的版本信息,不用为了确认这一点特意把它导进地图应用。

记录你自己的轨迹

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

在 App Store 下载