已知两点经纬度 计算距离和方位角(MATLAB实现)

本文将参考文件:http://www.movable-type.co.uk/scripts/latlong-vincenty.html 当中的计算公式和java代码用MATLAB语言实现,然后进行了实际计算。将结果与一个名称为gpscalc工具的计算结果进行对比,结果一致。该方法计算两种情况:

1.已知两点经纬度表示,计算两点间距离以及方位角(近似两点连线的航向角);
2. 已知一个基准点,另一个点距离基准点的距离和初始方位角,计算另一个点的经纬坐标。

%                   @
%                  @@@
%                 @@@@@
%                @@@@@@@
%               @@@@ @@@@
%              @@@@   @@@@
%             @@@@     @@@@
%            @@@@      @@@@@
%           @@@@@@@@@@@@@@@@@ 
%          @@@@@@@@@@@@@@@@@@@
%         @@@@             @@@@
%        @@@@               @@@@
%       @@@@                 @@@@
%      @@@@                   @@@@

% Algorithm Studio
% Author : CloudWalker
% Date: 2020-08-10
% Email:jordan2333@aliyun.com
% Function: Example1-根据p1和p2经纬度估算两点的距离和方位角(p1 → p2)%           Example2-根据p1以及航向和距离,计算终点p2的位置以及方位角。
% Reference: http://www.movable-type.co.uk/scripts/latlong-vincenty.html

digitsOld = digits(10);
%% Example 1
% lon1 = deg2rad(104.628601) ; lat1 = deg2rad(29.380394);  %p1	
% lon2 = deg2rad(104.622673); lat2 = deg2rad(29.371966);   %p2
lon1 = deg2rad(104.628601) ; lat1 = deg2rad(29.380394);  %p1	
lon2 = deg2rad(104.628602); lat2 = deg2rad(29.380394);   %p2
f = 1 /  298.257223563;
a= 6378137.0;	
b= 6356752.314245;

L = lon2 - lon1;
tanU1 = (1-f)*tan(lat1); cosU1 = 1 / sqrt((1 + tanU1*tanU1
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值