Plus de jeux sur WuGames.ioSponsoriséDécouvrez des jeux de navigateur gratuits — jouez aussitôt, sans téléchargement ni inscription.Jouer

Calculatrice de Haversine - Distance orthodromique

Calculez la distance orthodromique entre deux coordonnées avec la formule de haversine. Sphère vs plan, précision, cap et code GPS expliqués.

°°
°°
km

Qu'est-ce que la formule de Haversine ?

La formule de haversine calcule la distance la plus courte entre deux points à la surface d'une sphère — pour nous, la Terre — à partir de leur latitude et longitude. Elle renvoie la distance orthodromique : la longueur de la courbe la plus courte reliant les deux points en restant entièrement sur la surface sphérique.

C'est la formule sur laquelle reposent la navigation GPS, la planification de routes aériennes, les applis de VTC, l'optimisation de livraisons, les superpositions radar météo et la plupart des API cartographiques chaque fois qu'il faut répondre vite à « à quelle distance sont ces deux points ? ». Elle tient compte de la courbure terrestre, restant donc précise même sur des distances intercontinentales où traiter la planète comme un plan donnerait des centaines de kilomètres d'erreur.

La formule découle de la loi des haversines en trigonométrie sphérique. La fonction haversine est définie par :

hav(θ) = sin²(θ/2) = (1 − cos(θ))/2

Propriétés et applications principales de la formule de haversine :

  • Géométrie sphérique : fonctionne sur la surface courbe de la Terre, pas sur une projection plane qui déforme les distances
  • Navigation : essentielle pour les routes aériennes, maritimes, la planification de drones, le guidage GPS
  • Précision : résultats à moins de 0,5 % de la distance réelle pour le modèle sphérique — suffisant pour presque toute application grand public
  • Arithmétique stable : la forme avec sinus au carré évite la perte de précision dont souffre la « loi des cosinus sphérique » équivalente sur de petites distances
  • Portée universelle : fonctionne pour n'importe quels deux points de la Terre, y compris les paires antipodales (faces opposées de la planète)

Les applications modernes incluent le matching dans le covoiturage, l'estimation des délais de livraison, la publicité hyperlocale, la météorologie, et tout système ayant besoin de déterminer une proximité ou de calculer une distance de trajet entre des emplacements géographiques.

Comment fonctionne la formule de Haversine ?

La formule de haversine calcule la distance orthodromique entre deux points sur une sphère à partir de leur latitude et longitude. Elle utilise sinus, cosinus et arcsinus, et suppose que la sphère a un rayon connu — typiquement le rayon moyen terrestre de 6 371 km.

La formule de haversine complète :

d = 2r · arcsin(√(sin²(Δφ/2) + cos(φ₁) · cos(φ₂) · sin²(Δλ/2)))

Où :

  • d = distance orthodromique entre les deux points
  • r = rayon de la Terre (environ 6 371 km ou 3 959 miles)
  • φ₁, φ₂ = latitudes des points 1 et 2 (en radians)
  • Δφ = φ₂ − φ₁ (différence de latitude)
  • Δλ = λ₂ − λ₁ (différence de longitude)
  • λ₁, λ₂ = longitudes des points 1 et 2 (en radians)

La formule procède ainsi :

  • Convertir latitude et longitude de degrés en radians (multiplier par π/180)
  • Calculer les haversines des demi-angles des différences de latitude et longitude
  • Les combiner avec cos(φ₁)·cos(φ₂) pour projeter sur la sphère
  • Prendre la haversine inverse (arcsinus de la racine carrée) pour retrouver l'angle au centre en radians
  • Multiplier l'angle au centre par le rayon pour obtenir la distance réelle le long de la surface

Comme le calcul utilise des sinus de demi-angle plutôt que des cosinus d'angle complet, il reste numériquement stable même lorsque les deux points sont très proches — propriété que la vieille formule de la loi des cosinus sphérique n'a pas.

Exemples courants de distance Haversine

Quelques distances orthodromiques typiques calculées avec la formule de haversine :

  • New York à Los Angeles : ~3 944 km (2 451 miles)
  • Londres à Tokyo : ~9 560 km (5 940 miles) — et un vol réel suit une route polaire proche de cette géodésique
  • Sydney à Melbourne : ~713 km (443 miles)
  • Paris à Rome : ~1 103 km (685 miles)
  • Hanoï à Hô Chi Minh-Ville : ~1 137 km (706 miles)

Questions fréquentes

