Averaging heights

This commit is contained in:
Eric van der Vlist 2023-05-09 09:59:10 +02:00
parent 99daeefa98
commit 790a692529
1 changed files with 10 additions and 5 deletions

View File

@ -1,5 +1,6 @@
export const getHeightStats = (wpts: Wpt[]) => {
let previous: number | null = null,
previousAvg: number | null = null,
min: number | null = null,
max: number | null = null,
positive: number = 0,
@ -7,7 +8,7 @@ export const getHeightStats = (wpts: Wpt[]) => {
wpts.forEach((wpt) => {
if (wpt.ele) {
const ele = Math.round(wpt.ele);
const ele = 10 * Math.round(wpt.ele / 10);
if (!max || ele > max) {
max = ele;
}
@ -15,11 +16,15 @@ export const getHeightStats = (wpts: Wpt[]) => {
min = ele;
}
if (previous) {
if (ele > previous) {
positive += ele - previous;
} else {
negative += previous - ele;
const avg = (ele + previous) / 2;
if (previousAvg) {
if (avg > previousAvg) {
positive += avg - previousAvg;
} else {
negative += avg - previousAvg;
}
}
previousAvg = avg;
}
previous = ele;
}