2010-10-19 15 views

Répondre

9

Aviation Formulary est une excellente ressource qui couvre cette question et plus encore.

+0

Gardez juste à l'esprit que ces formules supposent un modèle sphérique. Des formules existent pour les ellipsoïdes (WGS84 et autres), mais elles seront beaucoup plus compliquées. Tout dépend de vos exigences de presicion. – Stefan

+0

Fonctionne bien. Bien que Lawnmower dit que c'est une estimation basée sur la sphère. Si quelqu'un peut fournir un lien vers le même algorithme pour un modèle WGS84, je l'apprécierais vraiment. – Anthony

+0

Il n'y a plus de formules simples lors du déplacement vers des ellipsoïdes, mais vous devez utiliser des approximations itératives. Commencez par http://geographiclib.sourceforge.net/html/geodesic.html et voyez les références qui y sont liées. Peut-être que vous pouvez utiliser la bibliothèque directement ou regarder le code. – hfs

-3

Dans ce cas, il devrait être très simple:

curLat = origLat + percentageOfTripCompleted*(destLat-origLat); 
curLon = origLon + percentageOfTripCompleted*(destLon-origLon); 

* Le fait que la terre est une sphère n'a vraiment aucune incidence sur ce problème.

+0

Ce n'est pas un grand cercle. – Stefan

+0

C'est incorrect. Regardez le lien dans la réponse de @ hfs. Souvenez-vous que les chemins de cercle ne sont pas des lignes droites. – Jonathan

+0

penser à celui-ci un peu plus, c'est certainement vrai. ma faute. – nosirrahcd

3

MTL fournit un bon contenu sur les calculs de grand cercle et quelques applets de travail que vous pouvez utiliser pour vérifier votre implémentation.