Parce que la Terre est ronde, pas plate. La distance pythagoricienne √((Δx)² + (Δy)²) fonctionne sur un plan, où les coordonnées sont indépendantes de la position. Latitude et longitude sont des angles sur une sphère : 1° de longitude à l'équateur couvre ~111 km de sol réel, mais seulement ~78 km à 45° de latitude et ~0 km aux pôles. Si vous traitez lat/lon comme de simples coordonnées (x, y) et appliquez Pythagore, vous serez largement à côté loin de l'équateur. Pour de très petites distances (quelques kilomètres dans un même pays), l'approximation équirectangulaire d ≈ r·√(Δφ² + (cos(φ_moy)·Δλ)²) suffit ; pour toute distance continentale, il faut haversine ou une formule ellipsoïdale complète comme celle de Vincenty. Haversine prend correctement en compte la courbure : elle calcule la longueur d'arc entre deux points le long de la surface d'une sphère, c'est-à-dire le chemin que vous parcourriez réellement (ou voleriez) sur une Terre parfaitement ronde. Sans elle, votre appli de cartes vous dirait que Londres est plus proche de Sydney via Singapour que via Hong Kong, alors que c'est l'inverse.

La haversine suppose que la Terre est une sphère parfaite de 6 371 km de rayon. La Terre réelle est un ellipsoïde aplati — plus large à l'équateur (6 378 km) qu'entre les pôles (6 357 km) — donc la formule s'écarte jusqu'à ~0,5 % au pire. Pour un vol de 10 000 km, c'est environ 50 km d'erreur, plus que suffisant pour intéresser un pilote sur carte papier mais invisible pour un chauffeur Uber qui traverse une ville. Pour les tâches nécessitant plus de précision — topographie, géodésie, guidage de missile, suivi des plaques tectoniques — les ingénieurs utilisent les formules de Vincenty, qui traitent la Terre comme un ellipsoïde et convergent au centimètre près. Pour les usages quotidiens (distance de livraison, matching de courses, « personnes à proximité » sur réseaux sociaux), haversine est bien suffisante. Autre source d'erreur : le choix du rayon. 6 371 km est le rayon moyen (sphère équivalente en volume) ; près de l'équateur, 6 378 km donne un peu mieux, et près des pôles, 6 357 km. La plupart des codes utilisent 6 371 km parce que la différence reste bien dans l'erreur intrinsèque de la haversine.

Un grand cercle est tout cercle d'une sphère dont le centre coïncide avec celui de la sphère — l'équateur en est un, chaque méridien (paire de longitudes opposées) en est un, et la seule géodésique entre deux points non-antipodaux quelconques se trouve sur exactement un grand cercle. La distance orthodromique, calculée par haversine, est le chemin le plus court entre deux points de la sphère. Une loxodromie (ligne de rhumb) est un chemin qui coupe chaque méridien sous le même angle constant — un « cap boussole fixe ». Les loxodromies apparaissent droites sur une projection de Mercator, raison pour laquelle les marins d'autrefois les adoraient : « cap au nord-est » se suit sans corrections continuelles. Mais une loxodromie est plus longue que la route orthodromique, parfois nettement. New York–Tokyo en loxodromie : environ 11 500 km ; en grand cercle : 10 800 km. Les avionneurs modernes empruntent le grand cercle même s'il faut ajuster le cap en permanence. Haversine renvoie la distance orthodromique ; pour une distance loxodromique, on utilise une autre formule basée sur la différence projetée en Mercator.

