Comment calculer la distance entre deux points dont on connaît les coordonnées géographiques (latitude et longitude) ?  


La meilleure solution est d'appliquer la formule de haversine, soit en langage Python :

from math import radians, sin, cos, sqrt, asin
 
def haversine(lat1, lon1, lat2, lon2):
    R = 6372.8  # Earth radius in kilometers
 
    dLat = radians(lat2 - lat1)
    dLon = radians(lon2 - lon1)
    lat1 = radians(lat1)
    lat2 = radians(lat2)
 
    a = sin(dLat / 2)**2 + cos(lat1) * cos(lat2) * sin(dLon / 2)**2
    c = 2 * asin(sqrt(a))
 
    return R * c
 
Le résultat sera par exemple (en kilomètres) :

>>> haversine(36.12, -86.67, 33.94, -118.40)
2887.2599506071106
>>> 

Source et exemples dans tous les langages : https://rosettacode.org/wiki/Haversine_formula


Ce document a été publié le 2019-04-05 01:41:41. (Dernière mise à jour : 2019-04-05 03:47:35.)




This website uses 'cookies' to enhance user experience and provide authentification. You may change which cookies are set at any time by clicking on more info. Accept
x