您的位置:首页 > 其它

根据经纬度计算球面距离

2011-11-15 13:05 162 查看
double zz(double s)

{

return (s * 3.1415927 / 180.0);

}

double sqr(double s)

{

return s * s;

}

double distance(double alongitude, double alatitude, double blongitude, double blatitude)

{

double earth_radius = 6378137.0;

double a = zz(alatitude) - zz(blatitude);

double b = zz(alongitude) - zz(blongitude);

double s = 2 * asin(sqrt(sqr(sin(a / 2)) + cos(zz(alatitude)) * cos(zz(blatitude)) * sqr(sin(b / 2))));

s *= earth_radius;

return s;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: