Maison >développement back-end >Tutoriel Python >Pourquoi la formule Haversine est-elle inexacte pour calculer la distance entre deux points ?
Calcul de la distance entre deux points à l'aide de la latitude et de la longitude
Dans le code fourni, vous avez implémenté une formule pour calculer la distance entre deux points en fonction sur leur latitude et leur longitude. Cependant, le résultat qu'il renvoie diffère de la valeur attendue de 278,546.
Cet écart se produit parce que la formule Haversine, sur laquelle est basée votre implémentation, suppose que la Terre est une sphère parfaite. En réalité, la Terre est un ellipsoïde de forme légèrement aplatie. Pour des calculs plus précis, il est crucial de prendre en compte la courbure et l'excentricité de la Terre.
Pour mesurer avec précision la distance entre deux points sur une terre ellipsoïdale, il est recommandé d'utiliser la formule de distance de Vincenty. GeoPy fournit une implémentation de cette formule dans son module de distance.
<code class="python">import geopy.distance coords_1 = (52.2296756, 21.0122287) coords_2 = (52.406374, 16.9251681) distance = geopy.distance.geodesic(coords_1, coords_2).km print(distance) # Output: 279.352901604 kilometers</code>
En utilisant la formule de distance Vincenty, vous pouvez obtenir une représentation plus précise de la distance entre les deux points. Cette précision améliorée est particulièrement importante pour les applications nécessitant des calculs précis basés sur la localisation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!