给出两点的经纬度,采用matlab 计算两点之间的距离 |
您所在的位置:网站首页 › 如何根据经纬坐标计算距离 › 给出两点的经纬度,采用matlab 计算两点之间的距离 |
如何使用MATLAB(以米为单位)计算两个世界地图坐标(纬度和经度)之间的距离? 可采用两种方式: 1、采用MATLAB Mapping工具箱使用distance函数可以计算两个地图坐标之间的距离 dist = distance(lat1,lon1,lat2,lon2);输入参数:lat1,lon1为一个点的纬度和经度,单位为度 lat2,lon2为另一个点的纬度和经度,单位为度 输出参数:dist为这两点的弧长,单位为弧度 所以,可以根据弧长公式,乘上地球半径算出两点距离 2、使用Haversine公式 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) sprintf("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 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |