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.
Prend en paramètre 1 distance en mètres et retourne 1 chaine de caractères contenant une distance en mètres ou en kilomètres.
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