php-- 计算两点距离

  1. <?php
  2. class CalculateUtil {
  3. public static $EARTH_RADIUS = 6378.137; //地球半径
  4. public static function rad($d)
  5. {
  6. return $d * pi() / 180.0;
  7. }
  8. /*
  9. * $lat1 A点经度
  10. * $lng1 A点维度
  11. * $lat2 B点经度
  12. * $lng2 B点经度
  13. * return 两点间距离 单位KM
  14. */
  15. public static function GetDistance($lat1, $lng1, $lat2, $lng2)
  16. {
  17. $radLat1 = self::rad($lat1);
  18. $radLat2 = self::rad($lat2);
  19. $a = $radLat1 - $radLat2;
  20. $b = self::rad($lng1) - self::rad($lng2);
  21. $s = 2 * asin(sqrt(pow(sin($a/ 2), 2) +
  22. cos($radLat1)*cos($radLat2)*pow(sin($b/ 2), 2)));
  23. $s = $s * self::$EARTH_RADIUS;
  24. $s = round($s * 10000) / 10000;
  25. return $s;
  26. }
  27. }

原文地址

https://blog.csdn.net/sinat_16493273/article/details/47081505

猜你喜欢

转载自blog.csdn.net/Purgatory001/article/details/80911482