Maison > Article > développement back-end > Pourquoi mon calcul de distance Geopy est-il inexact ?
Calcul de la distance entre des points en utilisant la latitude et la longitude
Dans le but de mettre en œuvre la formule de calcul des distances en fonction de la latitude et de la longitude, les utilisateurs ont rencontré des incohérences avec leur code. La formule donnée montre des résultats prometteurs dans une applet, mais l'application de la même formule dans le code Python donne des distances incorrectes.
La raison derrière cet écart réside dans la nature obsolète de la méthode de calcul de distance Vincenty. Dans les versions GeoPy antérieures à 1.13, la distance Vincenty était la méthode par défaut pour calculer les distances, tandis que les versions 1.13 et supérieures ont introduit geopy.distance.distance() comme méthode préférée.
La méthode de distance Vincenty utilise des modèles ellipsoïdaux. , comme le WGS-84, qui fournissent des résultats plus précis que la formule haversine qui suppose une Terre sphérique. Cette hypothèse peut conduire à des erreurs allant jusqu'à 0,5%.
Pour calculer les distances avec précision, les utilisateurs doivent remplacer leur implémentation de la formule de distance Vincenty par le code suivant :
import geopy.distance coords_1 = (52.2296756, 21.0122287) coords_2 = (52.406374, 16.9251681) print(geopy.distance.geodesic(coords_1, coords_2).km)
Ce code sera calculez la distance entre les deux points en utilisant le modèle ellipsoïdal plus précis et renvoyez le résultat en 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!