GPX 查看器 — 在线打开轨迹,看海拔剖面和逐公里配速

GPX 查看器

把 GPX 拖进来就出图:路线画在地图上,海拔剖面能悬停也能拖选一段坡,逐公里配速和坡度调整配速一起给。文件只在你的浏览器里读,不上传。

文件不离开你的设备。只有地图底图需要从 OpenStreetMap 和 OpenTopoMap 的瓦片服务器加载。

怎么用这个 GPX 查看器

  1. 把 GPX 拖进来

    把文件拖到方框里,或者点一下从设备里选。佳明、Strava、高驰、颂拓和多数赛事主办方导出的 .gpx 都能读。文件在你的浏览器里解析,不会上传。

  2. 先看汇总

    距离、累计爬升和下降、移动用时、平均配速与坡度调整配速,还有一个地形分档,都排在最上面。爬升给两个数:5 米阈值那个更接近手表报出来的量级,另一个是原始累加。

  3. 地图和剖面一起看

    在海拔剖面上悬停或触摸,地图上的标记会同步跟着走。横向拖选框出一段坡,就能拿到这段的长度、爬升、平均坡度和最陡坡度。文件里有时间戳的话,还会给出这段的用时。

  4. 看爬坡清单和分段表

    爬坡清单列出每个坡从哪里开始、最陡到多少。分段表按公里或英里给出用时、配速、坡度调整配速和爬降,可以直接下载成 CSV。

爬升数字对不上,不是谁算错了

同一条路线,手表给一个爬升,Strava 给一个,赛事官网又给一个,差出几十米很常见。差异来自口径,不是来自错误。所以这里干脆给你两个数,让你随时知道自己在跟什么比。

主数字用 5 米阈值法。先把海拔曲线沿路程做 50 米窗口的平滑,只有当高度比上一个低点高出 5 米,这一段才计进累计爬升。GPS 高程本身抖得厉害,不设这个门槛,平路上的噪声也会被一点一点攒成爬升。

副数字是原始累加。相邻两点只要海拔升了就加进去,一米不漏。它总比阈值法大,有时大出一截——这个差值本身就是个有用的信号,它告诉你这份文件的高程有多干净。

Strava 在支持页上把这件事说得很直白:来自气压高度计、GPS 信号和数据库的海拔数据都存在误差,一次活动的累计爬升是一个估计值。它还写明了两条不同的处理路径,你的表有没有气压计,决定了走哪一条

  • 有气压计的设备:直接用你文件里记录的海拔,只做少量平滑。
  • 没有气压计的设备和手机 App:拿你的 GPS 坐标去查海拔数据库,平滑力度更大。

所以换一块表,同一条路的爬升就可能变个数——路没变,测法变了。

该怎么用这两个数:跟赛事官网或别人的记录对比时,用阈值那个主数字,它更接近手表和各家 App 报出来的量级。真要拿爬升做训练决定,比如判断这场比赛值不值得往后调目标,赛前直接问主办方一句「你们这个爬升是怎么测的」。问得出答案,你的对比才成立;也可以把爬升丢进海拔爬升影响计算器,看它大概会给完赛时间加多少。

把剖面读成配速计划

看剖面不是为了看形状,是为了提前决定哪一段要收着、哪一段能放开。核心只有一句话:上坡匀力,不匀速。呼吸和腿感保持不变,配速自然会掉,掉多少是可以先算出来的。

本站用的是一个简化的坡度模型,和坡度调整配速计算器共用同一套函数:上坡每 1% 坡度大约慢 2.5%,超过 10% 之后每 1% 按 3.5% 算;下坡到 −10% 为止每 1% 大约快 1.5%,再陡反而开始变慢。这是工程近似,不是研究结论,但用来估一段坡的代价已经够了。按平路 5:00/公里 换算成你能直接感觉到的量:

坡度配速代价5:00/公里 会变成
+3%慢 7.5%5:23(每公里多 23 秒)
+6%慢 15%5:45(每公里多 45 秒)
+10%慢 25%6:15(每公里多 1 分 15 秒)
+15%慢 42.5%7:08(每公里多 2 分 08 秒)
−3%快 4.5%4:47(每公里少 14 秒)
−6%快 9%4:33(每公里少 27 秒)
−10%快 15%4:15(每公里少 45 秒)

6% 的坡每公里要付 45 秒,对应的下坡只还回来 27 秒——所以起伏路线一定比同距离的平路慢,哪怕终点和起点一样高。

这张表的用法不是照着跑,而是提前把预期调对。剖面上出现一段 6% 的坡,你就知道那一公里比平路慢 45 秒属于正常,不是你崩了——赛道上真正让人乱阵脚的,往往是这种没有心理准备的掉速。

拖选一段坡,重点看两个数。平均坡度决定这一段整体要放掉多少,最陡坡度决定你会不会在某一处被迫改走。至于多陡开始走比跑省,跑者之间说法一直不统一,跟身高、步幅和当天还剩多少力气都有关系,这条得你在训练里自己试出来,别照搬别人的数字。

路段挑好之后,把想法落成具体数字:用山地配速策略计算器把每一段变成目标配速,再用坡度调整配速核对一个上坡分段和一个平路分段到底是不是同一个强度。

一个 GPX 里到底存了什么

