Matlab 地理(经纬度)坐标 转 笛卡尔(直角)坐标 |
您所在的位置:网站首页 › 经纬度xy坐标转化公式怎么写 › Matlab 地理(经纬度)坐标 转 笛卡尔(直角)坐标 |
文章目录
前言一、转换公式笔记二、度数转弧度函数三、坐标系转换函数四、总结
前言
前段时间做实验的时候用到经纬度坐标转笛卡尔坐标,在CSDN找了一下并整理成转换函数,现在找不到文章出处了,如有知道的麻烦告诉我,我好注明出处,谢谢。 一、转换公式笔记为方便编公式,把整个转换公式拆分成几个部分:A、BB、C、D。 公式如下: 例:180°转弧度制 rad=deg2rad(180) 三、坐标系转换函数新建脚本,复制代码,保存文件命名为“LL3XY”至matlab搜索路径下。 % X:水平直角坐标,单位为千米(km); % Y:纵向直角坐标,单位为千米(km); % B:纬度,单位为弧度(rad); % L:经度,单位为弧度(rad); % Bo:投影基准纬度,Bo =0,单位为弧度((rad); % Lo:坐标原点的经度,Lo =0,单位为弧度(rad); % a:地球椭球体长半轴,a=6378137.0000,单位为米(m); % b:地球椭球体短半轴,b=6356752.3142,单位为米(m); % e:第一偏心率; % e’:第二偏心率。 function [X,Y]=LL3XY(B,L) a=6378137.0000; b=6356752.3142; e=0.00669438444204258280946884516695; e1=0.00673950125438707813648942896063; Lo =0; Bo =0; % 输入B、L A=tan(pi/4+B/2); BB=(1-e*sin(B))/(1+e*sin(B)); C=a^2/b; D=sqrt(1+e1*e1*cos(Bo)*cos(Bo)); K=C*cos(Bo)/D; Y=K*log(A*BB^(e/2))/1000; X=K*(L-Lo)/1000; end 四、总结整体转换步骤: (若经纬度的度分秒→度,可用dms2degrees函数;matlab自带,可自行查询用法) 1、把经纬度转化为以°为单位的小数; 2、用deg2rad函数转化为弧度制; 3、以弧度制的经纬度输入LL3XY转换函数中,输出以赤道和本初子午线交点为原点的XY坐标。 分享代码若有错漏之处,请大家留言批评指正!! 如果本篇文章对您有用的话,欢迎点赞收藏噢,谢谢谢谢,哈哈哈哈哈哈!! 主页还有更加丰富的内容噢 O(∩_∩)O : 分享代码若有错漏之处,请大家留言批评指正!! 如果本篇文章对您有用的话,欢迎点赞收藏噢,谢谢谢谢,哈哈哈哈哈哈!! 主页还有更加丰富的内容噢 O(∩_∩)O : Matlab 土法求航海DCPA和TCPA,并根据DCPA正负判断目标船过本船船首or船尾 基于Matlab雷达视窗的来船运动矢量绘制 Matlab 沿着曲线的动态图制作 Matlab改进埃尔米特(Hermite)分段三次插值——(可在pchip函数中自定义导数值) Matlab 四元素船舶领域代码复现 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |