PDA

View Full Version : Coordinate geografiche e distanze


3mentina
10-05-2005, 17:56
Vediamo se qualcuni può aiutarmi...
vorrei calcolare la distanza tra due località date le loro coordinate geografiche, ma non ricordo e non trovo la formula...

per esempio tra Azeglio (TO) longitudine 8,6463 / latitudine 44,6393 e Albizzate (VA) 8,8027/45,7301 ci sono (in linea d'aria) 71 km...

FastFreddy
10-05-2005, 18:11
Teorema di pitagora

Distanza = Radice quadrata di [(Xa-Xb)² + (Ya-Yb)²]

3mentina
10-05-2005, 18:17
ah!
per chi non lo sapesse, latitudine e longitudine sono angoli, in questo caso sono espresse gradi e frazioni decimali (non sessagesimali).

forse c'è un errore nelle coordinate dei paesi che ho preso ad esempio, però la formula vale lo stesso...

gtr84
10-05-2005, 20:29
dovresti trasformare le distanze angolari in radianti ed usare
le formule di Gauss

quindi otterresti la distanza angolare tra i 2 punti
in radianti

sapendo che 1 grado sessagesimale corrisponde a
circa 110 km sulla superficie....

3mentina
11-05-2005, 07:20
ho provato con una sempilificazione che sembra dare buoni risultati:
- terra come sfera invece che come elleissoide (ellittico?)
- distanza tra due punti come una retta invece che come una curva
- altimetria trascurata
- R = raggio della terra nell'intorno di misurazione

sistema di coordinate cartesiane geocentriche:
O è il centro della terra, il piano OXY è il piano equatoriale e l'asse Z perpendicolare a OXY passa per O ed il polo nord.

Con questa semplificazione si puo passare dalle coordinate polari (R, lat, long) alle coordinate cartesiane (x,y,z), allora si che si può applicare pitagora (ipotesi di distanza rettilinea)

x=R cos(lat)sen(long)
y=R cos(lat)cos(long)
z=R sen(lat)


Ma se volessi considerare l'ellissoide e la distanza curvilinea, considerando 0 la quota altimetrica per ogni punto?

Ci vorrebbe qualcuno che si ricordi il corso di algebra (coniche quadriche ...).

gtr84
11-05-2005, 11:56
lascia perdere l'ellissoidicità della Terra

l'approssimazione sferica è ottima perchè su qualsiasi distanza
sbaglieresti al massimo di poche decine di metri

Banus
11-05-2005, 12:02
Ma se volessi considerare l'ellissoide e la distanza curvilinea, considerando 0 la quota altimetrica per ogni punto?

x=a cos(lat)sen(long)
y=b cos(lat)cos(long)
z=c sen(lat)

a,b,c sono le lunghezze dei tre semiassi, supponendo di scegliere un sistema di riferimento coincidente ai tre assi. Nel caso della Terra basta prendere a=b (raggio equatoriale) e c diverso (raggio polare). Comunque secondo me le differenze sono minime.
Inoltre devi considerare che non è possibile applicare il teorema di Pitagora direttamente, perchè il triangolo non è piano (anche se lo è con buona approssimazione). Anche in questo caso ci sono delle correzioni, ma non ho la formula sotto mano :p

gtr84
11-05-2005, 14:51
nel caso della terra a e b si possono porre uguali

;)

3mentina
11-05-2005, 18:11
In effetti con la soluzione sferica l'errore è trascurabile.

HaVaNa7
10-01-2010, 20:14
Riuppo questo post perchè sto cercando di calcolare la distanza di un percorso effettuato con il gps, ho utilizzato la formula harvesine ma volevo sapere come si comporta questa formula con l'altezza, nel mio percorso parto da 2500 metri ed arrivo a 1100 metri.
La formula tiene conto dell'altezza? a regola se non ne tiene conto la distanza sarebbe il cateto minore del triangolo mentre se ne tiene conto è l'ipotenusa giusto?

Esiste una formula per il calcolo della distanza che tiene conto dell'altezza dei punti?

Gordon^^
11-01-2010, 03:08
Riuppo questo post perchè sto cercando di calcolare la distanza di un percorso effettuato con il gps, ho utilizzato la formula harvesine ma volevo sapere come si comporta questa formula con l'altezza, nel mio percorso parto da 2500 metri ed arrivo a 1100 metri.
La formula tiene conto dell'altezza? a regola se non ne tiene conto la distanza sarebbe il cateto minore del triangolo mentre se ne tiene conto è l'ipotenusa giusto?

Esiste una formula per il calcolo della distanza che tiene conto dell'altezza dei punti?

In navigazione marittima, per calcolare la distanza sferica tra due punti, si utilizza il teorema di Eulero applicato al triangolo sferico di posizione. La formula è un po' più semplice di quella di Haversine:

cos d0 = sen(fi,a)sen(fi,b) + cos(fi,a)cos(fi,b)cos(delta lambda)
con
fi,a = latitudine punto di partenza
fi,b = latitudine punto di arrivo
delta lambda = differenza di longitudine tra i punti

Il risultato d0 è in gradi (quindi va moltiplicato per 60 per ottenere primi di grado, anche detti miglia)

Sia questa formula, sia quella di Haversine non tengono ovviamente conto dell'altezza dei punti; credo però che il ragionamento che stai impostando sia corretto (considerare il risultato come cateto, il dislivello come altro cateto e l'ipotenusa come reale distanza, si applica pitagora ed è fatta).

PS: parlare di distanze sferiche non ha molto senso quando si parla di gps e bussole. Se con la tua bussola cammini sempre con la stessa "prua" (stesso orientamento) non percorri un cammino ortodromico ma lossodromico, quindi una distanza leggermente maggiore.

Zuckerbaer
11-01-2010, 19:13
Se la distanza tra i punti è < 20 Km puoi considerare piano l' orizzonte senza complicarti la vita, l' errore massimo si aggira sui 30 m dipende poi da un punto all' altro come ci vai? Volando in linea retta o si tratta di un link radio? In caso contrario la distanza reale percorsa è tutt' altro che quella derivante dai calcoli di trigonometria piana.