GPX 是纯文本的 XML,结构朴素得有点出乎意料。按 Topografix 发布的 GPX 1.1 官方 schema,每个轨迹点只有经纬度是必填的(十进制度,WGS84 坐标系),其余全是可选:

  • ele(海拔):可选,单位固定是米。没有它,这里画不出剖面。
  • time(时间):可选,schema 明确要求用协调世界时(UTC)而不是本地时间。没有它,配速和用时整列都不存在。
  • 心率、步频、气温:GPX 本体没有这些,靠佳明的 TrackPointExtension 扩展塞进轨迹点里,对应 schema 里的 hr、cad、atemp 三个字段。文件里没写扩展,就是真的没有,不是这里没读出来。

轨迹(trk)和路线(rte)是两回事。轨迹是设备一路记下来的,带时间戳;路线按官方定义是「一串有顺序的转折点」,提前规划出来的,通常只有位置。赛事主办方发的路书多半属于后者,地图、剖面、爬坡清单照样出得来,配速那几列会自动收起。

圈数不在 GPX 里。你在表上按的每一次分圈存在 FIT 和 TCX 文件里,GPX 的 schema 根本没有这个元素,转格式的时候就丢了。想保留圈数,导出时别选 GPX。

步频有个坑。各家设备记的口径不一样,有的存的是单脚每分钟的步数。如果这里显示的步频大约只有你平时数值的一半,那就是设备只记了一只脚,心里乘以 2 再看。

途经点(waypoint)就是 CP 和补给站。本页示例文件是奥维互动地图(ovitalmap)导出的 GPX 1.0,里面三个途经点分别是起终点和两个 CP。这类点会自动落到对应的里程上,让你直接读出 CP1 在第几公里、到那里爬升已经吃掉多少。越野赛的补给点和关门点都可以这么标,赛前把主办方的路书拖进来看一遍,比对着一张图片猜要清楚得多。

隐私就两句话。文件在你自己的浏览器里解析,不会上传到任何服务器。但地图底图是从 OpenStreetMap 和 OpenTopoMap 的瓦片服务器取的,它们能看到你在浏览哪块地图区域,看不到你的文件。

常见问题

我的 GPX 会被上传吗?

不会,文件从头到尾在你自己的浏览器里读。解析、算爬升、画剖面全在本机完成,没有哪一步把文件发出去。唯一发出去的请求是取地图底图——路线要画在地图上,就得从 OpenStreetMap 或 OpenTopoMap 的瓦片服务器取图块,它们因此知道你在看哪块区域,但拿不到你的文件,也拿不到你的轨迹点。

为什么这里的爬升和 Strava、手表上的对不上?

因为口径不同,不是哪一边算错了。本页主数字用 5 米阈值法,旁边附原始累加值;Strava 和手表各有自己的阈值与海拔来源(有没有气压计走的是两条路),赛事官网的数字又常来自另一套测绘。做法:跟别人的数字比之前,先弄清对方是哪个口径,细节见上文「爬升数字对不上」一节。

坡度调整配速(GAP)是什么?这里怎么算的?

它回答的是「这段上坡配速,换算到平路相当于多快」。爬坡时配速掉下来不代表你偷懒,坡度调整配速把坡的代价折算回去,让上坡分段和平路分段能放在一起比。本页用的是简化的工程模型,不是研究结论:上坡每 1% 坡度约慢 2.5%,超过 10% 之后每 1% 按 3.5% 算;下坡到 −10% 为止每 1% 约快 1.5%,再陡反而变慢。和坡度调整配速计算器用的是同一套函数,两边结果对得上。

佳明和 Strava 上的活动,怎么导出成 GPX?

Strava 的导出只在网站上做,佳明官方给的步骤也是网页版的。佳明的官方中文帮助给出的路径是:

  1. 登录 Garmin Connect 网页版
  2. 左侧导航栏选「活动」
  3. 进「所有活动」
  4. 点开要导出的那次活动
  5. 点右上角设置齿轮
  6. 下拉菜单选「导出为 GPX」

Strava 的支持页同样注明导出只在网站上提供,进活动页的更多(省略号)菜单选 Export GPX。一个容易被忽略的细节:Strava 导出的 GPX 会带上功率计实测的功率,但不带估算功率。

奥维互动地图、户外 App 导出的轨迹能用吗?

能,只要导出的是 .gpx 就行。这里只认文件格式,不认它出自哪个 App,老一点的 GPX 1.0 和现在的 1.1 都读,中文命名的途经点也照常显示并自动标到对应公里数。提醒一句:有些 App 导出的是路线而不是轨迹,那种文件没有时间戳,配速相关的列会自动隐藏。

只有路线、没有时间的文件能看吗?

能,只是配速那部分不显示。没有时间戳,地图、海拔剖面、爬坡清单、逐公里的爬升和坡度照常算,这几样只依赖经纬度和海拔。用时、配速、坡度调整配速这三列会自动收起来,因为没有任何数据能撑起它们。赛前研究一条陌生赛道时这已经够用:你要知道的是坡在哪里、有多长,不是别人跑了多久。

支持 FIT、TCX、KML 吗?

目前只支持 GPX,先转成 GPX 再拖进来。手表的原始文件多半是 FIT,最省事的办法是回到 Strava 或佳明,把同一次活动重新导出成 GPX。要知道信息会有取舍:按 Strava 支持页的说法,TCX 能装的东西比 GPX 多。另外圈数只存在 FIT 和 TCX 里,转成 GPX 就丢了。反过来说,GPX 保留下来的位置、海拔、时间,加上心率步频这类扩展字段,已经够把这条路线和你的配速算清楚。

参考文献 1 篇同行评审文献
  1. Minetti, A.E., Moia, C., Roi, G.S., Susta, D., & Ferretti, G. (2002). Energy cost of walking and running at extreme uphill and downhill slopes. Journal of Applied Physiology. doi:10.1152/japplphysiol.01177.2001