google地圖提供的方法:
對上面的公式解釋如下:
1. lung1 lat1表示a點經緯度, lung2 lat2表示b點經緯度;
2. a=lat1 – lat2 為兩點緯度之差 b=lung1 -lung2 為兩點經度之差;
3. 6378.137為地球半徑,單位為千公尺;
4. 計算出來的結果單位為千公尺,若將半徑改為公尺為單位則計算的結果單位為公尺。
5. 計算精度與谷歌地圖的距離精度差不多,相差範圍在0.2公尺以下。
private static final double earth_radius = 6378.137;//赤道半徑(單位km)
轉化為弧度(rad)
private static double rad(double d)
根據兩點間經緯度座標(double值),計算兩點間距離
lon1 lat1 第一點的經度,緯度
lon2 lat3 第二點的經度,緯度
public static double getdistance(double lat1,double lon1, double lat2,double lon2)
根據經緯度求夾角:
詳細可參見:
給定經緯度計算距離 根據兩點經緯度計算距離
根據兩點經緯度計算距離 這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地 球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩 極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多和赤道平行的圓圈,就是 緯 圈 構成這些圓圈的...
根據兩點經緯度計算距離
這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多和赤道平行的圓圈,就是 緯圈 構成這些圓圈的線段,叫做緯線。我們把赤道定為...
根據兩點經緯度計算距離
android sdk 中提供了location類裡面有計算兩點之間的距離這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多...