经纬度的格式化转换与输出
作者:互联网
使用RTK时,没注意输出格式,将将经纬度格式输出了弧度,非常尴尬,像下面这样
当然也不是什么大事,但是为了资料统一,需要将其转成下面这样:
需要用程序转换一下,这里就不自动读取了,就把经纬度的数据放在BL_rad里
1 BL_D = rad2deg(BL_rad); %弧度转度 3 BL_DMS = degrees2dms(BL_D); %度转度分秒 5 BL_CAL = strings(size(C,1),1); 6 % 度分秒的格式化输出 7 for i=1:size(BL_DMS,1) 8 %需要将个位的分补齐成2位:0X 9 if BL_DMS(i,2)<10 11 MIN = ['0',num2str(BL_DMS(i,2))]; 13 else 15 MIN = num2str(BL_DMS(i,2)); 17 end 18 %需要将个位的秒补齐成2位,而且还必须保留5位小数,且转成字符数组 19 if BL_DMS(i,3)<10 21 SEC = char(['0',sprintf("%2.5f",BL_DMS(i,3))]); 23 else 25 SEC = char(sprintf("%2.5f",BL_DMS(i,3))); 27 end 28 % 没有char转成字符数组,连接不了 29 BL_CAL(i) = [num2str(C(i,1)),':',MIN,':',SEC]; 31 end
比较麻烦的是秒(SEC),既要补齐2位整数,还得保存5位小数,
使用roundn(A,digits),虽然可以控制精度,但是一样不能控制输出5为小数,比如最后的0
标签:输出,分秒,格式化,经纬度,BL,rad,DMS 来源: https://www.cnblogs.com/TediousWind/p/16614381.html