Différences
Ci-dessous, les différences entre deux révisions de la page.
afficher_une_carte_statique_google_map [2017/03/01 18:16] – créée physix | afficher_une_carte_statique_google_map [2017/03/01 18:42] (Version actuelle) – physix | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
[[https:// | [[https:// | ||
+ | |||
+ | Calcul de distances : | ||
+ | |||
+ | https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | Les principes sont simples. | ||
+ | |||
+ | **Pour deux points distants (Paris-New-York par exemple)** | ||
+ | |||
+ | Soit A et B les deux points, O le centre de la terre.\\ | ||
+ | Le produit scalaire de vecteurs unitaires portés par OA et OB donne le cosinius et donc l' | ||
+ | |||
+ | Les vecteurs unitaires sont donnés par xA=cos(latA)*cos(lngA), | ||
+ | L' | ||
+ | Distance = Math.acos( xA.xB+xB.yB+zA.zB)*20000/ | ||
+ | |||
+ | **Pour deux points plus proches (Paris-Marseille)** | ||
+ | |||
+ | Il est alors possible de raisonner sur une carte plane en remarquant qu'une différence de 1 minute de latitude correspond à 1852 mètres. En effet, le mètre ayant été, encore une fois, définit comme la 40 000 millième partie du méridien terrestre, 1 degré d' | ||
+ | |||
+ | Pour les différences de longitudes, il faut appliquer une coefficient réducteur égal au cosinus de la latitude moyenne (car nous ne sommes plus sur un grand cercle mais sur un cercle dont le rayon est réduit). | ||
+ | |||
+ | Ayant calculé les distances sur les deux axes de la carte, l' | ||
+ | |||
+ | Autrement dit : DeltaY = latA-latB et deltaX = (lngA-lngB).Math.cos((latA+latB)/ | ||
+ | Distance= Mat.sqrt(DeltaX*DeltaX+DeltaY*DelatY) | ||
+ | |||
+ | On vérifie que la première formule reste applicable au second cas, même pour des angles quasi nuls. | ||
+ | |||
+ | -\\ | ||
+ | Edité par 007julien 1 octobre 2015 à 12:51:30 | ||