GPS - calcul de distance

Signaler
Messages postés
25
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
4 juillet 2008
-
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
-
Bonjour,

j'ai un problème avec le source suivante, que j'ai trouvé sur VBFRANCE ... cela focntionne mais mal.... au lieu de trouver une distance d'aproximativement 620m cela me retourne 17m....

Merci d'avance pour votre aide,

'definition des variables
Global long1_lonA, long1_LatA

Private Sub P_Map_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'pour info
    ' long1_lonA = 430,24602
    ' long1_LatA = 4355,40266
    ' RM2.Fields("Longitude") = 430,22218
    ' RM2.Fields("Latitude") = 4355,28036
      

    ''''' Calcul de la distance
    msgbox Dst_PP(Val(long1_lonA), Val(long1_LatA), Val(RM2.Fields("Longitude")), Val(RM2.Fields("Latitude")))

End Sub

Function Dst_PP(ByVal lonA, ByVal latA, ByVal lonB, ByVal latB)
Const PI = 3.14159265358979
Const rad = 0.0174532925
 
    lonA = lonA * rad
    lonB = lonB * rad

    latA = latA * rad
    latB = latB * rad
    If latB - latA 0 Then Dst_PP 0: Exit Function
    Dst_PP = (1 / rad) * 1.853 * 60 * ArcCos(Cos(latA) * Cos(latB) * Cos(lonB - lonA) + Sin(latA) * Sin(latB))    'On multiplie par 1.853 pour convertir en Km car ce sont des miles
    Dst_PP = FormatNumber(Dst_PP, 4)
End Function

Function ArcSin(X)
    ArcSin = Atn(X / Sqr(-X * X + 1))
End Function

Function ArcCos(X)
    ArcCos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
End Function

3 réponses

Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

SVPLatA DD.ccccc ?LonA DDD.ccccc ?LatB DD.ccccc ?LonB DDD.ccccc ?
Merci pour reponse.... A+ sur vbFrance
Messages postés
25
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
4 juillet 2008

j'ai mis les valeurs en commentaires en dessus l'appel à la focntion "Dst_PP"
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
Bonjour,

[...] "j'ai un problème avec le source suivante, que j'ai trouvé sur VBFRANCE " [...]

pourquoi ne pas poser la question à l'auteur ? tout simplement...

Amicalement,
Us.