首页 > 编程知识 正文

水准仪测量距离计算方法,球面的距离计算方法

时间:2023-05-04 00:21:44 阅读:261934 作者:3902

-- ========== 简单检验距离计算准确度===============-- 北京经纬度set hivevar:arrival_lat=39.9;set hivevar:arrival_lon=116.3;-- 上海经纬度set hivevar:hotel_lat=31;set hivevar:hotel_lon=121;-- 北京上海的直线距离:1069select 6378.137*2*ASIN(SQRT(POWER(SIN((${arrival_lat}-${hotel_lat})*ACOS(-1)/360),2)+COS(${arrival_lat}*ACOS(-1)/180)*COS(${hotel_lat}*ACOS(-1)/180) *POWER(SIN((${arrival_lon}-${hotel_lon})*ACOS(-1)/360),2))) as distance1,6378.137 * ACOS(1 - (POWER((SIN((90 - ${arrival_lat}) * PI() / 180) * COS(${arrival_lon} * PI() / 180) - SIN((90 - ${hotel_lat}) * PI() / 180) * COS(${hotel_lon} * PI() / 180)), 2)+ POWER((SIN((90 - ${arrival_lat}) * PI() / 180) * SIN(${arrival_lon} * PI() / 180) - SIN((90 - ${hotel_lat}) * PI() / 180) * SIN(${hotel_lon} * PI() / 180)), 2)+ POWER((COS((90 - ${arrival_lat}) * PI() / 180) - COS((90 - ${hotel_lat}) * PI() / 180)), 2)) / 2)AS distance2-- 距离计算结果--=====-- distance1distance2-- 1078.08744960309011078.0874496030917

因为选择的sin和cos不同的角度计算的,所以结果会有细微的差别,但差别已经到小数点后10位了,差别非常小。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。