Vorrei inserire in un programmino la funzione che permette di calcolare la distanza in metri tra 2 punti di cui conosco latitudine e longitudine.
Ho trovato delle formule su Internet, e dall'esempio di un utente sembra funzionare, pero se metto i valori di 2 punti gpx con distanza che dovrebbe essere circa di 10 metri (cosi ho impostato l'intervallo di salvataggio del mi navigatorei) mi restituisce dei valori sballati.
Ora metto il codice che ritendo sia comprensibile anche a chi non comprende il linguaggio.
:= sta per =
abs (Returns the absolute value of Number)
* sta per moltiplicazione
/ divisione
acos(Number) Returns the arccosine (the number whose cosine is Number) in radians
Sin(Number) | Cos(Number) | Tan(Number) : Returns the trigonometric sine|cosine|tangent
Ecco il codice con tanto di formula, per chi mastica trigonometria, puoò essere corretta
http://www.megaupload.com/?d=OGX3AU14
Ho trovato delle formule su Internet, e dall'esempio di un utente sembra funzionare, pero se metto i valori di 2 punti gpx con distanza che dovrebbe essere circa di 10 metri (cosi ho impostato l'intervallo di salvataggio del mi navigatorei) mi restituisce dei valori sballati.
Ora metto il codice che ritendo sia comprensibile anche a chi non comprende il linguaggio.
:= sta per =
abs (Returns the absolute value of Number)
* sta per moltiplicazione
/ divisione
acos(Number) Returns the arccosine (the number whose cosine is Number) in radians
Sin(Number) | Cos(Number) | Tan(Number) : Returns the trigonometric sine|cosine|tangent
Ecco il codice con tanto di formula, per chi mastica trigonometria, puoò essere corretta
Codice:
decLatA := 45.439621852710843
decLonA := 12.045671353116632
decLatB := 45.439646244049072
decLonB := 12.045650482177734
pi := 3.1415927
r := 6372.795477598
radLatA := pi * decLatA / 180
radLonA := pi * decLonA / 180
radLatB := pi * decLatA / 180
radLonB := pi * decLonB / 180
phi := abs(radLonA - radLonB)
p := acos( (sin(radLatA) * sin(radLatB)) + (cos(radLatA) * cos(radLatB) * cos(phi)) )
distanza := p * r * 1000
http://www.megaupload.com/?d=OGX3AU14