如何使用GPS座標計算2個地點之間的距離?GPS座標距離測量
5
A
回答
3
http://en.wikipedia.org/wiki/Great-circle_distance
(勾股定理是不夠的,因爲地球的球形)
9
你必須使用haversine公式: haversine公式:
R =地球半徑(平均半徑= 6371公里)
Δlat= lat2- LAT1
Δlong= long2- long1
一個=sin²(Δlat/ 2)+ COS(LAT1)名爲.cos(LAT2).sin²(Δlong/ 2)
C = 2.atan2(√A,√(1-a))的
d = RC
,其中d是距離(您的溶液)和所有的角度必須是弧度
外觀爲半正矢庫,並且在C:
#include <math.h>
#include "haversine.h"
#define d2r (M_PI/180.0)
//calculate haversine distance for linear distance
double haversine_km(double lat1, double long1, double lat2, double long2)
{
double dlong = (long2 - long1) * d2r;
double dlat = (lat2 - lat1) * d2r;
double a = pow(sin(dlat/2.0), 2) + cos(lat1*d2r) * cos(lat2*d2r) * pow(sin(dlong/2.0), 2);
double c = 2 * atan2(sqrt(a), sqrt(1-a));
double d = 6367 * c;
return d;
}
double haversine_mi(double lat1, double long1, double lat2, double long2)
{
double dlong = (long2 - long1) * d2r;
double dlat = (lat2 - lat1) * d2r;
double a = pow(sin(dlat/2.0), 2) + cos(lat1*d2r) * cos(lat2*d2r) * pow(sin(dlong/2.0), 2);
double c = 2 * atan2(sqrt(a), sqrt(1-a));
double d = 3956 * c;
return d;
}
+0
注意:這隻會給你一個非常粗略的估計。地球不是一個完美的球體(這就是爲什麼存在[WGS84](http://en.wikipedia.org/wiki/WGS84)),並且計算不考慮高度。 – GrahamS 2011-05-27 07:38:37
相關問題
- 1. 測量GPS距離
- 2. GPS座標得到錯誤的距離
- 3. 三角測量GPS座標
- 4. 從一組座標和距離計算新的GPS座標?
- 5. 通過添加度量距離獲取新的GPS座標
- 6. 如何找到已知GPS距離的GPS座標?
- 7. Android:如何使用GPS測量距離
- 8. Android GPS精確距離測量
- 9. 提高GPS測量距離的精度
- 10. iOS接近度和GPS測量距離
- 11. JavaScript地理位置:檢查距離2個GPS座標的距離
- 12. 測量座標的經度和緯度座標之間的距離
- 13. 測量距離
- 14. 計算從一個GPS座標到另一個座標的距離?
- 15. 獲取座標,測量距離並對它們進行比較
- 16. 從實際距離測量得到的像素座標
- 17. 使用GPS座標進行最短距離計算
- 18. 從多個GPS座標計算到最近岸的距離
- 19. 使用GPS座標計算道路距離
- 20. Python從2個GPS座標計算速度,距離,方向
- 21. 通過添加固定距離獲取下一個GPS座標
- 22. 以度爲單位的GPS座標計算距離
- 23. 查找距離最近的GPS座標(最鄰近搜索)
- 24. 以度爲單位的GPS座標來計算距離
- 25. 獲取精確的距離在2 GPS座標xamarin
- 26. 從GPS座標組獲得最大距離
- 27. 從距離Xyz座標
- 28. 離線GPS座標訪問 - iPhone/Android
- 29. 測量行駛距離通過iPhone,而無需使用GPS
- 30. 找到距離源的某個距離處的座標
重複http://stackoverflow.com/questions/1420045/how-to-find-distance-from-the-latitude-and-longitude-of-two-locations – 2011-05-27 07:49:28
您可能會在嵌入式環境中使用此算法,但問題中沒有任何東西將其與嵌入式計算聯繫起來。問題重新標記。 – 2011-05-31 15:01:41