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