座標距離計算:php 計算 兩個座標之間的距離

來源:互聯網
上載者:User
 
  1. <?php 
  2. define('EARTH_RADIUS', 6378.137);//地球半徑 
  3. define('PI', 3.1415926); 
  4. /** 
  5. * 計算兩組經緯度座標 之間的距離 
  6. * params :lat1 緯度1; lng1 經度1; lat2 緯度2; lng2 經度2; len_type (1:m or 2:km); 
  7. * return m or km 
  8. */ 
  9. function GetDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2) 
  10. $radLat1 = $lat1 * PI / 180.0; 
  11. $radLat2 = $lat2 * PI / 180.0; 
  12. $a = $radLat1 - $radLat2; 
  13. $b = ($lng1 * PI / 180.0) - ($lng2 * PI / 180.0); 
  14. $s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1) * cos($radLat2) * pow(sin($b/2),2))); 
  15. $s = $s * EARTH_RADIUS; 
  16. $s = round($s * 1000); 
  17. if ($len_type > 1) 
  18. $s /= 1000; 
  19. return round($s, $decimal); 
  20. echo GetDistance(39.908156,116.4767, 39.908452,116.450479, 1);//輸出距離/米  
本文連結http://www.cxybl.com/html/wlbc/Php/20130319/37247.html

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。