fork download
  1. <?php
  2. function encludean_method($lat1, $lon1, $lat2, $lon2)
  3. {
  4. $R = 6372.8; // km
  5.  
  6. $lat1 = deg2rad($lat1);
  7. $lat2 = deg2rad($lat2);
  8. $lon1 = deg2rad($lon1);
  9. $lon2 = deg2rad($lon2);
  10.  
  11. $a = (cos($lat2) * cos($lon2)) - (cos($lat1) * cos($lon1));
  12. $b = (cos($lat2) * sin($lon2)) - (cos($lat1) * sin($lon1));
  13. $c = sin($lat2) - sin($lat1);
  14. $ch = sqrt(pow($a, 2.0) + pow($b, 2.0) + pow($c, 2.0));
  15. $phi = 2.0 * asin($ch / 2.0);
  16.  
  17. return $R * $phi;
  18. }
  19.  
  20. var_dump(encludean_method(36.12, -86.67, 33.94, -118.40));
  21. var_dump(encludean_method(50.24, 28.68, 50.32, 29.05));
  22. var_dump(encludean_method(1.5745, 103.6200, 1.5748, 103.6195));
Success #stdin #stdout 0.01s 13112KB
stdin
Standard input is empty
stdout
float(2887.25995061)
float(27.7632495136)
float(0.0648375378577)