如何使用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