Following function calculates the distance between two points (given the latitude/longitude coordinates of those points).
The calculated distance can be shown in following units.
See example placed at above function.
Have Fun!
The calculated distance can be shown in following units.
- Miles
- Nautical Miles
- Kilometeres
- Meters
- Yards
- Feet
- Inches
/**
* Get distancce between two points.
* eg.:-
$point1 = array('lat' => 40.770623, 'long' => -73.964367);
$point2 = array('lat' => 40.758224, 'long' => -73.917404);
$distance = getDistanceBetweenPoints($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
foreach ($distance as $unit => $value) {
echo $unit.': '.number_format($value,4).'';
}
*/
function getDistanceBetweenPoints($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;
$feet = $miles * 5280;
$yards = $feet / 3;
$kilometers = $miles * 1.609344;
$meters = $kilometers * 1000;
return compact('miles','feet','yards','kilometers','meters');
}
See example placed at above function.
Have Fun!
No comments:
Post a Comment