PDA

Visualizza la versione completa : Distanza tra 2 punti da coordinate GPS


Alhazred
06-03-2012, 18:16
Come si calcola la distanza tra due punti usando la loro posizione rilevata col GPS?

Prendendo per esempio queste 2 coppie di coordinate, quale è la loro distanza?
41.90084, 12.50115
41.891049,12.49231

Risparmiate il tempo di verificare che posti sono, ho semplicemente preso la stazione Termini e il Colosseo, tanto per avere un esempio concreto.

MItaly
06-03-2012, 18:27
Facendo finta che la terra sia sferica devi considerare l'arco di cerchio massimo passante per i due punti. La formula si trova facilmente in giro, e forse era anche citata nel thread di Neptune di qualche tempo fa in cui si parlava proprio di queste questioni.

Grambo
06-03-2012, 18:27
così (http://gecco.wordpress.com/2008/10/24/calcolare-la-distanza-tra-due-punti-con-le-coordinate-gps/)

bubi1
06-03-2012, 18:28
cerca le formule harvesine o Vincenty, o, se non hai grosse pretese con la precisione, va bene anche la formula basata sulla legge sferica dei coseni

Grambo
06-03-2012, 18:28
oppure così (http://maps.google.it/maps?q=from:+41.90084,+12.50115+to:41.891049,12.49 231&saddr=41.90084,+12.50115&daddr=41.891049,12.49231&hl=it&sll=41.90084,12.50115&sspn=0.006828,0.016512&geocode=FShbfwIdnsC-AA%3BFek0fwIdFp6-AA&t=m&z=16)

:mame:


EDIT: ma non in linea d'aria :p

MrCocò85
06-03-2012, 18:33
Non ricordo da dove l'aveo preso, ma dovrebbe essere data da questa formula:


6371 * 3.1415926 * sqrt( (Lat1-Lat2)*(Lat1-Lat2) +cos(Lng1/57.29578)*cos(Lng2/57.29578) *(Lng1-Lng2)*(Lng1-Lng2) )/180

esempio con i tuoi dati in js:


var Lat1=41.90084; var Lat2=41.891049; var Lng1=12.50115; var Lng2=12.49231; var res=6371 * 3.1415926 * Math.sqrt( (Lat1-Lat2)*(Lat1-Lat2) +Math.cos(Lng1/57.29578)*Math.cos(Lng2/57.29578) *(Lng1-Lng2)*(Lng1-Lng2) )/180

Risultato = 1.451297603001711 Km

comunque ho notato che non è molto precisa come formula

Alhazred
06-03-2012, 19:05
Non mi serve una gran precisione, va bene la legge sferica dei coseni.

Ho trovato uno script già pronto in php, ho visto che ha bisogno delle coordinate decimali e non in minuti, le coordinate restituite da Google Maps di che tipo sono?

sparwari
06-03-2012, 19:16
Originariamente inviato da Alhazred
Non mi serve una gran precisione, va bene la legge sferica dei coseni.

Ho trovato uno script già pronto in php, ho visto che ha bisogno delle coordinate decimali e non in minuti, le coordinate restituite da Google Maps di che tipo sono?

Google Maps usa geoide WGS84 e coordinate in gradi

Loading