posée 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 vote
répondu 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;
}

Tendances

Questions liées

1 réponse
1 réponse
1 réponse
1 réponse
posée par anonyme 27-Aout-2018

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

...