用时、爬升与速度怎么算
底部状态栏和路线详情页里的统计都按下面的口径计算。
距离
- 使用 Haversine 公式逐段累加;
- 跨无信号段的腿不计算,避免把缺口两端连成假直线。
累计爬升 / 下降
- 相邻点海拔变化超过阈值才计入,避免 GPS 气压毛刺被当成爬升;
- 无信号段的缺口不参与爬升计算。
总耗时
- 取整条轨迹里最早和最晚有效时间戳之差;
- 无信号段的起止时间会被算进总耗时,因为那段时间是真实流逝的。
移动用时
- 只累加「两端都有坐标和时间、且速度达到阈值」的腿;
- 无信号段不计入移动用时 —— 没有坐标就无法判断是否在移动。
平均速度
- 平均速度 = 总距离 ÷ 总耗时;
- 分母包含无信号段,所以进隧道、室内停留会拉低均速;
- 想看「真正在走的时候多快」,看状态栏里的「移动」用时。
没有时间戳时
如果轨迹完全没有时间戳:
- 总耗时和移动用时无法计算;
- 平台会给出一个基于距离和爬升的估算值;
- 导出 GPX 时同样不会凭空写入时间。
按天分段
路线详情页会按 UTC 日期把轨迹切成若干天:
- 每一段显示自己的距离、爬升和预计时间;
- 分段结果随版本保存,回滚时一起回退。
其它
- 点开状态栏的「ⓘ」可以看到对应指标的说明;
- 所有统计都会在每次编辑后重新计算;
- 保存到云端时,服务端会基于几何重新核算距离和爬升。