Comment calculer la distance aérienne entre deux endroits?


17

La plupart du temps, je cherche un moyen de calculer la distance aérienne entre deux endroits, le plus souvent les centres-villes.

Par exemple, lorsque j'ai pris l'avion de Zurich à Helsinki, je voulais savoir jusqu'où c'était. Avec Google Maps, je peux le faire, mais pas pour la distance aérienne.

Alors, quelqu'un connaît-il un outil pour le faire ou peut-il me donner des conseils sur la façon de le faire manuellement en utilisant les coordonnées géographiques? Ensuite, je pourrais écrire mon propre petit outil.


1
La distance entre les lignes aériennes a-t-elle un sens lorsque vous voyagez entre deux petits aéroports uniquement via un hub éloigné?
mouviciel

1
Evidemment non ...
RoflcoptrException

3
Petite pensée: les petits avions doivent-ils rester à une certaine distance de la terre en cas de panne moteur? Je pensais avoir vu un site qui le disait. Si tel est le cas, la distance du grand cercle ne serait pas toujours précise.
barrycarter

@barrycarter: les avions s'écarteront du chemin le plus court pour toutes sortes de raisons, comme éviter les tempêtes et utiliser le jet stream pour aller plus vite. Il n'est donc même pas possible de toujours savoir à l'avance.
Michael Borgwardt

Vous avez déjà obtenu une réponse complète, donc c'est sans objet maintenant, mais «air-line» a apparemment généré une certaine confusion. Je suppose que vous vouliez dire Luftlinie , auquel cas «ligne droite», «beeline» ou «à vol d'oiseau» seraient des façons plus idiomatiques de le mettre en anglais.
Détendu

Réponses:


18

Le meilleur endroit pour ces calculs est le site Web «Great Circle Mapper».

http://www.gcmap.com/

Pour trouver la distance entre deux ou plusieurs aéroports, entrez-les simplement avec des tirets entre eux. par exemple, JFK-DFW ou SFO-IAD-LHR

Vous pouvez effectuer plusieurs trajets à la fois en les séparant par des virgules. JKF-DFW, SFO-IAD-LHR


Notez que ces valeurs sont une limite inférieure sur la distance réelle qu'un avion parcourra entre les aéroports.
ESultanik

Notez cela dans le règlement de l'UE sur les retards / annulations de vol (CE) n ° 261/2004: "Les distances indiquées aux paragraphes 1 et 2 doivent être mesurées par la méthode du grand cercle".
chx

13

À tous les répondants qui recommandent les mathématiques du Grand Cercle, vous n'avez que partiellement raison.

La distance entre deux points sur une sphère est trouvée par GC Maths, mais l'OP a spécifiquement demandé la distance de la ligne aérienne. Ceci est trouvé en trouvant d'abord tous les points visités en route vers la destination, puis en calculant les distances GC pour toutes les paires de routes.

Par exemple, un vol de Londres à New York ne suit pas le grand cercle entre les deux points. Il suit un ensemble de points, qui peuvent inclure des aides à la navigation, des points de cheminement, des voies aériennes, des itinéraires de départ, des itinéraires d'arrivée, des repères lat / long et des points de portée. voir Plan de vol pour plus d'informations.

Vous devrez donc contacter la compagnie aérienne concernée et lui demander gentiment le plan de vol utilisé, et trouver les lat longs pour chacun des points visités.


C'est exactement ce que je pensais!
Ankur Banerjee

1
Je crois que l'OP pose vraiment des questions sur la grande distance du cercle, «air-line» signifie ici la «Luftlinie» allemande et n'a rien à voir avec les «compagnies aériennes».
Détendu

11

De nombreuses compagnies aériennes incluent ces informations dans leurs horaires. Par exemple, Air Canada vous permet de télécharger un PDF de leur horaire complet. En voici un extrait:

entrez la description de l'image ici

Je suggère de rechercher le site Web de la compagnie aérienne que vous avez l'intention d'utiliser. Tout outil basé sur la distance réelle entre les villes peut être différent de 20 à 30 miles de la distance de la compagnie aérienne.


Les distances dans les catalogues (pour les miles de fidélisation, etc.) sont généralement les mêmes distances optimales du grand cercle que celles fournies par GCMap. Les distances réelles varient d'un jour à l'autre en fonction des vents, du contrôle de la circulation aérienne, etc.
lambshaanxy

7

Si vous voulez le calculer vous-même, la loi sphérique des cosinus est probablement la façon la plus simple de s'y prendre. Il sera probablement assez précis pour vos besoins et est vraiment simple. Si vous le voulez en python, essayez mon code (vous voudriez calculate_distance_and_bearing)

Vous voudrez probablement aussi les informations de localisation pour les différents aéroports d'intérêt. J'ai eu tendance à utiliser The Global Airport Database dans le passé pour ce genre de choses.


5

Si vous voulez faire ce calcul pour les vols, vous devrez utiliser la loi sphérique des cosinus comme l'a mentionné Gagravarr. Cependant, si vous souhaitez écrire votre propre petit outil et tracer une ligne sur une carte, cela devient un peu délicat. Vous devez utiliser une carte de projection Lambert pour tracer une ligne droite de A à B dessus. Le problème avec la projection conique conforme de Lambert est que ces cartes ne sont précises que le long des deux parallèles de référence, et plus vous vous en éloignez, moins elles sont précises. Ce n'est généralement pas le cas et émettez sur de petites cartes qui ne couvrent que 100 x 100 km, mais plus la carte est grande, plus la marge d'erreur est grande. Cela a quelque chose à voir avec le fait que la terre est ronde, et vous ne pouvez pas faire une cartographie exacte 1: 1 d'une surface ronde à une surface plane.

Google maps (et toutes les cartes nautiques) utilise une projection de carte cylindrique , cela signifie que vous devrez dessiner des courbes sur la carte pour obtenir le même itinéraire que vous le feriez avec une ligne droite sur une projection Lambert.




3

En plus des options déjà mentionnées, milecalc.com effectuera également ce calcul, en utilisant la distance Great Circle, qui est la valeur généralement utilisée pour le calcul du kilométrage des voyageurs fréquents, etc.


2

Voir ici: http://www.movable-type.co.uk/scripts/latlong.html

var R = 6371; // Earth's average radius in km
var dLat = (lat2-lat1).toRad();
var dLon = (lon2-lon1).toRad();
var lat1 = lat1.toRad();
var lat2 = lat2.toRad();

var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
        Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c;


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.