Fermo! Quando ho indicato la somma di tutti i valori <ele> per ricavare il dislivello, questa va fatta come segue (ovvero come ragiona il firmware del GPS):Forse ho parlato troppo presto, ottengo dei risultati sovrastimati (...) che sicuramente non rispecchiano la realtà
- Prendiamo la quota attuale (Qa) e la compariamo alla quota precedente (Qp) – qualora non avessimo Qp (ovvero il primo Qa della lista non ha un corrispettivo Qp perché... è il primo Qa dell’elenco), Qp vale 0.
- Qualora Qa sia maggiore di Qp, aggiungiamo la differenza Qa-Qp al totale T (ovvero stiamo salendo e cumuleremo la differenza al totale)
- Torniamo al punto 1 e ripetiamo fino a che avremo esaurito i node <ele>
Codice:
awk ' BEGIN { FS = "[<|>]" } {{ if ($2 == "ele") {{ if(x=="") x=0; else if($3>x) t+=$3-x } x=$3 } } print t } ' 2017102808040.bdx
QED: il dislivello calcolato punto per punto e' di 1872.4 metri (sia con il file originale che con quello corretto dallo script precedente)... e termino questa mia breve dissertazione con lo stesso gesto che fece Obama nel suo ultimo "State of the Union"
Un momento: hmm... this is funny*: il calcolo del dislivello in ascesa eseguito punto per punto mi ritorna 1872.4, mentre il dispositivo (osserva l'altgain) ritorna 1814: chi di voi mi fa avere un altro paio di BDX? Voglio verificare se ho sbagliato io (non sarebbe la prima volta), oppure siamo di fronte ad un bug del firmware.
*Ho osservato come qualsiasi scoperta di qualsiasi tipo non sia immediatamente commentata da "Eureka" quanto "Hmm... questa cosa e' divertente"