GPX是一种开放通用的XML格式,用于跨设备交换GPS数据,包含航点、轨迹、路线三类元素;采用WGS84坐标系和UTC时间,版本声明需明确,适用于户外记录与地图分享,但不支持拓扑分析或属性关联。

GPX轨迹文件是一种专为GPS数据设计的开放、通用的XML文本格式,核心作用是让不同设备和软件之间能可靠地交换位置信息。它不依赖特定厂商,也不收授权费,本质就是一份“人能看懂、机器能解析”的地理数据清单。
GPX里存的是哪几类东西
一个GPX文件通常包含三类基础元素,用途各不相同:
- 航点(Waypoint):独立坐标点,比如你标记的山顶、补给站、起点或终点。至少含经纬度,可选带海拔、时间、名称和描述。
- 轨迹(Track):设备自动记录的移动路径,由带时间戳的一串有序点组成,反映真实走过的路线,可能包含绕路、暂停、折返等细节。
- 路线(Route):人为规划的建议路径,点之间有逻辑顺序,但一般不含时间信息,更像导航时的“下一步该往哪儿拐”。
为什么用XML而不是其他格式
XML结构清晰、标签语义明确,比如,一眼就能看出这是个带时间的轨迹点。这种可读性让开发者容易写解析程序,也让用户能手动检查或简单编辑——比如删掉一段异常漂移的点。同时,它支持标准验证(通过XSD Schema),确保文件结构合规,GIS软件或地图工具才肯认。
实际使用中要注意的关键细节
导出或生成GPX时,几个技术点容易影响后续使用:
- 版本声明必须明确,常见为
version="1.1",新版本支持心率、速度等扩展字段,老版本可能忽略。 - 时间一律用UTC,格式为ISO 8601(如
2024-07-10T08:09:57Z),避免时区混乱。 - 坐标系固定为WGS84,这是全球GPS设备默认标准,不用额外转换。
- 最小合法GPX只需一个
或,其余字段全可选;但想在Google Earth、OsmAnd或Garmin BaseCamp里正常显示,建议至少包含经纬度+时间(轨迹)或经纬度+名称(航点)。
它适合做什么,又不适合做什么
GPX强在轻量、通用、专注动态位置数据。户外运动记录、OpenStreetMap数据上传、轨迹分享、照片地理标记嵌入都靠它。但它不是全能GIS格式——不存拓扑关系、不支持属性表关联、也没图层样式定义。如果你要分析坡度变化、叠加土地利用图斑,得转成GeoJSON或Shapefile再处理。
基本上就这些。不复杂但容易忽略版本、时间和坐标系这三个点,对上就基本畅通无阻。










