海拔来源
Android 的 GPS 海拔:记录海拔还是地形数据?
这篇指南来自一条真实轨迹:路线本身没问题,累计爬升却明显不可信。常见建议是用地形数据“校正”海拔——可这等于默认地面高度就是真相,而在桥上、隧道里或缆车上并非如此。更诚实的问题是:两个高度里,哪一个描述的是你这趟行程。GPS Logger 的答案是让你在两者之间切换视图,而不改写任何东西。


为什么 GPS 海拔容易出错
手机的水平定位通常比垂直定位准得多。卫星几何、树冠、建筑、天气和传感器噪声都会让海拔跳动。气压计有帮助,但气压变化会让一条轨迹在一个下午里整体上漂,哪怕你始终待在同一高度。
这很要紧,因为累计爬升是叠加出来的。成千上万个点上的微小虚假上升,能把一段平路变成山地赛段。好的应用会先平滑剖面、忽略噪声以下的起伏,再计入总量——GPS Logger 正是这样做的,所以它给出的数字通常比把所有上升直接相加更低、也更稳定。
两个不同的高度,而不是一对一错
记录海拔是随轨迹保存下来的高度:来自手机的气压计或 GPS,或来自记录导入文件的手表和设备。它知道你在桥上、在隧道里、在四楼或在飞机上——同时也会随天气漂移。
地形高度是每个坐标处地面本身的高度,读取自全球高程模型。它不受天气影响,在同一条路线上完全可重复,于是你常跑的那条环线的两次记录终于能对上。代价是它会抹平地面之上或之下的一切:跨越山谷的桥会被读成谷底。
该相信哪一个?
选择与你实际行程相符的那一个。
地形通常更合适,当
- 记录剖面出现不可能的尖峰或骤降。
- 一段平坦的散步或通勤报出过多爬升。
- 同一条路线的多次记录彼此对不上。
- 导入的 GPX 海拔缺失、全平或明显有误。
- 你是步行、跑步、骑行或驾车沿地面移动。
记录海拔是更好的答案,当
- 路线经过桥梁、高架或高架桥。
- 路线穿过隧道、地下通道或位于地下。
- 你在缆车、索道、渡轮或飞机上。
- 爬升发生在建筑、塔楼或多层停车场内部。
- 手机带气压计、天气稳定,而记录曲线看起来已经合理。
地形数据同样有分辨率
地形高度比气压计稳定,但稳定不等于准确。它取自全球高程模型的固定网格:在 GPS Logger 中,爱尔兰纬度下每个采样覆盖约十二米地面,而网格背后的模型还要更平滑。凡是比网格更窄的地物,在你看到之前就被平均掉了 — 而山顶正是如此:一个比所在网格更窄的锥体。
上面这条路线翻越爱尔兰最高点 Carrauntoohil,图载高程为 1038.6 m。在同一条轨迹的同一秒:
- 记录为 1095 m — 高出约 56 m,那天傍晚气压计偏高。
- 地形为 1000 m — 低了约 39 m,峰顶锥体被网格抹平。
两者都不是这座山本身。这就是手机海拔数据的真实状况,也是应用提供切换而非“校正”的原因:贴着地面行进的路线以地形为默认更合适,但它并不是一个有待还原的真值,而在尖峰上它一定读低。


什么都不会被覆盖
早期版本的 GPS Logger 提供过一种破坏性的海拔校正,会用地形数值替换轨迹的海拔,还有针对整个库的批量处理。两者都已移除。取而代之的是按轨迹生效的视图开关:
- 切换到地形只会在屏幕上重绘剖面并重算累计爬升。
- 保存的记录始终保留自己的海拔。
- GPX 与 KML 导出始终携带记录海拔,无论你当时看的是哪个视图。
- 你可以随意来回切换,因为根本没有需要撤销的东西。
如果某条轨迹曾被旧版本校正过,它原本的海拔确实已经丢失——应用会如实说明,而不是假装还能切回去。
如何切换海拔来源
- 记录一条路线,或导入 GPX。
- 从历史中打开该轨迹。
- 打开剖面视图,它可绘制海拔、速度或两者。
- 在图表选项中把海拔来源设为地形。首次需要联网,以读取沿线的地面高度。
- 与记录对比剖面形状和累计爬升,保留更符合这趟行程的一个。
读取地形高度每天可免费用于一条轨迹;Pro 可随时切换任意轨迹。两种情况都按轨迹计算,所以你从不查看的路线永远不会消耗一次查询。
隐私与导出
GPS Logger 依然以本地为核心:除非你导出、共享实时位置,或使用其他明确对外发送数据的功能,你的路线都留在设备上。读取地形高度只查询该轨迹覆盖区域的地面高度,不需要账号,也不需要上传 GPX。
因为记录从不被改写,导出同样诚实:GPX 或 KML 里带的是你设备真正记录下来的海拔。