0

我有一个从 Strava API 检索到的以米/秒 (mps) 为单位的值,我想转换每公里的分钟数(步速)。从表面上看,这似乎很简单,我突然想到了以下内容:

const metresPerSecond = 3.358;
var metresPerMinute = metresPerSecond*60;
var minutesPerKm = 1000/metresPerMinute;

console.log(minutesPerKm); // 4.96

我也尝试过使用时间和距离值,如下所示:

const timeInSeconds = 1203;
const distanceInMetres = 4040;
var pace = (timeInSeconds/distanceInMetres)/60*1000;

console.log(pace); // 4.96

最初我认为这是正确的,但在查看 Strava 中此活动的速度值时,该值为4.58. 我认为这可能是因为他们对他们的数据做了一些聪明的事情,比如删除静止部分等,但是我在这里将时间/距离值输入到这个站点,它给了我相同的4.58值,所以显然有另一种方法可以做到这一点我不理解。

有人知道我在做什么错吗?

4

1 回答 1

6

你做的完全正确。您唯一缺少的是您应该将“剩余”分钟从十进制分钟转换为秒。

常量 timeInSeconds = 1203;
常量距离InMetres = 4040;
var 速度 = (timeInSeconds/distanceInMetres)/60*1000;
var leftover = 步速 % 1;
var 分钟 = 步速 - 剩余;
var seconds = Math.round(leftover * 60);
console.log(分钟+":"+秒)

结果在 4:58

于 2020-05-15T06:27:34.950 回答