Calcul de la distance à l'aide de la latitude et de la longitude : résoudre une erreur de codage
En essayant de mettre en œuvre la formule permettant de trouver des distances en fonction de la latitude et de la longitude, un utilisateur a rencontré un résultat inattendu. La formule, telle qu'elle est donnée dans l'applet référencée, a fonctionné correctement pour les points de test fournis. Cependant, le code de l'utilisateur a renvoyé une valeur de distance inexacte.
Inspection du code
En examinant le code, il a été découvert que l'utilisateur utilisait la méthode obsolète de calcul de distance Vincenty. , qui a été remplacée par la fonction geopy.distance.distance() plus précise dans GeoPy version 1.13. La formule haversine, utilisée par le code de l'utilisateur, suppose un modèle terrestre sphérique et peut introduire des erreurs allant jusqu'à 0,5 %.
Utilisation de geopy.distance
Pour résoudre Pour résoudre le problème, il est recommandé d'utiliser la fonction geopy.distance.geodesic() plus précise pour calculer la distance. Cette fonction utilise des modèles ellipsoïdaux, tels que WGS-84, et fournit un résultat plus précis :
<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)</code>
Avec le code révisé, la distance entre les deux points est calculée avec précision à 279,352 kilomètres.
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!