将米每秒转换为分钟每公里

Converting metres per second to minutes per kilometre

我有一个从 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 中查看这个 activity 的配速值时,该值是 4.58。我认为这可能是因为他们对他们的数据做了一些巧妙的事情,例如删除固定部分等,但我将 time/distance 值输入到此 site here 中,它给了我相同的 4.58 值所以显然还有另一种我不理解的方法。

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

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

const timeInSeconds = 1203;
const distanceInMetres = 4040;
var pace = (timeInSeconds/distanceInMetres)/60*1000;
var leftover = pace % 1;
var minutes = pace - leftover;
var seconds = Math.round(leftover * 60);
console.log(minutes+":"+seconds)

结果 4:58