Calcolare la distanza tra punti espressi in latitudine e longitudine
October 24, 2005 - NoisesSe rapresentiamo il comune A con la coppia (a1,b1) in cui a1 è la longitudine e b1 è la latitudine ed il comune B con la coppia (a2,b2) (con significato analogo di a2 e b2), la distanza tra A e B è data dalla formula:
d(A,B) = arccos(cos(a1-a2)cos(b1)cos(b2)+sin(b1)sin(b2))
che fornisce la distanza in radianti, o raggi terrestri.
A questo punto basta moltiplicare d(A,B) x 6360 per ottenere la distanza in km.
in

Scusate a me non torna. Facendo questo calcolo tra il punto A (3.81, 37.9) e il punto B (12.08, 41.95) che dovrebbero rappresentare il comune di Ladispoli e quello di Roma, mi vengono oltre 10.000 Km! Dove sbaglio?
commento di Patrick — October 5, 2006 @ 9:42 am
A me risulta che le coordinate in lat/long di roma e ladispoli siano circa 41,96255363 - 12,06951141 e 41,86222614 - 12,45510578 che trasformati in radianti sono 0,732384723- 0,210652713 e 0,730633678 - 0,217382605. Per cui trovi una distanza di circa 33Km.
commento di Mirco — October 6, 2006 @ 11:15 am
la formula non può funzionare poiché se i due punti A e B si trovano sulla stessa longitudine, il risultato non cambia qualunque sia la longitudine stessa e questo è palesemente errato
commento di Sergio — October 14, 2006 @ 11:16 am
siete degli incapaci, non sapete fare neppure 2 calcoli
commento di elena — November 26, 2006 @ 11:46 am
sapete fare benissimo i calcoli e avete perfettamente ragione lasciate stare sta elena che non sa fare manco 3+2
commento di bhoooooooooooo — April 15, 2007 @ 12:20 pm
a me viene 44,21km!
commento di Anonymous — August 22, 2007 @ 1:59 am
si ma se magari spiegate meglio!!!!!!!!!!!!!!
commento di Anonymous — October 16, 2007 @ 9:24 pm
Grazie per la formula, per pigrizia non mi andava di ricavarmela
commento di Sor Capanna — March 31, 2008 @ 9:14 pm
Grazie per la formula! Veramente utile!
Avete a portata di mano anche l’inversa?
Ovvero avendo le coordinate di un punto e la distanza da un secondo punto trovare le coordinate del secondo?
La mia trigonometria è molto arrugginita…:(
Grazie!
commento di iscka — June 20, 2008 @ 12:55 pm
come odio chi fa le cose a metà. Superficiali e c*****i.
commento di Anonymous — July 25, 2008 @ 3:02 pm
Per calocare le distanze metriche sul piano non esiste un’unica conversione, valida per tutti sistemi di coordinate e per tutte le tipologie di Datum.
non si capisce bene nemmeno di quali coordinate state parlando.
Comunque è un buon inizio.. anch’io sto cercando l’arcano.
grazie comunque,
ciao.
commento di cassandra — August 4, 2008 @ 1:01 pm
La formula è sacrosanta, il tipo di cordinate è tanto per capirci quello di google earth, strumenti, opzioni, vista 3d, visualizza lat/long, gradi decimali.
Fate la prova e vedrete che funziona.
Salut
commento di Mareczekita — November 17, 2008 @ 12:38 am
confermo che la formula sembra funzionare, attenzione a convertire le coordinate in radianti 2*pigreco*angolo/360
commento di mauro — November 19, 2008 @ 12:48 pm
Anche per me la formula sembra funzionare (abbiamo fatto alcune verifiche). E comunque ritengo doveroso ringraziare chiunque si rende utile verso gli altri.
PS. - Gli “scienziati” che hanno tanto da criticare, se sono andati alla ricerca della formula evidentemente non hanno saputo calcolarla.
commento di Rufus — December 3, 2008 @ 5:12 pm
siete dei nerd
commento di Anonymous — December 5, 2008 @ 3:12 pm
Ciao.
Ho letto con interesse il post, e mi e’ molto utile la formula. Sto pero’ cercando di calcolare la distanza spaziale tra due punti che non stanno sulla stessa sfera. In sostanza, oltre che latitudine e longitudine, ho anche l’altitudine.
Sono purtroppo un po’ arrugginito in trigonometria, e mi ci sto scervellando da un po’…. tu che dici?
ciao
commento di dario — April 15, 2009 @ 1:57 pm
Rieccomi.
Ovviamente e’ facile risolvere il quesito che ti ho posto l’altro giorno.
Una volta calcolata la distanza sul livello del mare con la formula che hai dato tu, si puo’ approssimare all’ipotenusa di un triangolo rettangolo la distanza che cerco io dove un cateto e’ dato dalla distanza sul livello del mare, e l’altro dalla differenza di altitudine.
Ovviamente questa semplificazione si puo’ farla per distanze piccole, come quelle che tratto io (i dati GPS di due rilevamenti successivi in una escursione a piedi in montagna).
Ora, pero’, il problema e’ un altro.
Tu dai come raggio terrestre il valore di 6360km. E’ una semplificazione. qui, Wikipedia da’ 6378.14km. Ma anche questa e’ una approssimazione, perche’ in realta’ la terra, non essendo una sfera, non ha un raggio costante.
Si puo’ approssimare ad un ellissoide, e in questo senso qui Wikipedia da’ un raggio equatoriale ed un raggio polare (che differiscono di oltre 20 km!!!).
Allora, il mio problema si fa piu’ complicato. In realta’, avendo le coordinate di longitudine, latitudine, altitudine di due punti successivi nel mio cammino su per la montagna, supponendo di essermi mosso in linea retta tra i due punti, mi chiedo quale sia la rilevazione del satellite. Se mi dice 1300 metri, per esempio, si tratta di 1300 metri rispetto a che cosa? La triangolazione con i satelliti dovrebbe fornirmi una terna in un sistema di coordinate sferiche rispetto ad una sfera, al centro della quale girano i satelliti. Ma qual’e’ questo centro? E qual’e’ il valore (raggio terrestre) che viene sottratto dal raggio calcolato per darmi il valore di 1300 metri?
E poi, soprattutto, i satelliti si muovono su una sfera unica? Centrata in un punto approssimabile con il centro della terra (sempre che la terra, di centri, ce ne abbia uno e uno solo)?
Notare che il problema non e’ affatto banale. Ho calcolato la distanza percorsa sul rilevamento di una escursione di circa cinque km. Calcolando rispetto al dato di 6360 che hai dato tu o rispetto al valore di 6378.14 di Wikipedia gia’ c’e’ una variazione di oltre 500 metri (cioe’ piu’ del 10% dell’escursione!). Se poi provo a calcolare rispetto al raggio all’equatore e quello ai poli, c’e’ piu’ di un km di differenza.
In sostanza, per calcolare la distanza tra due punti la formula e’ quella che hai dato tu se si considera i due punti entrambi appartenenti alla sfera di raggio 6360km centrata nell’origine delle coordinate sferiche (centro della terra?!?). Ma laddove i due punti non stanno su quella sfera il discorso non regge piu’.
E’ chiaro che piu’ le distanze aumentano, meno il problema si pone, perche’ supponendo di considerare Roma e New York, la differenza tra le distanze di queste citta’ dal centro della terra e’ una quantita’ irrisoria rispetto alla distanza tra le due citta’.
Significativo invece e’ il caso mio in cui due rilevamenti successivi sono effettuati a distanze di cinque-dieci metri.
;-)
ciao
dario
commento di dario — April 17, 2009 @ 2:15 pm
Ciao sto cercando una formula o un programma che mi consenta di fare l’inverso. Ovvero partendo da una coordinata satellitare muovermi di un X in metri / kilometri per un angolo definito e trovare la coordinata risultante. Sapete aiutarmi ?
commento di Alfredo — June 14, 2009 @ 6:06 pm
Alfredo, il problema e’ stimolante. Ma questo post mi pare un po’ datato.
Scrivimi una mail in pvt
c_dario@yahoo.com
e dammi piu’ dettagli, in particolare che significa “muovermi di un X in metri/km per un angolo definito”?
Ti muovi sulla superficie della terra, immagino, ma come fai a definire la direzione dello spostamento?
commento di dario — July 21, 2009 @ 2:35 pm