Maison > développement back-end > Tutoriel Python > Pourquoi mon calcul de distance de latitude/longitude est-il incorrect ?

Pourquoi mon calcul de distance de latitude/longitude est-il incorrect ?

Susan Sarandon
Libérer: 2024-11-06 00:00:03
original
241 Les gens l'ont consulté

Why is My Latitude/Longitude Distance Calculation Incorrect?

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal