ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

经纬度的格式化转换与输出

2022-08-22 22:04:52  阅读:179  来源: 互联网

标签:输出 分秒 格式化 经纬度 BL rad DMS


使用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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有