Friday, 29 May 2015

Calculate Distance between two latitute & longitude



By using this function we can calculate distance between two lat & long points

function distance($lat1, $lon1, $lat2, $lon2, $unit) {

  $theta = $lon1 - $lon2;

  $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));

  $dist = acos($dist);

  $dist = rad2deg($dist);

  $miles = $dist * 60 * 1.1515;

  $unit = strtoupper($unit);



  if ($unit == "K") {

    return ($miles * 1.609344);

  } else if ($unit == "N") {

      return ($miles * 0.8684);

    } else {

        return $miles;

      }

}


// call this function with values


echo distance(32.9697, -96.80322, 29.46786, -98.53506, "M") . " Miles<br>";

echo distance(32.9697, -96.80322, 29.46786, -98.53506, "K") . " Kilometers<br>";

echo distance(32.9697, -96.80322, 29.46786, -98.53506, "N") . " Nautical Miles<br>";


echo distance(28.6077,77.2992,28.6077,77.2992, "K") . "Kilometers <br>";

No comments:

Post a Comment