Mega Code Archive

 
Categories / Php / Data Type
 

Finding the distance between two points

<?php function sphere_distance($lat1, $lon1, $lat2, $lon2, $radius = 6378.135) {     $rad = doubleval(M_PI/180.0);          $lat1 = doubleval($lat1) * $rad;     $lon1 = doubleval($lon1) * $rad;      $lat2 = doubleval($lat2) * $rad;     $lon2 = doubleval($lon2) * $rad;          $theta = $lon2 - $lon1;     $dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta));     if ($dist < 0) { $dist += M_PI; }     return $dist = $dist * $radius; } $lat1 = 40.; $lon1 = -50.; $lat2 = 37; $lon2 = -122; $dist = sphere_distance($lat1, $lon1, $lat2, $lon2); printf("%.2f\n", $dist * 0.621); ?>