经纬度距离计算

2021-02-26 01:49:22   个人常用封装函数

 

  1. function calculationDistance(array $start, array $end)
  2. {
  3. $start_longitude = isset($start['longitude']) ? deg2rad($start['longitude']) : 0; //起始点经度弧度
  4. $end_longitude = isset($end['longitude']) ? deg2rad($end['longitude']) : 0; //结束点经度弧度
  5. $start_latitude = isset($start['latitude']) ? deg2rad($start['latitude']) : 0; //起始点纬度弧度
  6. $end_latitude = isset($end['latitude']) ? deg2rad($end['latitude']) : 0; //结束点纬度弧度
  7. return 6378.138 * acos(cos($start_latitude) * cos($end_latitude) * cos($start_longitude - $end_longitude) + sin($start_latitude) * sin($end_latitude));
  8. }