Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    Regular Coder sonny's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Posts
    567
    Thanks
    88
    Thanked 0 Times in 0 Posts

    Calculate distance by Lat-Lon

    Hi
    Can someone please check this, the miles do not seem right when I test it
    PHP Code:
        function distance($lat1$lng1$lat2$lng2$miles true){
        
    $pi80 M_PI 180;
        
    $lat1 *= $pi80;
        
    $lng1 *= $pi80;
        
    $lat2 *= $pi80;
        
    $lng2 *= $pi80;
         
        
    $r 6372.797// mean radius of Earth in km
        
    $dlat $lat2 $lat1;
        
    $dlng $lng2 $lng1;
        
    $a sin($dlat 2) * sin($dlat 2) + cos($lat1) * cos($lat2) * sin($dlng 2) * sin($dlng 2);
        
    $c atan2(sqrt($a), sqrt($a));
        
    $km $r $c;
         
        return (
    $miles ? ($km 0.621371192) : $km);
    }
    $lat1 "39.9289";//Beijing China
    $lon1 "116.3883";

    $lat2 "47.6026";//Seattle Washington
    $lon2 "-122.3284";

    $distance distance($lat1$lon1$lat2$lon2);
    echo 
    "They are ".$distance." miles away from each other 
    Last edited by sonny; 10-11-2012 at 05:10 AM.

  2. #2
    Master Coder sunfighter's Avatar
    Join Date
    Jan 2011
    Location
    Washington
    Posts
    6,432
    Thanks
    30
    Thanked 880 Times in 878 Posts
    Your php gives me They are 5400.5810531334 miles away from each other

    I used one from http://www.marketingtechblog.com/calculate-distance/ and got
    5398.8 Miles.

    http://www.freemaptools.com/how-far-...jing_china.htm shows 5399.094 Miles.

    Remember: A man with one GPS unit knows exactly where he is. A man with two units is never sure.

  3. #3
    Regular Coder sonny's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Posts
    567
    Thanks
    88
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by sunfighter View Post
    Your php gives me They are 5400.5810531334 miles away from each other

    I used one from http://www.marketingtechblog.com/calculate-distance/ and got
    5398.8 Miles.

    http://www.freemaptools.com/how-far-...jing_china.htm shows 5399.094 Miles.

    Remember: A man with one GPS unit knows exactly where he is. A man with two units is never sure.
    I was just trying to double check the calculations within the script
    Thanks
    Sonny


 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •