Thursday, 4 September 2014

To Calculate distance between two latitude & longitude in php

Method I :

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;
      }
}

echo distance(11.01078,76.93433,11.14137,78.59412,10.1, "M") . " Miles
"; echo distance(11.01078,76.93433,11.14137,78.59412,10.1, "K") . " Kilometers
"; echo distance(11.01078,76.93433,11.14137,78.59412,10.1, "N") . " Nautical Miles
"; Method II: function calculateDistance($latitude1, $longitude1, $latitude2, $longitude2) { $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); $miles = acos($miles); $miles = rad2deg($miles); $miles = $miles * 60 * 1.1515; return $miles; }

No comments:

Post a Comment