Vous êtes ici Codes PHP et MySQL > Maths > Distance en mètre entre deux points avec...

 

Distance en mètre entre deux points avec coordonnées GPS

Cette fonction permet de calculer la distance en mètres entre deux points dont on connaît la latitude et la longitude en degrés décimaux.
L'exemple ci-dessous permet de calculer la distance à vol d'oiseau entre Paris(lat = 48.856667, lng = 2.350987) et Lyon (lat = 45.767299, lng = 4.834329). Le resultat est affiché en kilomètres.
 
forty
Site de l'auteur voir
[19] sources en PHP voir
Vu 7755 fois
Enregistré le 25 Sept 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Distance en mètre entre deux points avec coordonnées GPS
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Distance en mètre entre deux points avec coordonnées...   */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts459-PHP.htm              */
/* Auteur         : forty                                                     */
/* Date édition   : 25 Sept 2008                                              */
/* Website auteur : http://www.toplien.fr/                                    */
/*                                                                            */
/******************************************************************************/

// renvoi la distance en mètres
function get_distance_m($lat1$lng1$lat2$lng2) {
  $earth_radius 6378137;   // Terre = sphère de 6378km de rayon
  $rlo1 deg2rad($lng1);
  $rla1 deg2rad($lat1);
  $rlo2 deg2rad($lng2);
  $rla2 deg2rad($lat2);
  $dlo = ($rlo2 $rlo1) / 2;
  $dla = ($rla2 $rla1) / 2;
  $a = (sin($dla) * sin($dla)) + cos($rla1) * cos($rla2) * (sin($dlo) * sin($dlo
));
  $d atan2(sqrt($a), sqrt($a));
  return ($earth_radius $d);
}

echo (round(get_distance_m(48.8566672.35098745.7672994.834329) / 10003))
 . ' km';
// affiche 391.613 km
?>

 

Fonctions du code source

: Convertit un nombre de degrés en radians - (PHP 4, PHP 5)
: Cosinus - (PHP 4, PHP 5)
: Sinus - (PHP 4, PHP 5)
: Arc tangent de deux variables - (PHP 4, PHP 5)
: Racine carrée - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: -
Commentaires
 
Problème inverse :

Connaissant les coordonnées GPS d'une commune ($lat1, $lng1), comment déterminer les latitudes min et max, et les longitudes min et max, d'un cercle de rayon donné (par exemple 20km) dont le centre est ($lat1, $lng1) ?
Autrement dit, comment pouvoir déterminer les communes situées autour d'une commune donnée dans un rayon de 20km ?

Merci d'avance pour vos réponses.
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
 
 On Focus
Dev référencement Visiter Dev3w qui est un outil de référencement de sites.

Référencement gratuit