GPX 转换为 GeoJSON
将 GPX(GPS 交换格式)文件转换为 GeoJSON,以便在网络地图中使用。非常适合 GPS 轨迹、徒步路线、骑行路径以及来自 GPS 设备和健身应用的航点。
什么是 GPX?
GPX(GPS 交换格式)是一种基于 XML 的格式,用于在设备和应用之间交换 GPS 数据。它是以下设备和应用的标准格式:
- GPS 设备:Garmin、TomTom、Magellan
- 健身应用:Strava、Komoot、AllTrails、Ride with GPS
- 移动应用:GPS 追踪应用、徒步应用
- 无人机:飞行路径日志
- 地图软件:QGIS、ArcGIS、Google Earth
GPX 数据类型
GPX 文件可以包含三种类型的数据:
- 航点 (
<wpt>):具有坐标、名称、描述和海拔的单个兴趣点(POI) - 路线 (
<rte>):通常用于导航的有序航点规划路径 - 轨迹 (
<trk>):带有时间戳的记录路径,显示随时间的实际移动
如何转换
- 上传您的 .gpx 文件(拖放或浏览)
- 预览地图上的转换后的 GeoJSON
- 航点显示为点
- 路线显示为线串(LineString)
- 轨迹显示为线串(每段一个)
- 下载GeoJSON 文件
转换详情
转换内容
航点 → 点
- ✅ 坐标:纬度、经度
- ✅ 海拔:存储在属性中
- ✅ 名称和描述:保留
- ✅ 时间:ISO 8601 时间戳
- ✅ 符号:图标/标记类型
- ✅ 扩展:自定义 GPX 数据
路线 → 线串
- ✅ 路线点:有序坐标
- ✅ 路线名称:要素属性
- ✅ 海拔剖面:每点海拔数据
- ✅ 描述:路线元数据
轨迹 → 线串
- ✅ 轨迹段:每段变为一个线串
- ✅ 时间戳:每个坐标点的时间
- ✅ 海拔剖面:海拔数据
- ✅ 轨迹名称:要素属性
- ✅ 速度/心率:如果扩展中存在
坐标格式
- GPX 使用:纬度、经度(WGS84)
- GeoJSON 使用:[经度、纬度](WGS84)
- 转换会自动处理坐标顺序交换
海拔数据
GPX <ele> 标签中的海拔(高度)会保存在要素属性中:
- 航点:
properties.elevation - 路线/轨迹:与坐标点匹配的海拔数组
常见用途
- 健身数据:转换 Strava、Garmin 或 Fitbit 导出的数据以分析路线
- 徒步路线:与非 GPS 用户共享步道地图
- 自行车路径:在网络地图上显示骑行路线
- 无人机飞行:分析飞行路径和航点
- 地理寻宝:转换地理寻宝坐标以进行地图绘制
- 实地研究:将 GPS 调查数据转换为 GeoJSON
- 旅行日志:可视化旅行和行程
输出结构
航点示例
json
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-74.0060, 40.7128]
},
"properties": {
"name": "纽约市",
"desc": "大苹果城",
"elevation": 10,
"time": "2025-10-28T10:00:00Z",
"sym": "city"
}
}轨迹示例
json
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[-110.0000, 45.0000],
[-110.0010, 45.0010],
[-110.0020, 45.0020]
]
},
"properties": {
"name": "徒步小径",
"desc": "山地徒步路线",
"elevations": [1500, 1520, 1550],
"times": ["2025-10-28T08:00:00Z", "2025-10-28T08:15:00Z", "2025-10-28T08:30:00Z"],
"coordinateProperties": {
"times": ["2025-10-28T08:00:00Z", "2025-10-28T08:15:00Z", "2025-10-28T08:30:00Z"]
}
}
}为什么转换为 GeoJSON?
- 网络标准:适用于 Leaflet、Mapbox、OpenLayers
- 更简单的格式:JSON 比 XML 更易解析
- 更高性能:解析和渲染速度更快
- 开发者友好:易于检查、编辑和操作
- 更广泛的兼容性:更多工具支持 GeoJSON
提示
多个轨迹:包含多个轨迹的 GPX 文件会为每个轨迹段生成单独的线串要素。
时间戳:通过保留时间数据,启用速度、步伐和持续时间分析。
海拔剖面:使用海拔数组创建高度图表。
大文件:对于非常长的轨迹(超过 10,000 个点),建议在转换后简化几何结构。
常见问题
哪些应用可以导出 GPX 文件? Strava、Garmin Connect、Komoot、AllTrails、Ride with GPS、MapMyRun、Runkeeper,以及大多数 GPS 设备。
海拔数据会丢失吗? 不会——海拔数据会保存在 properties.elevations 数组(轨迹/路线)或 properties.elevation(航点)中。
可以一次转换多个 GPX 文件吗? 可以!上传多个文件并将它们全部下载为 ZIP 压缩包。
我的 GPS 数据会被上传吗? 不会——所有转换都在您的浏览器中完成。您的文件不会离开您的设备。
GPX 使用什么坐标系统? GPX 始终使用 WGS84(EPSG:4326),与 GeoJSON 相同,因此无需进行投影转换。
如何从 Strava 获取 GPX 文件?
- 打开 Strava 上的活动页面
- 点击扳手图标(或三个点)
- 选择“导出 GPX”
另见
- 返回所有转换器
- KML → GeoJSON — Google Earth 格式
- CSV → GeoJSON — 电子表格数据
- 距离工具 — 测量地球上的距离