25 Sept 2008
Calcul la distance entre 2 points en km - PHP Sources
Compatibilité : PHP 5, PHP 7
Ce source calcule la distance entre deux paires de coordonnées de latitude et de longitude. Renvoie la distance en miles ou en kilomètres.
Cette fonction calcule la distance en mètres à vol d'oiseau entre deux points dont on connait la latitude et la longitude en degrés décimaux.
L'exemple calcule la distance à vol d'oiseau entre Paris (lat = 48.856667, lng = 2.350987) et Lyon (lat = 45.767299, lng = 4.834329).
echo (round(get_distance_m(48.856667, 2.350987, 45.767299, 4.834329) / 1000, 3)) . ' km';
Le résultat est affiché en kilomètres:
// affiche 391.613 km
|
|
php.net | Description | Versions PHP | OUTIL |
---|---|---|---|
atan2 | Arc tangent de deux variables | PHP 4, PHP 5, PHP 7, PHP 8 | |
cos | Cosinus | PHP 4, PHP 5, PHP 7, PHP 8 | |
deg2rad | Convertit un nombre de degrés en radians | PHP 4, PHP 5, PHP 7, PHP 8 | |
echo | Affiche une chaîne de caractères | PHP 4, PHP 5, PHP 7, PHP 8 | |
return | Retourne le controle du programme au module appelant. | PHP 4, PHP 5, PHP 7, PHP 8 | |
round | Arrondi un nombre à virgule flottante | PHP 4, PHP 5, PHP 7, PHP 8 | |
sin | Sinus | PHP 4, PHP 5, PHP 7, PHP 8 | |
sqrt | Racine carrée | PHP 4, PHP 5, PHP 7, PHP 8 | |
Ce source calcule la distance entre deux paires de coordonnées de latitude et de longitude. Renvoie la distance en miles ou en kilomètres.
Détermine si deux nombres sont premiers entre eux. 2 nombres entiers sont premiers entre eux si leur PGCD vaut 1
Convertit des coordonnées polaires en coordonnées cartésiennes. Retourne un tableau associatif.
Convertit des coordonnées cartésiennes en coordonnées polaires. Retourne un tableau associatif.
Renvoie la distance euclidienne entre les points passés en tant qu'arguments de fonction.
Invité
26 Aout 2021 à 01:03Merci bien pour le code bien clair et compréhensible
Invité
06 Juin 2020 à 18:56Merci pour ces explications, existe aussi pour mysql, et si il y a l'erreur 1418 il faut ajouter avant la requete : SET GLOBAL log_bin_trust_function_creators = 1;
Invité
08 Fév 2020 à 21:37Merci bcp pour cette explication
Invité
04 Nov 2019 à 11:36Merci beaucoup pour ce code !
Forty
17 Déc 2013 à 08:37Pour mémoire 1 km = 1000 mètres
En plus c'est bien indiqué que la fonction retourne des mètres.
Il suffit donc de supprimer la division par 1000 :
Ce qui donne avec cet exemple :
J'ai supprimé l'arrondi mais tu peux le laisser avec 0 décimales pour avoir des mètres sans virgule.
Invité
17 Déc 2013 à 07:50Bonjour comment faire pour afficher le résultat en mètre parcque là, c'est en km.
Invité
10 Oct 2013 à 22:33N'importe quoi, un langage serveur s'exécute indépendamment du navigateur.
Invité
28 Aout 2013 à 10:37Bonjour
Le calcul fonctionne sur firefox et non sur ie ou chrome.
Invité
16 Jan 2011 à 11:38Les coordonnées polaires sont constituées, avec un point de départ, d'une distance et d'un angle en radian.
Tu sais que la-dite distance est le module, c'est -à dire racine carrée de la somme des carrés de x et y.
Si tu suis la règle du triangle rectangle, tu as cos de l'angle qui est égal à l'abscisse x sur la longueur ( côté adjacent sur l'hypothénuse si mes ouvenirs sont bons. De là, tu tires x et y, d'où les coordonées carthésiennes.
Cordialement
Invité
30 Aout 2010 à 15:38Comment peut-on convertir des coordonnées polaires en des coordonnées cartésiennes
Forty
20 Jan 2010 à 11:09la solution est ici : Calcul de la Distance entre deux coordonnées GPS avec MySQL
Invité
20 Jan 2010 à 11:00Problè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.
Forty
19 Oct 2009 à 11:36Il y a une version MySQL ici : Calcul de la Distance entre deux coordonnées GPS avec MySQL