Calculate distance with variable lat and lon values

Ask about general coding issues or problems here.

Moderators: macek, egami, gesf

nitapita
New php-forum User
New php-forum User
Posts: 8
Joined: Sun Jan 06, 2013 12:41 am

Calculate distance with variable lat and lon values

Postby nitapita » Sun Jan 06, 2013 12:45 am

I have a problem with implementing variables into a function that calculate distance between 2 latitudes, longitudes.
One of them 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!

Return to “PHP coding => General”

Who is online

Users browsing this forum: Baidu [Spider], Google [Bot] and 3 guests