计算两GPS点之间的距离(比较精确)

拼搏现实的明天。 2023-10-16 18:57 96阅读 0赞

具体参看网址: http://bbs.zdoz.net/thread-2-1-1.html

public static double getDistanceFromXtoY(double lat_a, double lng_a, double lat_b, double lng_b)
{
double pk = (double)(180 / 3.14169);

double a1 = lat_a / pk;
double a2 = lng_a / pk;
double b1 = lat_b / pk;
double b2 = lng_b / pk;

double t1 = Math.Cos(a1) * Math.Cos(a2) * Math.Cos(b1) * Math.Cos(b2);
double t2 = Math.Cos(a1) * Math.Sin(a2) * Math.Cos(b1) * Math.Sin(b2);
double t3 = Math.Sin(a1) * Math.Sin(b1);
double tt = Math.Acos(t1 + t2 + t3);

return 6366000 * tt;
}

#import

  1. -(double)getDistanceTwoGPS:(NSNumber*)lat1 lng1:(NSNumber*)lng1 lat2:(NSNumber*)lat2 lng2:(NSNumber*)lng2
  2. {
  3. double pk = (double)(180 / 3.14169);
  4. double a1 = [lat1 doubleValue] / pk;
  5. double a2 = [lng1 doubleValue] / pk;
  6. double b1 = [lat2 doubleValue] / pk;
  7. double b2 = [lng2 doubleValue] / pk;
  8. double t1 = cos(a1) * cos(a2) * cos(b1) * cos(b2);
  9. double t2 = cos(a1) * sin(a2) * cos(b1) * sin(b2);
  10. double t3 = sin(a1) * sin(b1);
  11. double tt = acos(t1 + t2 + t3);
  12. return 6366000 * tt;
  13. }

发表评论

表情:
评论列表 (有 0 条评论,96人围观)

还没有评论,来说两句吧...

相关阅读

    相关 根据经纬度计算之间距离

        经纬度计算有各种计算方式,一般误差也各不相同。个人觉着结合地球半径的计算方法可能靠谱一些,但是具体的计算公式是怎么来的,就不清楚,不知道谁提出的。下面给出一个计算方法和

    相关 GPS距离

    目前手头的一个项目要用到GPS地理定位信息,很自然的就需要知道两个地点之间的距离,于是上网找了一下,同样自然的就有一些算法贴出来。。(网络真是帮了大忙,省得我再去翻几何书自己研

    相关 mysql中之间距离计算

    1.需求分析     对于两点之间的距离,在mysql中可以根据两点的经纬度进行计算;接下来笔者分享两种方式通过两点的经纬度计算两点之间的距离 2.实现方案 废话