如何计算米中两组坐标之间的距离?

时间:2014-12-30 16:52:53

标签: matlab mapping latitude-longitude

我的问题是:如何用matlab计算两组坐标之间的距离?

我有两个坐标,如N1 32.22 E1 15.09和N2 32.45 E2 15.55,通过命令[k b] = distance(N1, E1, N2, E2)它给出了大圆弧和方位角,但我需要以米或公里为单位的距离。

1 个答案:

答案 0 :(得分:-1)

您可以使用geodetic2ned()函数以单位“公里”或“米”表示大地测量数据,但这需要Mapping Toolbox

现在检查以下代码:

pos1     = [32.22, 15.09];
pos2     = [32.45, 15.55];
h        = 0;                                 % // altitude                         
SPHEROID = referenceEllipsoid('wgs84', 'km'); % // Reference ellipsoid. You can enter 'km' or 'm'    
[N, E]   = geodetic2ned(pos1(1), pos1(2), h, pos2(1), pos2(2), h, SPHEROID);
distance = norm([N, E]); 

这导致距离为50.2598公里。