Problem:- Calculate Distance Between Two Places Using PHP? If you want to find distance between two co-ordinates on planet earth our php code will help you.
Soultion – Calculate Distance Between Two Places Using PHP
<?php function distance_cal($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; $distance = acos(sin($lat1)*sin($lat2)+cos($lat1)*cos($lat2)* cos($theta)); if($distance<0){$distnace+= M_PI;} return $distance = $distance * $radius; } // India $lat1 = 20.5937; $lon1 = 78.9629; //pakistan $lat2 = 30.3753; $lon2 = 69.3451; $distance = distance_cal($lat1, $lon1, $lat2, $lon2); echo $distance; ?>
Note
The output of this function in Kilometer. If you want to convert it in Miles so you need to add below code in the distance_cal() Function.
<?php function distance_cal($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; $distance = acos(sin($lat1)*sin($lat2)+cos($lat1)*cos($lat2)* cos($theta)); if($distance<0){$distnace+= M_PI;} $distance = $distance * $radius; $miles = sprintf("%.2f", $distance*0.621); return $miles; } // India $lat1 = 20.5937; $lon1 = 78.9629; //pakistan $lat2 = 30.3753; $lon2 = 69.3451; $distance = distance_cal($lat1, $lon1, $lat2, $lon2); echo $distance; ?>