Page 1 of 1

Calculate distance with variable lat and lon values

Posted: Sun Jan 06, 2013 2:13 am
by nita
Hi

I have a problem with implementing variables into a function that calculate distance between 2 latitudes, longitudes.
One of the is constant, and the second one being passed from the form.

Here is the code:

Code: Select all

	$lon1 = $_POST['lon1'];
	$lat1 = $_POST['lat1'];
	$lon2 = '-0.30020239';
	$lat2 = '51.58734910';
	
function distance($lat11, $lon11, $lat22, $lon22) { 
	$theta = $lon11 - $lon22; 
	$dist = sin(deg2rad($lat11)) * sin(deg2rad($lat22)) +  cos(deg2rad($lat11)) * cos(deg2rad($lat22)) * cos(deg2rad($theta)); 
	$dist = acos($dist); 
	$dist = rad2deg($dist); 
	$miles = $dist * 60 * 1.1515;
		return $miles;
}

echo "
$lon1, $lat1<br>
$lon2, $lat2<br>";
//////////  return good calculation
echo distance(52.611644, -0.26304, 51.58734910, -0.30020239) . " miles<br>";

////////// my way - return wrong calculation 
echo distance("$lon1", "$lat1", 51.58734910, -0.30020239) . " miles<br>";
As long as i have lat, lon values hardcoded is fine, but idea is to have this calculation done from variables.
Both will vary .... tried different configurations ... i'm losing it ...

How should I code it ??

Thanks for your help in advance!

Re: Calculate distance with variable lat and lon values

Posted: Sun Jan 06, 2013 2:51 am
by requinix
We kinda have to the see non-working code to be able to tell you why it's not working.

Re: Calculate distance with variable lat and lon values

Posted: Sun Jan 06, 2013 2:59 am
by nita
There was a problem in calling a distance() function. Function is defined as lat, lon, lat, lon, but i called it as lon, lat, lon, lat.

Being blind.

SOLVED.

Re: Calculate distance with variable lat and lon values

Posted: Mon Jan 07, 2013 5:00 pm
by pickle
Please update your original post's subject to include [solved], so others know.