一份完全没有海拔数据的 GPX 文件,怎么把海拔补上
一条 GPX 轨迹要在地图上画出一条线,严格来说每个点只需要两个数字:纬度和经度。海拔是另外一个可选的值,很多文件干脆就没有——在地图上手画出来的路线,或者当时垂直方向没能定位上的记录,画出来的形状是对的,就是没有高度。要解决这个问题,不是回头把那次徒步重新走一遍、重新测一遍,而是拿这份文件已经说自己经过的那些坐标,去问另一个数据源:那个地方的地面到底有多高。
简单说
把文件丢进一个海拔校正工具里。它不是去读文件里本来就没记下来的高度,而是拿每个点的经纬度,去对照一份覆盖全球地表高度的公开数据(数字高程模型),查出对应的高度,再把这个查到的值写进这个点。不少已经支持导入 GPX 的平台,本身就在轨迹或活动页面上带了类似的功能,通常叫"海拔校正"或者"修正海拔"之类的名字。也有专门为这件事做的独立工具,比如 GPS Visualizer,丢一份完全没有海拔的 GPX 文件进去,它会把每个点都补上高度再还给你,不需要注册账号,也不需要把文件永久上传到哪里。
这份文件当初为什么没有海拔
GPX 的 trkpt 元素,纬度和经度是必须有的属性,海拔只是个可选的子元素。一条不是真的走出来、而是在地图上画出来的路线,压根就没在任何一点上测量过什么,自然也没有高度可写。真的走出来、实时记录的轨迹,也可能落到同样的下场——接收器在某一段拿到了水平方向的定位,却没拿到垂直方向的定位。要算出一个地方有多高,需要的卫星几何条件比算出它在地面上哪个位置更苛刻,所以垂直方向的定位掉线,比水平方向的定位掉线更容易发生。
海拔校正工具到底在做什么
它并不是在重新测量你那天走过的地方。它拿文件里已经有的坐标,去对照一份用卫星和航空测绘数据做出来的地形模型,把这个点现在的值——不管是空的、是零、还是一个抖动很大的实测值——换成模型查出来的那个值。查出来的是"这个经纬度对应的地面有多高",而不是"当时那个接收器测出自己站在多高的地方"。
正因为是这个区别,这个工具用在本来就有海拔数据的文件上同样有意义,不只是用在完全没有的文件上。GPS 实测的海拔是当场量出来的,点与点之间会带着真实的抖动;模型查出来的值没有这种抖动,因为它读的是一份固定的数据,不是一个晃来晃去的接收器。把前者换成后者,经常能把一条锯齿状、大得离谱的爬升总量,变成一个看着更可信、更平滑的数字。
校正不知道的事
- 任何让你在原地垫高、而不是横向移动的东西——一座人行天桥、沼泽上的木栈道、一座瞭望塔。模型读到的是那个坐标点上地形本身的高度,不是你当时站的那个构筑物的高度。
- 比模型自身分辨率还细小、还陡峭的地形起伏——攀爬路段上一小段岩壁台阶,一处窄窄的阶梯状岩架。用采样点格网做出来的模型,只能表现出格网大小以上的细节,比这更小的起伏会跟真实的噪声一起被抹平。
- 坐标本身准不准。如果原始的 GPS 位置本来就横向偏了,校正只会自信地查出那个偏移后的位置的海拔,而不是你实际所在位置的海拔。
容易搞错的地方
- 以为校正后的文件反映了那天的实际状况——它反映的是一份静态的地形模型,不是你那天在现场遇到的事。
- 拿校正过的文件和另一个没做校正的 App 算出的爬升数字比,谁小、谁平滑就觉得谁是"对的"——两者本来就来自不同类型的输入,一个是实测,一个是模型查值,不一致才是正常的,不代表哪一个坏了。
- 以为校正连距离、时间的偏差也能一并修好——校正只动每个点的海拔这一个值,经纬度和时间戳原样保留。
- 做完校正还指望天桥、瞭望塔上那段高度能保留下来——模型根本不知道那里有过一座建筑物。
TrailCam 的情况
TrailCam 在记录轨迹的整个过程中,会实时记下每个点的海拔,所以用 App 记录的那次徒步导出来的 GPX 文件,本身就已经带着整条路线的海拔,不需要事后再补。这篇文章讲的情况,多半出现在从别处来的轨迹上——在地图上手画的路线、旧设备的记录,或者一开始就没记海拔的其他 App。TrailCam 支持导出成 GPX 1.1 或 CSV,导出功能包含在可选的 TrailCam Pro 里,App 本身免费下载。
常见问题
- 做海拔校正会不会连带把徒步的距离也改了?
- 不会。距离是根据每个点的经纬度算出来的,校正只改写海拔这一个值,位置和时间戳都不动。
- 文件本来就有海拔数据,但爬升数字明显不对,校正能不能修好?
- 经常可以。校正会把原来那些海拔值——不管抖不抖——统统换成模型查出来的值,容易把一个大得离谱、锯齿状的总量变得平滑一些。但也可能把一些模型表现不出来的、真实存在的小地形起伏一起抹平。
- 想给文件补海拔,是不是得先把它传到某个训练平台上?
- 不需要。像 GPS Visualizer 这种专门为这件事做的独立工具,丢一份没有海拔的 GPX 文件进去,就能拿回一份补好高度的文件,不用注册账号,也不用永久上传到哪里。
记录你自己的轨迹
TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。