%Great Circle Distnace -- Simplified
%% 12.18993,133.45898 %% point 1 (lat/long)
%% 14.34243,65.12750 %% point 2 (lat/long)
%%VARIABLES%%
phi_1=12.18993; %lat_1
phi_2=14.34243; %lat_2
gam_1=133.45898; %long_1
gam_2=65.12750; %long_2
delt_gam = abs(gam_1 - gam_2); %absoulte difference in longitudes
R_Earth = 6371000; %mean radius of the earth in meters, change to FT to get distance accordingly
%%Unsimplified Great-Circle Equation -- Breaking it up into numerator and
%%denominator sections to avoid more problems -- Spherical Case of the
%%Vincenty Formula
Numer_sec1= ((cos(phi_2))*(sin(delt_gam))^2);
Numer_sec2=(((((cos(phi_1))*(sin(phi_2)))+((sin(phi_1))*(cos(phi_2))*(delt_gam))))^2);
Denom_1= (((sin(phi_1))*(sin(phi_2)))+((cos(phi_1))*(cos(phi_2))*delt_gam));
delt_sig2=atan((sqrt(Numer_sec1+Numer_sec2))/(Denom_1));
delt_GC2=R_Earth*delt_sig2;
disp(delt_GC2)
嘿伙计们,所以目前我正在尝试使用 MatLab 中的文森蒂公式的球形案例来确定两个纬度/经度点之间的距离。我一直在参考http://en.wikipedia.org/wiki/Great-circle_distance
并由此创建了上述 MatLab 代码。我尝试了给出的第一个方程(一个更简化的版本,但也无济于事),所以我将使用 Vincenty 案例。鉴于代码开头列出的两个纬度/经度点(十进制格式),我还没有用我的程序计算两个点之间的正确距离。我似乎无法找出发生了什么,所以我问你们是否有任何方法可以帮助我解决这个问题。
提前非常感谢您,我会经常查看该帖子,以便通过回答您迄今为止对我的代码可能有的任何问题来帮助您。
根据这个网站:http : //williams.best.vwh.net/gccalc.htm 距离应该是7381.56km。
下面的第一个答案提醒我我有映射工具箱,但我不确定如何解释我得到的结果,所以请查看我在下面发布的评论。
[ARCLEN, AZ] = distance(LAT1,LON1,LAT2,LON2)
这确实有效,但我不确定我对产生的弧长或方位角做了什么。
谢谢大家,祝大家新年快乐。