GPS 轨迹 GPX (.gpx)

Topografix 标准

GPS 交换格式(GPX)是一种开放 XML 标准,用于在 GPS 设备(Garmin、Wahoo)、智能手机和 Strava 等活动平台之间共享 GPS 航点、规划的徒步路线和已记录的运动轨迹。

将 GPX 转换为 KML

免费的浏览器端 GPX 转 KML 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 GPX 文件:

选择或将文件拖放到此处

隐私保护 - 文件不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (魔数)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 GPX 文件:

十六进制签名 (偏移量 0):

3C 67 70 78

ASCII 表示形式: <gpx

标准化: Topografix GPX 1.1 Specification

技术规格

容器架构XML 架构,包含航点(<wpt>)、路线(<rte>)和轨迹(<trk>);轨迹由连续的轨迹点(<trkpt>)组成
压缩方式未压缩文本(可用 Gzip 压缩)
字节序UTF-8 / Unicode 文本流
色彩空间不适用(地理空间遥测数据)
通道与结构纬度、经度、海拔(以米为单位)、UTC 时间戳、心率、步频和温度
最大尺寸WGS 84 坐标基准(全球 GPS 标准)
透明度无
流式传输与渐进式加载按顺序流式处理轨迹点,可持续记录实时 GPS 数据

技术对比矩阵:GPX 对比同类产品

技术属性GPX (当前)KMLGEOJSONFIT
主要用途户外休闲与运动追踪3D地球可视化(Google地球)Web地图与GIS数据Garmin二进制运动手表格式
带时间戳的轨迹点原生标准(带<time>的<trkpt>)需要自定义架构标签需要自定义属性时间戳二进制时间戳记录
文件结构开放式XML架构开放式XML架构开放式JSON格式专有紧凑二进制格式
Garmin / Strava支持100%通用的导出/导入在Google地球中受支持在Web GIS中受支持原生硬件录制格式

常见损坏模式与十六进制恢复指南

Strava或Garmin Connect报告"上传时发生错误:文件为空或无效"。

根本原因: 由于录制途中电池耗尽,导致缺少</trk>或</gpx>结束标签。

恢复方法: 使用File2File.app GPX修复工具修复未闭合的XML标签。

安全分析与解析器攻击向量

GPX文件基于XML,可能会暴露私人位置数据(家庭住址)或遭受XML实体注入攻击。

已知攻击向量

  • 位置隐私泄露,在公开的健身文件中暴露敏感的家庭/工作起点。
  • 健身平台文件上传处理器中的XML外部实体(XXE)注入。
  • 通过百万点的轨迹点文件导致CPU耗尽的拒绝服务攻击。

防御性最佳实践: 在 GPX XML 解析器中禁用 DTD 处理,并提供对家庭坐标进行隐私区域裁剪的功能。

历史渊源与里程碑

2009Strava 推出,在全球范围内普及了骑行和跑步路线的 GPX 轨迹导出。
2004Topografix 发布 GPX 1.1,新增可扩展扩展字段,可记录心率、功率和步频。
2002Dan Foster创建GPX,旨在消除GPS设备与计算机之间专有的GPS电缆协议。

核心优势与特点

  • 一种广泛使用的 XML 格式,用于在应用程序和网络服务之间交换 GPS 航点、路线和轨迹。
  • 按时间顺序记录遥测数据:轨迹点除海拔外还保存精确的 UTC 时间戳,可用于计算配速、速度和坡度。
  • 与 Garmin、Apple Watch、Strava、Komoot、AllTrails 和 Google Earth 广泛兼容。

技术局限与劣势

  • 冗长的XML格式导致长时间多天GPS记录的文件体积较大。
  • 缺少二进制 Garmin FIT 文件所存储的高级传感器数据(跑步动态数据、骑行功率平衡)。
  • 文本文件易于被编辑或篡改,从而伪造运动成绩。

趣味技术冷知识

  • GPX 1.1 坐标采用 WGS 84 大地基准。它描述地球上的位置,而不是 GPS 卫星轨道的参考系。
  • 运动手表每1秒记录一个轨迹点,这意味着一场3小时的马拉松会在单个GPX文件中生成超过10,000个坐标点。
  • GPX 扩展允许在 GPS 轨迹中直接记录心率(<gpxtpx:hr>)和骑行步频等个人健康数据。

常见技术问题

什么是 GPX 文件?

GPX 文件是一种 GPS 数据格式,用于存储来自 GPS 设备和健身手表的航点、路线和记录的轨迹(包含纬度、经度、海拔和时间)。

如何将 GPX 文件转换为用于 Google Earth 的 KML?

您可以在网页浏览器中直接使用 File2File.app,一键将任何 GPX 活动或远足径转换为 Google Earth KML 文件。

如何将 GPX 文件上传到 Strava?

登录 Strava.com,点击右上角的“+”图标,选择“上传活动”,然后选择“文件”以上传您的 .gpx 记录。