Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul de distance entre villes : projet Orthodromie

7 réponses
Avatar
MiF
Bonjour,

J'ai rencontr=E9 sur un projet le besoin de calculer des distances entre
villes, avec int=E9gration dans une base de donn=E9es.
Je me suis donc int=E9ress=E9 =E0 l'Orthodromie, qui permet de calculer une
distance sur une sph=E8re (en prenant la courbure moyenne de la Terre,
car elle n'est pas une sph=E8re 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=E9sultat de ce travail, car je pense que d'autres
WinDeveloppeurs ont d=FB 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=E9gration dans votre
projet ou votre base de donn=E9es, je suis =E0 votre disposition.

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

7 réponses

Avatar
patrice
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
Avatar
MiF
On 17 sep, 11:59, MiF wrote:
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
Avatar
Jean Passe
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.
Avatar
patrice
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 ?
Avatar
Jean Passe
>>en anglais ca ira ?





Oui, bien sur ... :-)
Avatar
Jean Passe
Merci Patrice pour le lien.
Avatar
abdjongo
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