Thread: Calculate distance with variable lat and lon values

Hybrid View

1. Registered User
Join Date
Jun 2007
Posts
25

Calculate distance with variable lat and lon values

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:

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

2. Looks like you have your latitude and longitude parameters transposed when you call your distance() function. (It's defined as lat, long, lat, long, but you've called it as long, lat, log, lat.)

3. Registered User
Join Date
Jun 2007
Posts
25
wow, how could i not see that .. blind ... works perfect.

Thank you for opening my eyes.

SOLVED
Last edited by nitapita; 01-06-2013 at 03:01 AM.