par

Comment calculer l'azimut entre deux coordonnées GPS, c'est à dire les degrés entre deux latitudes et longitudes, avec PHP ?

1 Réponse

+1 validé
par

Si tu disposes des coordonnées GPS latitude et longitude des deux points, tu peux calculer l'azimut en degrés, et ensuite utiliser une seconde fonction pour obtenir un résultat avec les points cardinaux.

  • $latuser et $lnguser sont la latitude et la longitude du point de départ.
  • $spot_lat et $spot_lng sont la latitude et la longitude du point d'arrivée.

Voici la formule pour calculer l'azimut en degrés avec PHP :

$degres = (rad2deg(atan2(sin(deg2rad($spot_lng) - deg2rad($lnguser)) * cos(deg2rad($spot_lat)), cos(deg2rad($latuser)) * sin(deg2rad($spot_lat)) - sin(deg2rad($latuser)) * cos(deg2rad($spot_lat)) * cos(deg2rad($spot_lng) - deg2rad($lnguser)))) + 360) % 360;

Pour obtenir les points cardinaux tu peux utiliser la fonction suivante :

function getCardinaux($degres) {
   $tmp = round($degres/ 22.5);
   switch($tmp) {
      case 1:
         $direction = "NNE";
         break;
      case 2:
         $direction = "NE";
         break;
      case 3:
         $direction = "ENE";
         break;
      case 4:
         $direction = "E";
         break;
      case 5:
         $direction = "ESE";
         break;
      case 6:
         $direction = "SE";
         break;
      case 7:
         $direction = "SSE";
         break;
      case 8:
         $direction = "S";
         break;
      case 9:
         $direction = "SSW";
         break;
      case 10:
         $direction = "SW";
         break;
      case 11:
         $direction = "WSW";
         break;
      case 12:
         $direction = "W";
         break;
      case 13:
         $direction = "WNW";
         break;
      case 14:
         $direction = "NW";
         break;
      case 15:
         $direction = "NNW";
         break;
      default:
         $direction = "N";
   }
   return $direction;
}

Lecture Recommandée

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Offre Sponsorisée

Ailleurs sur le Web

Questions liées

1 réponse
1 réponse
posée par anonyme 26-Juillet-2019
1 réponse
1 réponse
1 réponse
posée par anonyme 27-Aout-2018
2 réponses
1 réponse

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...