Advertisement
quang4dev

Distance calculate

Aug 15th, 2023
981
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.83 KB | None | 1 0
  1.     private function distance($currentCity, $city, $unit = 'M')
  2.     {
  3.         $lat1 = $currentCity->latitude;
  4.         $lon1 = $currentCity->longitude;
  5.         $lat2 = $city->latitude;
  6.         $lon2 = $city->longitude;
  7.         if ($lat1 == $lat2 && $lon1 == $lon2) {
  8.             return 0;
  9.         }
  10.         $theta  = $lon1 - $lon2;
  11.         $dist   =
  12.             sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +
  13.             cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
  14.         $dist   = acos($dist);
  15.         $dist   = rad2deg($dist);
  16.         $miles  = $dist * 60 * 1.1515;
  17.         $unit   = strtoupper($unit);
  18.  
  19.  
  20.         if ($unit == "K") {
  21.             return ($miles * 1.609344);
  22.         } elseif ($unit == "N") {
  23.             return ($miles * 0.8684);
  24.         } else {
  25.             return $miles;
  26.         }
  27.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement