计算两个坐标(纬度和经度)之间距离的MATLAB函数

计算两个坐标(纬度和经度)之间距离的MATLAB函数,matlab,coordinates,distance,Matlab,Coordinates,Distance,如何使用MATLAB R2015a(以米为单位)计算两个世界地图坐标(纬度和经度)之间的距离?如果您可以访问Mapping toolbox,则第页中描述的功能可能会对您有所帮助 在这种情况下,可以使用该函数获取连接两个点的大圆弧的长度(以度为单位)。然后,您可以使用或将其转换为公里或英里 以km为单位计算距离的一条班轮应为: deg2km(distance(lat1, lon1, lat2, lon2)) 若您有权访问映射工具箱,那个么第页中描述的功能可能会对您有所帮助 在这种情况下,可以使用

如何使用MATLAB R2015a(以米为单位)计算两个世界地图坐标(纬度和经度)之间的距离?

如果您可以访问Mapping toolbox,则第页中描述的功能可能会对您有所帮助

在这种情况下,可以使用该函数获取连接两个点的大圆弧的长度(以度为单位)。然后,您可以使用或将其转换为公里或英里

以km为单位计算距离的一条班轮应为:

deg2km(distance(lat1, lon1, lat2, lon2))

若您有权访问映射工具箱,那个么第页中描述的功能可能会对您有所帮助

在这种情况下,可以使用该函数获取连接两个点的大圆弧的长度(以度为单位)。然后,您可以使用或将其转换为公里或英里

以km为单位计算距离的一条班轮应为:

deg2km(distance(lat1, lon1, lat2, lon2))

如果您无法访问MATLAB映射工具箱,那么一个简单的近似方法就是使用公式。以下是该链接的摘录:

哈弗森公式是一个在航海中很重要的方程式,它给出了球体上两点的经度和纬度之间的大圆距离。这是球面三角中一个更一般的公式——哈弗定律——的特例,它将球面三角形的边和角联系起来

是一个MATLAB实现:

function rad = radians(degree) 
% degrees to radians
    rad = degree .* pi / 180;
end; 

function [a,c,dlat,dlon]=haversine(lat1,lon1,lat2,lon2)
% HAVERSINE_FORMULA.AWK - converted from AWK 
    dlat = radians(lat2-lat1);
    dlon = radians(lon2-lon1);
    lat1 = radians(lat1);
    lat2 = radians(lat2);
    a = (sin(dlat./2)).^2 + cos(lat1) .* cos(lat2) .* (sin(dlon./2)).^2;
    c = 2 .* asin(sqrt(a));
    arrayfun(@(x) printf("distance: %.4f km\n",6372.8 * x), c);
end;

[a,c,dlat,dlon] = haversine(36.12,-86.67,33.94,-118.40); % BNA to LAX

如果您无法访问MATLAB映射工具箱,那么一个简单的近似方法就是使用公式。以下是该链接的摘录:

哈弗森公式是一个在航海中很重要的方程式,它给出了球体上两点的经度和纬度之间的大圆距离。这是球面三角中一个更一般的公式——哈弗定律——的特例,它将球面三角形的边和角联系起来

是一个MATLAB实现:

function rad = radians(degree) 
% degrees to radians
    rad = degree .* pi / 180;
end; 

function [a,c,dlat,dlon]=haversine(lat1,lon1,lat2,lon2)
% HAVERSINE_FORMULA.AWK - converted from AWK 
    dlat = radians(lat2-lat1);
    dlon = radians(lon2-lon1);
    lat1 = radians(lat1);
    lat2 = radians(lat2);
    a = (sin(dlat./2)).^2 + cos(lat1) .* cos(lat2) .* (sin(dlon./2)).^2;
    c = 2 .* asin(sqrt(a));
    arrayfun(@(x) printf("distance: %.4f km\n",6372.8 * x), c);
end;

[a,c,dlat,dlon] = haversine(36.12,-86.67,33.94,-118.40); % BNA to LAX

请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么会出现。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。@excaza Done。但是如果目标网站Wikipedia永久离线,那么世界将处于崩溃的边缘,我们的麻烦也将是最小的。请在链接周围添加上下文,以便您的其他用户了解它是什么以及它为什么存在。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。@excaza Done。但如果目标网站Wikipedia永久离线,那么世界就处于崩溃的边缘,我们的麻烦也就最小了。