两个经纬度之间距离和角度的计算
(alt,lon)为地球上某一点的纬度和经度。
方法一
1、将经纬度转换为三维地球坐标系坐标
球心与赤道上0经度点的连线为X轴,球心与赤道上东经90度点的连线为Y轴,球心与北极点的连线为Z轴。
%% R为地球半径,约为6400km
x = R*cos(alt)*cos(lon);
y = R*cos(alt)*sin(lon);
z = R*sin(alt);
2、计算两点之间的直线距离(弦长)
L =((x1-x2)^2 + (x1-x2)^2 + (x1-x2)^2 )^0.5
3、计算两点之间的弧长
根据弦长计算弧长
计算两点之间的角度
θ = 2 * arcsin(0.5L/R)
1度=π/180弧度
S = R * pi * 2[arcsin(0.5L/R)] /180
方法二
利用MATLAB中的distance函数,计算两个点之间的角度
tx = txsite('Name','MathWorks','Latitude',lat1,'Longitude',lon1);
rx = rxsite('Name','Fenway Park','Latitude',lat2,'Longitude',lon2);
distance_1 = distance(tx,rx,'geodesic')/1000;%km为单位