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 06:10 AM.

  • #2
    Senior Coder
    Join Date
    Jan 2011
    Location
    Missouri
    Posts
    4,577
    Thanks
    23
    Thanked 643 Times in 642 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
    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
    •