J'ai deux coordonnées WGS84, latitude et longitude en degrés. Ces points sont plutôt proches les uns des autres, par ex. seulement un mètre d'intervalle.Comment calculer l'azimut (angle au nord) entre deux coordonnées WGS84
Existe-t-il un moyen facile de calculer l'azimut de la ligne entre ces points, c'est-à-dire l'angle vers le nord?
L'approche naïve serait de supposer un système de coordonnées cartésiennes (parce que ces points sont tellement rapprochés) et il suffit d'utiliser
sin (a) = abs (L2-L1)/sqrt (SQR (L2-L1) + SQR (B2-B1))
a = azimut L1, L2 = longitude B1, B2 = latitude
l'erreur est plus grande que les coordonnées se déplacer loin de l'équateur, car il la distance entre deux degrés longitudinaux deviennent de plus en plus petits que celui entre deux degrés latitudinaux (qui reste onstant).
J'ai trouvé des formules assez complexes que je ne veux pas vraiment implémenter car elles semblent trop compliquées pour des points aussi proches les uns des autres et je n'ai pas besoin de très haute précision (deux décimales suffisent, probablement une bien soit parce qu'il y a d'autres facteurs qui réduisent la précision de toute façon, comme celui que le GPS retourne).
Peut-être que pourrait simplement déterminer un facteur de correction longitudinale approximative en fonction de la latitude et utiliser somthing comme ceci:
sin (a) = abs (L2 * f-L1 * f)/sqrt (SQR (L2 * f -L1 * f) + SQR (B2-B1))
où f est le facteur de correction
Tout conseils?
(Je ne veux pas utiliser des bibliothèques pour cela, surtout pas ceux qui nécessitent pas MPLed Delphi licences d'exécution. Source serait grande.)
Pour ce que ça vaut, le terme que vous recherchez est "heading". – hobbs