FIT vs GPX vs TCX:该用哪种 GPS 文件格式?
FIT、GPX 和 TCX 各自承载不同的数据。本指南讲清每种格式装了什么、在哪里会出问题,以及归档、路线规划、上传 Strava 和教练工作流各该选哪种。
只要你从 GPS 手表导出过一次骑行或跑步,就至少打过这三种格式之一的交道。它们描述的都是同一件基本的事——你去了哪、什么时候、(有时候)练得有多狠——但它们并不能互换,选错了就会悄无声息地丢数据。
先说结论:**FIT 是归档格式,GPX 是交换格式,TCX 是遗留格式。**本指南余下的部分解释这在实际中意味着什么。
每种格式到底装了什么
FIT——完整的记录
FIT(Flexible and Interoperable Data Transfer)是 Garmin 为设备设计的紧凑二进制格式。FIT 活动文件不是一份扁平的点列表。它包含文件头、一条概括整个活动的 session(会话)消息、描述结构的圈(lap)消息,以及一串密集的 record 记录消息——设备记录下的每一次 GPS 定位、心率采样、功率读数和踏频值。
因为 FIT 直接来自设备,它是你对一次训练所能拥有的最完整的记录。所以每一条关于数据归档的建议都从保留你的 FIT 原始文件开始。
代价是:FIT 是二进制,人读不了,体育圈之外的软件支持也很薄弱。GIS 工具、地图网站和大多数路线规划器根本不读它。
GPX——通用交换格式
GPX(GPS Exchange Format)是 XML,标准化远早于 FIT,基本上所有跟地图沾边的东西都支持它:OpenStreetMap 编辑器、路线规划器、Google Earth、徒步应用、骑行网站。GPX 文件装的是航点(waypoint)、路线和轨迹——带时间戳和海拔的点序列。
GPX 装不下的——以任何被广泛认可的方式——是训练数据。心率和功率技术上可以搭扩展元素的便车,但支持零零散散。把 FIT 转成 GPX 时,你保住了轨迹,丢了训练指标。这是格式的属性,不是转换器的缺陷。
TCX——遗留的桥
TCX(Training Center XML)是 Garmin 在 Training Center 时代的旧 XML 格式。它能表示活动和 course,而且与 GPX 不同,它确实携带心率与功率数据。在 2000 年代末,它是训练平台上传格式的首选。
今天几乎所有读 TCX 的东西也读 FIT,所以 TCX 主要活在老设备和遗留教练工作流里。它没有任何 FIT 所缺少的有意义的能力。
真实场景的决策表
| 场景 | 用 | 原因 |
|---|---|---|
| 归档你的原始记录 | FIT | 数据完整、紧凑、设备原生 |
| 把路线分享给朋友 | GPX | 所有地图工具都认 |
| 上传到 Strava 或 Garmin Connect | FIT | 原生接收,指标保得住 |
| 把轨迹导入 GIS 工具 | GPX | 通用支持 |
| 给老设备或教练软件供文件 | TCX | 兼容遗留软件 |
| 做一条用于导航的 course | FIT(或 GPX) | 设备两种都收;FIT 携带转弯导航数据 |
转换到底丢了什么
这些格式之间的每一次转换都在某个方向上有损:
- FIT → GPX:轨迹、时间戳和海拔保得住;心率、功率、踏频、圈数和 session 汇总保不住。(FIT 转 GPX)
- GPX → FIT:你会得到一个合法的 FIT 文件,里面恰好是 GPX 原有的东西——一条轨迹。没有心率采样可以恢复,因为源文件里从来没有。(GPX 转 FIT)
- TCX ↔ GPX:训练指标在 TCX 里跟着走,到 GPX 里就消失,同上。(TCX 转 GPX、GPX 转 TCX)
- FIT → TCX:大部分训练数据保得住,但 TCX 表示不了现代 FIT 文件携带的所有东西,尤其是开发者自定义字段。(FIT 转 TCX)
还有一个细节:时间戳。FIT 存 UTC 加一条时区偏移消息;GPX 时间戳是 UTC、不带偏移。如果转换后的文件把你的夜骑显示在一天里错误的时间,原因通常是时区处理——不是数据丢失。
实用守则
- **永远不要删你的 FIT 原始文件。**存储很便宜;重新编码的 GPX 替代不了源文件。
- **按需转换,不要提前转。**保留原始文件,等具体工具需要时再产出 GPX 或 TCX——我们的 FIT 转 GPX 转换器和它的兄弟工具在你的浏览器里运行,正是为了让这是件两分钟的事,而不是一个负担。
- **让格式迁就目的地,而不是反过来。**上传到训练平台?FIT。把轨迹交给地图工具?GPX。跑一个十年前的码表?TCX,而且只有这时候。
把这三个习惯养成,格式问题就不再是你需要琢磨的事——它变成你在这里查一次就翻篇的事。
常见问题
FIT。Strava 原生接收 FIT,它也是三者中唯一能在单个文件里可靠携带心率、功率、踏频、圈数和 session 汇总的格式。GPX 上传到 Strava 会丢掉其中大部分,TCX 只是遗留兜底。