Calculate Distance Between Two Places Using PHP?

How to Expose and Route to a Resource?
How to Expose and Route to a Resource?

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

इसे भी पढ़े – How to Generate Random Number using PHP?

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *