L'obtention de la distance entre deux points en fonction de la latitude/longitude

J'ai essayé la mise en œuvre de cette formule: http://andrew.hedges.name/experiments/haversine/
L'aplet n'est bonne pour les deux points que je suis en train de tester:

L'obtention de la distance entre deux points en fonction de la latitude/longitude

Mais mon code ne fonctionne pas.

from math import sin, cos, sqrt, atan2

R = 6373.0

lat1 = 52.2296756
lon1 = 21.0122287
lat2 = 52.406374
lon2 = 16.9251681

dlon = lon2 - lon1
dlat = lat2 - lat1
a = (sin(dlat/2))**2 + cos(lat1) * cos(lat2) * (sin(dlon/2))**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
distance = R * c

print "Result", distance
print "Should be", 278.546

La distance à laquelle il renvoie est 5447.05546147. Pourquoi?

InformationsquelleAutor gwaramadze | 2013-10-16