计算2对经纬度距离的方法

来源:互联网 发布:宁波智森网络 编辑:程序博客网 时间:2024/05/03 04:17


double CalcDistance(double x1Long, double x2Long, double y1Lat, double y2Lat)
{
 float pi = 3.1415926535898;
 float earthR =  6378137;
    double a ;
    double b ;
    double s ;
    double radLat1 ;
    double radLat2 ;
    radLat1 = y1Lat * pi / 180.0;
    radLat2 = y2Lat * pi / 180.0;
    a = radLat1  - radLat2;
    b = x1Long * pi / 180.0 - x2Long * pi / 180.0;
    s = 2 * asin(sqrt(pow(sin(a / 2), 2) +
                      cos(radLat1) * cos(radLat2) * pow(sin(b / 2), 2)));
    s = s * earthR;
    return s;
}
 

 

 


 

 

0 0