在描述大地坐标系下的位置时,经纬度会用到度数(°)和度分秒(°、′、″)两种表示方法。
换算关系
在数学中,度分秒换算关系为:
1°=60′
1′=60″
1°=3600″
以北京(40°811.60446657" N, 116°10’45.22720677" E)为例,进行转换。
度 转换 度分秒
%度分秒转换°
%经度 116°10'45.22720677"
% e.g., degrees = dms2d(116, 10, 45.22720677)——>116.1792297796583426
function degrees = dms2d(degree, minute, second)
sd = 16;
degrees = degree + minute/60 + second/3600;
degrees = vpa(degrees, sd+length(num2str(degree))); %s = num2str(A,precision)转字符串
%length函数,字符串长度
%vpa函数,定精度
end
度分秒 转换 度
% °转换度分秒
function [degree, minute, second] = d2dms(degrees)
sd = 16;
degree = fix(degrees); %fix函数向0取整
minute = fix((degrees - degree) * 60);
second_int = fix((degrees - degree - minute/60)*3600);
second = (degrees - degree - minute/60)*3600;
second = vpa(second, sd+length(num2str(second_int)));
end