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
[21] sources en PHP voir
Code vu 10454 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

: 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.
 
Comment peut-on convertir des coordonnées polaires en des coordonnées cartésiennes
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Maths

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité