Maison > développement back-end > Tutoriel Python > Comment puis-je améliorer la précision des calculs de distance géographique au-delà de la formule haversine ?

Comment puis-je améliorer la précision des calculs de distance géographique au-delà de la formule haversine ?

Susan Sarandon
Libérer: 2024-11-05 11:00:02
original
959 Les gens l'ont consulté

How can I improve the accuracy of geographical distance calculations beyond the haversine formula?

Calculs de distances géométriques pour les latitudes et les longitudes

Dans le calcul des distances basées sur des coordonnées géographiques, l'utilisation de la formule haversine a été largement adoptée. Cependant, cela suppose une Terre sphérique, ce qui peut introduire des erreurs. Pour des calculs plus précis, il est nécessaire de considérer la nature ellipsoïdale de la planète.

Dans le code fourni, bien que la formule haversine soit correctement implémentée, le problème réside dans l'inexactitude de l'hypothèse. La formule haversine est connue pour comporter des erreurs allant jusqu'à 0,5%.

En guise de solution, la bibliothèque Python GeoPy propose un calcul de distance robuste avec le module geopty.distance. Ce module utilise la formule de distance Vincenty, qui utilise des modèles ellipsoïdaux comme WGS-84 pour une plus grande précision.

Pour l'implémenter dans votre code, suivez les étapes suivantes :

  1. Importez la géopie Module .distance.
  2. Définissez les tuples de coordonnées pour le point 1 et le point 2.
  3. Utilisez la fonction geopy.distance.geodesic() pour calculer la distance entre les points.

Par exemple :

<code class="python">import geopy.distance

coords_1 = (52.2296756, 21.0122287)
coords_2 = (52.406374, 16.9251681)

distance_km = geopy.distance.geodesic(coords_1, coords_2).km

print('Distance (in kilometers):', distance_km)</code>
Copier après la connexion

Cette approche fournira un calcul de distance plus précis par rapport à la formule haversine.

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