Maison > développement back-end > tutoriel php > PHP 中根据经度和纬度计算距离

PHP 中根据经度和纬度计算距离

WBOY
Libérer: 2016-07-25 08:42:53
original
1137 Les gens l'ont consulté

这是一个非常有用的距离计算函数,利用纬度和经度计算从 A 地点到 B 地点的距离。该函数可以返回英里,公里,海里三种单位类型的距离。

  1. function distance($lat1, $lon1, $lat2, $lon2, $unit) {
  2. $theta = $lon1 - $lon2;
  3. $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
  4. $dist = acos($dist);
  5. $dist = rad2deg($dist);
  6. $miles = $dist * 60 * 1.1515;
  7. $unit = strtoupper($unit);
  8. if ($unit == "K") {
  9. return ($miles * 1.609344);
  10. } else if ($unit == "N") {
  11. return ($miles * 0.8684);
  12. } else {
  13. return $miles;
  14. }
  15. }
  16. //用法:
  17. echo distance(32.9697, -96.80322, 29.46786, -98.53506, "k")." kilometers";
复制代码

PHP


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal