Calcul de distance entre villes : projet Orthodromie

Le
MiF
Bonjour,

J'ai rencontré sur un projet le besoin de calculer des distances entre
villes, avec intégration dans une base de données.
Je me suis donc intéressé à l'Orthodromie, qui permet de calculer une
distance sur une sphère (en prenant la courbure moyenne de la Terre,
car elle n'est pas une sphère parfaite). Le but du projet n'est pas de
calculer une distance par la route, mais la distance la plus courte
respectant la courbure de la terre.

Je vous transmets le résultat de ce travail, car je pense que d'autres
WinDeveloppeurs ont dû rencontrer cette demande.
Le projet est en WD11 et propose quelques exemples de calcul :
http://www.hexo7.com/download/orthodromie.zip

Si vous avez besoin d'un coup de main pour intégration dans votre
projet ou votre base de données, je suis à votre disposition.

Michel Fages
Freelance WinDev
http://www.telepode.com/freelance-windev
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
patrice
Le #17255661
MiF a écrit :
Bonjour,

J'ai rencontré sur un projet le besoin de calculer des distances entre
villes, avec intégration dans une base de données.
Je me suis donc intéressé à l'Orthodromie, qui permet de calculer une
distance sur une sphère (en prenant la courbure moyenne de la Terre,
car elle n'est pas une sphère parfaite). Le but du projet n'est pas de
calculer une distance par la route, mais la distance la plus courte
respectant la courbure de la terre.

Je vous transmets le résultat de ce travail, car je pense que d'autres
WinDeveloppeurs ont dû rencontrer cette demande.
Le projet est en WD11 et propose quelques exemples de calcul :
http://www.hexo7.com/download/orthodromie.zip

Si vous avez besoin d'un coup de main pour intégration dans votre
projet ou votre base de données, je suis à votre disposition.

Michel Fages
Freelance WinDev
http://www.telepode.com/freelance-windev



sur le net on trouve tres facilement une procedure "haversine" qui fait
ca tres bien en 6 lignes :

R = earth’s radius (mean radius = 6,371km)
dlat = lat2- lat1
dlong = long2- long1
a = sin^2(dlat/2) + cos(lat1).cos(lat2).sin^2(dlong/2)
c = 2.atan2(sqrt(a), sqrt(1-a))
d = R.c

détail sur : http://www.movable-type.co.uk/scripts/latlong.html
MiF
Le #17260011
On 17 sep, 11:59, MiF
Bonjour,

J'ai rencontré sur un projet le besoin de calculer des distances entre
villes, avec intégration dans une base de données.
Je me suis donc intéressé à l'Orthodromie, qui permet de calculer u ne
distance sur une sphère (en prenant la courbure moyenne de la Terre,
car elle n'est pas une sphère parfaite). Le but du projet n'est pas de
calculer une distance par la route, mais la distance la plus courte
respectant la courbure de la terre.

Je vous transmets le résultat de ce travail, car je pense que d'autres
WinDeveloppeurs ont dû rencontrer cette demande.
Le projet est en WD11 et propose quelques exemples de calcul :http://www. hexo7.com/download/orthodromie.zip

Si vous avez besoin d'un coup de main pour intégration dans votre
projet ou votre base de données, je suis à votre disposition.

Michel Fages
Freelance WinDevhttp://www.telepode.com/freelance-windev



Bonjour,

Suite à quelques demandes, j'ai porté le projet en WD10 :
http://www.hexo7.com/download/orthodromie10.zip

Michel Fages
Jean Passe
Le #17267631
Salut Michel,

Ton projet est intéressant pour moi.
Je ne veux pas te demander la conversion en version 9, juste j'aimerais
savoir comment tu as fait pour contourner la limite de WD à ATAN (et non
ATAN2, à moins que dans les versions 10 et 11 la fonction existe) ?

Merci.

Jan, pas matheux non plus.
patrice
Le #17269581
Jean Passe a écrit :
Salut Michel,

Ton projet est intéressant pour moi.
Je ne veux pas te demander la conversion en version 9, juste j'aimerais
savoir comment tu as fait pour contourner la limite de WD à ATAN (et non
ATAN2, à moins que dans les versions 10 et 11 la fonction existe) ?


http://msdn.microsoft.com/en-us/library/bb238940.aspx

Atan2(a,b) equals Atan(b/a), except that a can equal 0 in Atan2.

Jan, pas matheux non plus.



en anglais ca ira ?
Jean Passe
Le #17270411
>>en anglais ca ira ?





Oui, bien sur ... :-)
Jean Passe
Le #17271321
Merci Patrice pour le lien.
abdjongo
Le #20564891
patrice a écrit le 17/09/2008 à 19h46 :
MiF a écrit :
Bonjour,

J'ai rencontré sur un projet le besoin de calculer des distances entre
villes, avec intégration dans une base de données.
Je me suis donc intéressé à l'Orthodromie, qui permet de
calculer une
distance sur une sphère (en prenant la courbure moyenne de la Terre,
car elle n'est pas une sphère parfaite). Le but du projet n'est pas de
calculer une distance par la route, mais la distance la plus courte
respectant la courbure de la terre.

Je vous transmets le résultat de ce travail, car je pense que d'autres
WinDeveloppeurs ont dû rencontrer cette demande.
Le projet est en WD11 et propose quelques exemples de calcul :
http://www.hexo7.com/download/orthodromie.zip

Si vous avez besoin d'un coup de main pour intégration dans votre
projet ou votre base de données, je suis à votre disposition.

Michel Fages
Freelance WinDev
http://www.telepode.com/freelance-windev




sur le net on trouve tres facilement une procedure "haversine" qui
fait
ca tres bien en 6 lignes :

R = earth’s radius (mean radius = 6,371km)
dlat = lat2- lat1
dlong = long2- long1
a = sin^2(dlat/2) + cos(lat1).cos(lat2).sin^2(dlong/2)
c = 2.atan2(sqrt(a), sqrt(1-a))
d = R.c

détail sur : http://www.movable-type.co.uk/scripts/latlong.html


Hi MIF,

apres verification j'ai remarque que la formule Haversine tel que presente ici ne donnait pas le bon resultat ( cfr ex dans ma question pose sur le forum) en essayant de modifier la formule j'ai fini pa trouver ou se trouve le probleme il faut utiliser c= 2.atan2(sqrt(1-a),sqrt(a)) et la on obtient le bon resultat. Merci pour la formule elle va beaucoup m'aider dans ma base de donnees access
Publicité
Poster une réponse
Anonyme