Je mets ci-dessous la réponse que m'a envoyé SibosisITS pour ceux que ça pourrait intéresser. en lui renouvellant mes remerciements.
@+
------------------------------------------------------------
Je m'excuse de ne pas répondre dans le forum, mais ça ne marche pas là-bas : il doit y avoir un problème : Donc je vous répond directement
Les données GPS sont en realite les latitude, longitude et altitude du point considere. Pour un calcul de distance entre deux points, compte tenu de la marge d'erreur du GPS, et du rayon moyen de la terre (6375 km), on négligera l'altitude du lieu... Le GPS fournit en réalité des écoordonnées sphérique, le centre du repère étant le centre de la Terre.
Considérons deux point A1 et A2 de coordonnées sphériques respectives (R, La1, Lg1) et (R, La2, Lg2) où R=6375 km, le rayon de la terre, Lai est la latitude du point Ai, Lgi sa longitude.
Pour calculer la distance entre ces points, on passe tout d'abord en coordonnées cartésiennes (On choisit le repère (O, x, y, z), O=centre de la terre, x et y deux vecteur centres en O et situe dans le plan equatorial, z selon l'axe Nord-Sud) : On obtient les coordonnées suivante :
A1 : (R*cos(La1)*cos(Lg1), R*cos(La1)*sin(Lg1), R*sin(La1)) et A2 : (R*cos(La2)*cos(Lg2), R*cos(La2)*sin(Lg2), R*sin(La2))
La distance entre les points A1 et A2 voulue ici est en fait la longueur de l'arc du cercle de centre O passant par les points A1 et A2 : Il nous faut donc connaître l'angle 'T' forme par les vecteurs OA1 et OA2
Or, cos(T) = ( OA1 | OA2 ) / R² ( _ | _ ) est le produit scalaire
Notons donc H = cos(T) = cos(La1)*cos(Lg1)*cos(La2)*cos(Lg2) + cos(La1)*cos(La2)*sin(La2)*sin(La2) + sin(La1)*sin(La2)
On a ainsi au Final la longueur A1A2 de l'arc:
A1A2 = R*Arccos(H)
Voila !!! j'espere que c'est ce que vous cherchiez !
Enfin, pour l'heure de lever et de coucher du soleil, je ne sais pas, mais une chose est sûr : ça ne dépend pas seulement de des coordonnées GPS du lieu, mais aussi du jour pour lequel on veut effectuer les calculs...
@+ (: Sibo ;)
|