Bonjour,
Je viens de remarquer quelque chose d'assez bizarre quand j'utilise le module Math::Trig qw(great_circle_distance deg2rad) pour calculer la distance entre deux points géographiques, alors quand je prends l'exemple suivant :
Logiquement je dois trouver 0 km et bien non je trouve 0,0000950396060943604 km.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 use Math::Trig qw(great_circle_distance deg2rad); sub NESW { deg2rad($_[0]), deg2rad(90 - $_[1])} my @L = NESW(5.761080000, 36.822300000); my @T = NESW(5.76108, 36.8223); my $km = great_circle_distance(@L, @T, 6378); print("$km\n");
J'ai utilisé l'exemple le plus répondu sur internet à ce sujet :
Moi je trouve 9605.26637021388 km et non 9600 km
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 use Math::Trig qw(great_circle_distance deg2rad); sub NESW { deg2rad($_[0]), deg2rad(90 - $_[1]) } my @L = NESW( -0.5, 51.3); my @T = NESW(139.8, 35.7); my $km = great_circle_distance(@L, @T, 6378); # About 9600 km. print("$km\n");.
Est-ce que c'est la même chose pour vous ? Peut-être que j'utilise mal le module ou alors le calcul n'est pas très précis.
Merci de m'aider.
H.
Partager