Section courante

A propos

Section administrative du site

Une des fonctions les plus communes de la géographie et des systèmes modernes, c'est le calcul de la distance géographique entre deux coordonnées de Longitude et de Latitude. Il n'y a aucune nécessité de grande connaissance en trigonométrie pour arriver à se genre de calcul dans le format qu'on le souhaite, Km, Miles ou Miles Nautiques. Ainsi, si vous savez les coordonnées suivantes :

Ville Latitude Longitude
Montréal 45 31N 73 34O
Paris 48 50N 2 20E

A l'aide du code source ABC suivant, vous trouvez la réponse que vous souhaitez :

  1. HOW TO RETURN arccos (a):
  2.    SELECT:
  3.       abs a = 1:
  4.          RETURN (1 - a) * pi / 2 
  5.       ELSE:
  6.          RETURN (arctan(-a / (root (1 - a * a)))) + 2 * (arctan 1) 
  7.      
  8. HOW TO RETURN coordtodeltakm (q1latitude,q1latideg,q1latidirection,q1longitude,q1longdeg,q1longdirection,q2latitude,q2latideg,q2latidirection,q2longitude,q2longdeg,q2longdirection):
  9.     PUT (q1latitude+(q1latideg/60.0))*pi/180 IN a1
  10.     IF q1latidirection="N":
  11.        PUT -a1 IN a1
  12.     PUT (q1longitude+(q1longdeg/60.0))*pi/180 IN b1
  13.     IF q1longdirection="O":
  14.        PUT -b1 IN b1
  15.     PUT (q2latitude+(q2latideg/60.0))*pi/180 IN a2
  16.     IF q2latidirection="N":
  17.        PUT -a2 IN a2
  18.     PUT (q2longitude+(q2longdeg/60.0))*pi/180 IN b2
  19.     IF q2longdirection="O":
  20.        PUT -b2 IN b2
  21.     RETURN (arccos (((cos a1)*(cos b1)*(cos a2)*(cos b2)) + ((cos a1)*(sin b1)*(cos a2)*(sin b2)) + ((sin a1)*(sin a2)))) * 6378.0 
  22.      
  23. HOW TO RETURN coordtodeltastatutemiles(q1latitude,q1latideg,q1latidirection,q1longitude,q1longdeg,q1longdirection,q2latitude,q2latideg,q2latidirection,q2longitude,q2longdeg,q2longdirection):
  24.     PUT (q1latitude+(q1latideg/60.0))*pi/180 IN a1
  25.     IF q1latidirection="N":
  26.        PUT -a1 IN a1
  27.     PUT (q1longitude+(q1longdeg/60.0))*pi/180 IN b1
  28.     IF q1longdirection="O":
  29.        PUT -b1 IN b1
  30.     PUT (q2latitude+(q2latideg/60.0))*pi/180 IN a2
  31.     IF q2latidirection="N":
  32.        PUT -a2 IN a2
  33.     PUT (q2longitude+(q2longdeg/60.0))*pi/180 IN b2
  34.     IF q2longdirection="O":
  35.        PUT -b2 IN b2
  36.     RETURN (arccos (((cos a1)*(cos b1)*(cos a2)*(cos b2)) + ((cos a1)*(sin b1)*(cos a2)*(sin b2)) + ((sin a1)*(sin a2)))) * 3963.1 
  37.      
  38. HOW TO RETURN coordtodeltanauticalmiles(q1latitude,q1latideg,q1latidirection,q1longitude,q1longdeg,q1longdirection,q2latitude,q2latideg,q2latidirection,q2longitude,q2longdeg,q2longdirection):
  39.     PUT (q1latitude+(q1latideg/60.0))*pi/180 IN a1
  40.     IF q1latidirection="N":
  41.        PUT -a1 IN a1
  42.     PUT (q1longitude+(q1longdeg/60.0))*pi/180 IN b1
  43.     IF q1longdirection="O":
  44.        PUT -b1 IN b1
  45.     PUT (q2latitude+(q2latideg/60.0))*pi/180 IN a2
  46.     IF q2latidirection="N":
  47.        PUT -a2 IN a2
  48.     PUT (q2longitude+(q2longdeg/60.0))*pi/180 IN b2
  49.     IF q2longdirection="O":
  50.        PUT -b2 IN b2
  51.     RETURN (arccos (((cos a1)*(cos b1)*(cos a2)*(cos b2)) + ((cos a1)*(sin b1)*(cos a2)*(sin b2)) + ((sin a1)*(sin a2)))) * 3443.9 
  52.      
  53. WRITE "Distance entre Montréal et Paris en Km: "
  54. WRITE coordtodeltakm(45, 31,'N', 73, 34,'O',    48, 50,'N', 2,  20,'E') /
  55. WRITE "Distance entre Montréal et Paris en Miles: "
  56. WRITE coordtodeltastatutemiles(45, 31,'N', 73, 34,'O',    48, 50,'N', 2,  20,'E') /
  57. WRITE "Distance entre Montréal et Paris en Miles Nautique: "
  58. WRITE coordtodeltanauticalmiles(45, 31,'N', 73, 34,'O',    48, 50,'N', 2,  20,'E') /
  59.  

on obtiendra le résultat suivant :

Distance entre Montréal et Paris en Km: 5510.16761889
Distance entre Montréal et Paris en Miles: 3423.85470217
Distance entre Montréal et Paris en Miles Nautique: 2975.30044884


Dernière mise à jour : Samedi, le 28 novembre 2015