calcolare la distanza tra due punti con le coordinate gps

questo fa parte di un mio altro progetto

la parte che manda gli sms e’ praticamente pronta (l’ho postato da qualche altra parte)

ho visto che tangogps si salva i POI (point of interest) in un database sqlite (e anche accedere li e’ facilissimo)

quindi l’unica parte che manca ora e’ calcolare la distanza tra due punti partendo dalle coordinate (quindi latitudine e longitudine)
ho copiato spudoratamente da qua http://darcas.net/index.php/2008/10/12/calcolo-della-distanza-tra-due-punti-geografici/ Sorriso

ecco il codice:

#!/usr/bin/python
#
# thanks to http://darcas.net/index.php/2008/10/12/calcolo-della-distanza-tra-due-punti-geografici/

import math        

decLatA = LATITUDINE_A
decLonA = LONGITUDINE_A
decLatB = LATITUDINE_B
decLonB = LONGITUDINE_B

r = 6372.795477598          

radLatA = math.pi * decLatA / 180
radLonA = math.pi * decLonA / 180
radLatB = math.pi * decLatA / 180
radLonB = math.pi * decLonB / 180

phi = abs(radLonA - radLonB)                                                                                      

p = math.acos( (math.sin(radLatA) * math.sin(radLatB)) + (math.cos(radLatA) * math.cos(radLatB) * math.cos(phi)) )

distanza = p * r

print distanza

»

    • I miei ricordi di geometra dicono che 2 punti sulla superficie terrestre non stanno su un piano ma su una specie di ‘pallocchio’ che è la terra ed in termini tecnici – topografici si dice che stanno su un geoide. Nei nostri calcoli si poteva trascurare la curvatura terrestre (e quindi di stare su un geoide) entro un raggio di 50 km.

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s