Avendo il nevigatore, i miei amici passegiatori mi chiedono spesso il dislivello.
Purtroppo la cosa non mi sembra venga visualizzata dal mio garmin.
Quindi a casa dovrei prender eil traccaito gpx e da questo estrapolarmi il dislivello.
Ho letto del programma Sport Tracks, ma allo stesso tempo ho provato a fare uno script minimalista per caolcolare quota massima minima dilivello in salita e in discesa distanza percorsa totale e distanza percosa per le varie pendenze con intervalli del 5%.
La cosa che non mi piace è che ci sono un po troppe differenze tra lo scriptino (che puo avere errori colossali) e Sport Tracks.
Credo che Sprt Tracks faccia delle presunte correzioni, pero non capisco se queste migliorino i risultati? Ho anche provato a esportare un tracciato corretto tramite il plugin si Sport TRacks, l'ho aperto con lo scriptino e come risultato ho dei dati ancor piu diversi.
Siamo sicuri che i dati altimentrici dentro un gpx siano cosi sballati da eseguire queste correzioni?
Guardando il tracciato con il notepad, vedo incrementi e decrementi di pendenza che sembrano normali.
I miei amici hanno l'orologio con l'altimetro, In prossimità di quei luoghi dove viene riportata l'altezza, direi che il dato del navigatore era ben piu preciso dei loro orologi (con altri sistemi per calcolare l'altezza), cosa che da quel che ho capito, si scontra con l'affermazione che il sistema a baromentro sia più preciso.
Esiste un modo avendo le coordinate latitudine e longitudine per estrapolare l'altitudine esatta? Passare tramite i dati digitali della elevazione, significa avere un'approssimazione data dalla risoluzione delle cruve di livello?
Comunque lo script minimalista per autohotkey e questo, molto soartano funziona su tracciati unici e calcola la distanza partendo dal principio che il navigatore fizza un punto ogni tot metri che stabiliamo noi, quindi è nato per essere approssimativo.
Purtroppo la cosa non mi sembra venga visualizzata dal mio garmin.
Quindi a casa dovrei prender eil traccaito gpx e da questo estrapolarmi il dislivello.
Ho letto del programma Sport Tracks, ma allo stesso tempo ho provato a fare uno script minimalista per caolcolare quota massima minima dilivello in salita e in discesa distanza percorsa totale e distanza percosa per le varie pendenze con intervalli del 5%.
La cosa che non mi piace è che ci sono un po troppe differenze tra lo scriptino (che puo avere errori colossali) e Sport Tracks.
Credo che Sprt Tracks faccia delle presunte correzioni, pero non capisco se queste migliorino i risultati? Ho anche provato a esportare un tracciato corretto tramite il plugin si Sport TRacks, l'ho aperto con lo scriptino e come risultato ho dei dati ancor piu diversi.
Siamo sicuri che i dati altimentrici dentro un gpx siano cosi sballati da eseguire queste correzioni?
Guardando il tracciato con il notepad, vedo incrementi e decrementi di pendenza che sembrano normali.
I miei amici hanno l'orologio con l'altimetro, In prossimità di quei luoghi dove viene riportata l'altezza, direi che il dato del navigatore era ben piu preciso dei loro orologi (con altri sistemi per calcolare l'altezza), cosa che da quel che ho capito, si scontra con l'affermazione che il sistema a baromentro sia più preciso.
Esiste un modo avendo le coordinate latitudine e longitudine per estrapolare l'altitudine esatta? Passare tramite i dati digitali della elevazione, significa avere un'approssimazione data dalla risoluzione delle cruve di livello?
Comunque lo script minimalista per autohotkey e questo, molto soartano funziona su tracciati unici e calcola la distanza partendo dal principio che il navigatore fizza un punto ogni tot metri che stabiliamo noi, quindi è nato per essere approssimativo.
Codice:
dislivelloattivo := 0
dislivellopassivo := 0
quotamassima := 0
quotaminima := 9999
distanza := 0
pendenza := 0
valoripendenza := 0
IniRead, distanzacquisizionepuntoinmetri, impostazionidislivello.INI , generali, distanzacquisizionepuntoinmetri
if (distanzacquisizionepuntoinmetri = "ERROR")
{
InputBox, distanzacquisizionepuntoinmetri, distanza, Indicare ogni quanti metri acquisisce un punto
if (distanzacquisizionepuntoinmetri <> "")
{
Iniwrite, %distanzacquisizionepuntoinmetri%, impostazionidislivello.INI , generali, distanzacquisizionepuntoinmetri
}
}
msgbox, indicare il tracciato gpx
FileSelectFile, files, 1,,,*.gpx
FileRead, contenuto, %files%
StringGetPos, pos, contenuto, <trk>
StringTrimleft, contenuto, contenuto, %pos%
Stringreplace, contenuto, contenuto,%a_space%,,ALL
Stringreplace, contenuto, contenuto,`r`n,`n,ALL
Stringreplace, contenuto, contenuto,`n,,ALL
Stringreplace, contenuto, contenuto,</ele>,#,ALL
Stringreplace, contenuto, contenuto,<ele>,@,ALL
stringsplit,contenutoarray,contenuto,#
numeroelementi := contenutoarray0
loop, %numeroelementi%
{
stringsplit,array,contenutoarray%a_index%,@
numerocompleto := array2
numero := numerocompleto
if ( numeroprecedente = "")
numeroprecedente := numero
if (numero > quotamassima)
quotamassima := numero
if (numero < quotaminima)
quotaminima := numero
differenza := numero - numeroprecedente
numeroprecedente := numero
if (abs(differenza) < 11)
{
if (differenza < 0)
{
dislivellopassivo := dislivellopassivo + differenza
pendenza := differenza / distanzacquisizionepuntoinmetri * 100
}
if (differenza > 0)
{
dislivelloattivo := dislivelloattivo + differenza
pendenza := differenza / distanzacquisizionepuntoinmetri * 100
}
}
valoripendenza := 0
loop, 20
{
valoripendenza := valoripendenza + 5
if (distanza%valoripendenza% = "")
distanza%valoripendenza% := 0
if (distanzadiscesa%valoripendenza% = "")
distanzadiscesa%valoripendenza% := 0
if (pendenza > 0)
{
if (valoripendenza > pendenza )
{
distanza%valoripendenza% := distanza%valoripendenza% + distanzacquisizionepuntoinmetri
break
}
}
if (pendenza < 0)
{
valoripendenzanegativo := - valoripendenza
if (valoripendenzanegativo < pendenza )
{
distanzadiscesa%valoripendenza% := distanzadiscesa%valoripendenza% + distanzacquisizionepuntoinmetri
break
}
}
}
distanza := distanza + distanzacquisizionepuntoinmetri
}
valoripendenza := 0
loop 20
{
valoripendenza := valoripendenza + 5
visualizzapendenza := visualizzapendenza "metri " distanza%valoripendenza% " pendenza " valoripendenza "% `r`n metri " distanzadiscesa%valoripendenza% " pendenza -" valoripendenza "% `r`n"
}
dislivellopassivo := floor(dislivellopassivo)
dislivelloattivo := floor(dislivelloattivo)
quotamassima := floor(quotamassima)
quotaminima := floor(quotaminima)
msgbox dislivellopassivo %dislivellopassivo% `r`n dislivelloattivo %dislivelloattivo% `r`n quotamassima %quotamassima% `r`n quotaminima %quotaminima% `r`n Distanza Percorso %distanza% `r`n %visualizzapendenza%
return