Parce que C'EST le chemin le plus court sur une sphère. New York est à environ 40° N, Tokyo à 35° N — toutes deux bien dans l'hémisphère nord. Si vous tracez une droite entre les deux sur un globe, elle balaie vers le nord au-dessus de l'Alaska, parfois au-dessus de la Russie, jamais par le Pacifique central. La projection de Mercator — celle qu'utilisent presque toutes les cartes murales — déforme radicalement les régions polaires : le Groenland semble plus grand que l'Afrique, alors qu'il est 14 fois plus petit. Donc une ligne « droite » sur Mercator (la loxodromie) se courbe vers le bas et l'est, longeant le Pacifique. La vraie géodésique, que la haversine représente, se courbe au-dessus du pôle. C'est aussi pour cela que les routes aériennes intercontinentales semblent bizarrement courbes sur les cartes plates mais droites sur un globe. La même logique vaut pour Sydney–Santiago (au-dessus de l'Antarctique), Johannesbourg–Sydney (au-dessus de l'océan Antarctique), Londres–Auckland (au-dessus de l'Arctique). La formule de haversine ne donne pas le chemin, seulement la distance, mais cette distance n'a de sens que dans le contexte de ce grand cercle.

La convention standard est 6 371 000 m (6 371 km, ou 3 959 miles, ou 3 440 milles nautiques). C'est le rayon moyen volumétrique — celui d'une sphère de même volume que la Terre. Trois valeurs plus précises existent : le rayon équatorial (6 378,137 km, utilisé dans le datum WGS84), le rayon polaire (6 356,752 km) et le rayon moyen (6 371,009 km, moyenne géographique). Les écarts sont faibles (~0,3 % pic à pic) mais importent en comparant à des données de référence. Pilotes et navigateurs maritimes utilisent souvent 6 371 km et acceptent la petite erreur ; les levés géodésiques s'appuient sur l'ellipsoïde WGS84. Pour les miles, la formule de haversine reste la même — branchez r = 3 959 (miles statutaires) ou r = 3 440 (milles nautiques) et la réponse sort dans cette unité. Le choix le plus simple et le plus populaire est r = 6 371 008,8 m (rayon moyen IUGG), et presque toute implémentation de haversine sur Internet code en dur cette valeur ou un 6 371 km arrondi.

La haversine donne la distance ; le cap est un calcul à part. Le cap initial du point 1 (φ₁, λ₁) au point 2 (φ₂, λ₂) vaut θ = atan2(sin(Δλ)·cos(φ₂), cos(φ₁)·sin(φ₂) − sin(φ₁)·cos(φ₂)·cos(Δλ)), en radians. Convertissez en degrés et normalisez à [0, 360) en ajoutant 360 puis en prenant le modulo. Le résultat est la direction boussole avec laquelle vous vous mettrez en route — 0° = nord, 90° = est, 180° = sud, 270° = ouest. Sur un trajet orthodromique, le cap change continuellement le long du chemin (c'est pourquoi la carte de bord en vol montre votre cap qui dérive lentement) ; la formule donne donc le cap initial au point 1. Pour le cap final à l'arrivée au point 2, échangez les deux points, calculez le cap initial, puis ajoutez 180° modulo 360°. Utilisez atan2, pas atan(y/x) — la version à quatre quadrants gère correctement toutes les combinaisons de signes. Cette formule combinée à la haversine sont les chevaux de trait de presque toute bibliothèque géographique : PostGIS, Turf.js, geopy, GeoTools.

JavaScript : function haversine(lat1, lon1, lat2, lon2) { const R = 6371; const toRad = d => d * Math.PI / 180; const dLat = toRad(lat2 - lat1); const dLon = toRad(lon2 - lon1); const a = Math.sin(dLat/2)**2 + Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLon/2)**2; return 2 * R * Math.asin(Math.sqrt(a)); }. Python est identique, remplacez Math.sin par math.sin. Pièges fréquents : oublier de convertir les degrés en radians (sin et cos attendent des radians, mais les coordonnées sont rapportées en degrés) ; intervertir l'ordre latitude/longitude (certaines bibliothèques utilisent (lon, lat), la plupart des API (lat, lon)) ; utiliser Math.asin au lieu du plus stable atan2(sqrt(a), sqrt(1-a)) pour les distances proches des antipodes ; choisir R = 6378 (équatorial) alors que la convention est 6371 (moyen). En production, préférez une bibliothèque éprouvée : en Python, scipy.spatial.distance, geopy.distance ou le paquet haversine ; en JavaScript, Turf.js ou @turf/distance. Le faire à la main marche, mais on tombe sur ces pièges.

Trois scénarios. D'abord, lorsqu'il faut une grande précision sur de courtes distances — pour les levés submillimétriques ou la délimitation foncière, l'hypothèse sphérique de la haversine introduit trop d'erreur ; utilisez plutôt la formule inverse de Vincenty sur un ellipsoïde WGS84 ou un système de coordonnées projeté local (UTM, state plane). Ensuite, lorsqu'il suffit d'une distance approximative sur une petite zone — du genre « ces deux points sont-ils à moins d'1 km dans la même ville ? ». L'approximation équirectangulaire d ≈ R·√(Δφ² + (cos(φ_moy)·Δλ)²) ne fait que deux appels trigonométriques au lieu de six, tourne en un tiers du temps et reste précise à mieux que 0,1 % sur quelques centaines de kilomètres. Pour du traitement en lot massif (matcher chaque chauffeur Uber à chaque passager), l'économie compte. Enfin, lorsque les deux points sont très proches d'être antipodaux (séparation > 179,5°), la haversine naïve perd en précision — les formulations à base d'atan2 sont plus robustes. La plupart des applis n'atteignent jamais ces cas limites, donc la haversine reste le bon réflexe par défaut.
Calculatrice de Haversine - Distance orthodromique — Calculez la distance orthodromique entre deux coordonnées avec la formule de haversine. Sphère vs plan, précision, cap e
Calculatrice de Haversine - Distance orthodromique