fork download
  1. <?php
  2. function rad($x) { return $x * M_PI / 180.0;}
  3.  
  4. function distHaversine($lat1, $lon1, $lat2, $lon2)
  5. {
  6. $R = 6372.08; // earth's mean radius in km
  7. $dLat = rad($lat2 - $lat1);
  8. $dLong = rad($lon2 - $lon1);
  9.  
  10. $a = sin($dLat / 2.0) * sin($dLat / 2.0) +
  11. cos(rad($lat1)) * cos(rad($lat2)) * sin($dLong / 2.0) * sin($dLong / 2.0);
  12. $c = 2.0 * atan2(sqrt($a), sqrt(1.0 - $a));
  13. return $R * $c;
  14. }
  15.  
  16. var_dump(distHaversine(1.57454123333,103.6200516333,1.57483825,103.619484475));
Success #stdin #stdout 0.01s 13112KB
stdin
Standard input is empty
stdout
float(0.0711806857136)