Jump to content

Calculate distance with variable lat and lon values


nita

Recommended Posts

Hi

 

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:

 

$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;  
}  [/background][/size][/font][/color]


[color=#464646][font='Helvetica Neue', Helvetica, Arial, sans-serif][size=3][background=rgb(244, 244, 244)]echo "  
$lon1, $lat1<br>  
$lon2, $lat2<br>";  
//////////  return good calculation  
echo distance(52.611644, -0.26304, 51.58734910, -0.30020239) . " miles<br>";  [/background][/size][/font][/color]


[color=#464646][font='Helvetica Neue', Helvetica, Arial, sans-serif][size=3][background=rgb(244, 244, 244)]////////// 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!

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.