Matlab 地理(经纬度)坐标 转 笛卡尔(直角)坐标

article/2025/9/17 19:29:55

文章目录

  • 前言
  • 一、转换公式笔记
  • 二、度数转弧度函数
  • 三、坐标系转换函数
  • 四、总结


前言

前段时间做实验的时候用到经纬度坐标转笛卡尔坐标,在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、LA=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 :
改进埃尔米特(Hermite)分段三次插值——(在pchip函数中自定义导数值)
matlab 土法求航海DCPA和TCPA,并根据DCPA正负判断目标船过本船船首or船尾


http://chatgpt.dhexx.cn/article/bOpTqiQ6.shtml

相关文章

Frenet和笛卡尔坐标系互转

Frenet坐标系在无人驾驶领域被普遍使用,特别是在城市、高速等道路交通环境下无人驾驶的路径规划系统中。Frenet坐标系使用参考线的切线向量和法线向量建立坐标系。相比笛卡尔坐标系,Frenet坐标系简化了路径规划问题。 参考论文:Moritz Werli…

二维笛卡尔坐标系下的角的概念

文章目录 参考环境笛卡尔坐标系二维笛卡尔坐标系三维笛卡尔坐标系 任意角角的静态定义角的动态定义二维笛卡尔坐标系下角的概念方向正角、负角及零角 象限角象限象限角 终边相同角圆心角终边相同角 参考 项目描述搜索引擎Google 、Bing百度百科首页韩庆波正负角佟大大还是ETT【…

matlab二维笛卡尔坐标系

matlab绘制二维笛卡尔坐标系 这是一个经常会用到的程序,根据散点数据画出折线图,希望对你有帮助,O(∩_∩)O哈哈~。 主程序(main.m) clc;clear;close all; %% 绘制坐标系 % 新建图窗 figfigure(1);hold on; % 绘制坐标系 axis2d(fig,-10:10,-10:10); %% 绘制理论曲线 x-10:0.…

笛卡尔坐标系和Frenet坐标系

笛卡尔坐标系和Frenet坐标系 Frenet坐标系,自动驾驶“混乱”的源头 【自动驾驶】运动规划丨轨迹规划丨Frenet坐标转换 【自动驾驶】笛卡尔坐标系和frenet坐标系相互转换 轨迹规划作为具有多个非线性约束的高维优化问题,需要消耗大量的计算资源&#xff0…

【数理知识】极坐标与笛卡尔坐标转换

极坐标与笛卡尔坐标 极坐标与笛卡尔坐标笛卡尔坐标系极坐标系转换笛卡尔坐标转换为极坐标极坐标转换为笛卡尔坐标但如果 X 和 Y 是负数呢? 总结 极坐标与笛卡尔坐标 笛卡尔坐标系 极坐标系 转换 从一个系统转换到另一系统,我们用这个三角形&#xff…

经纬度与地心笛卡尔坐标系转换

个人随笔 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 经纬度与笛卡尔坐标系转换,转换的几何计算并不复杂,不过不推理一遍的话,始终是理解的不够透彻。所以借整理思路的机会,把推理过程理一遍。 笛卡尔球心坐标系&…

球面坐标系转换为笛卡尔坐标系

今天又遇到了球面坐标系转换成笛卡尔坐标系,其实是一个很简单的问题,记录一下以便以后查看。 假设球面坐标系中的P点坐标为(r, θ \theta θ, φ \varphi φ)有时候球面坐标系中的三个坐标会使用另一种方式表达&#…

62.[GIS基础]笛卡尔坐标系

文章目录 笛卡尔坐标系多坐标系坐标系的嵌套坐标变换/坐标系转换 转载请注明原始链接:http://blog.csdn.net/a464057216/article/details/54578069 后续此博客不再更新,欢迎大家搜索关注微信公众号“测开之美”,测试开发工程师技术修炼小站&a…

explicit关键词的用途

explicti 是显式转换关键词,用于不合适使用隐式转换( implicit)的地方,即如果我们不想用系统默认的隐式转换,就可以使用这个关键词。 虽然隐式转换可以使得代码更简洁直观,但是也有一些地方如果过于简洁就会…

C++: explicit的适用场合以及为什么要使用explicit

explicit是个C关键子,但是关注过它的人远远没有其他关键字的多,但是往往忽略了它,就会在一些不经意的地方造成错误,而花费更多的时间去寻找. 看下下面这个例子: #include <iostream> using namespace std;class A { public:A(int i 5){m_a i;} private:int m_a; };in…

explicit(显式)关键字

explicit 修饰构造函数时&#xff0c;可以防止隐式转换和复制初始化explicit 修饰转换函数时&#xff0c;可以防止隐式转换&#xff0c;但按语境转换除外 #include <iostream>using namespace std;struct A {A(int) { }operator bool() const { return true; } };struct…

explicit构造函数

转载于GGBeng大佬 链接在此 explicit构造函数 前面是扫盲部分&#xff0c;可直接看后面的精华部分。 扫盲 一、隐式的类类型转换 1. 转换构造函数 如果构造函数只接受一个实参&#xff0c;则它实际上定义了转换为此类类型的隐式转换机制 能通过一个实参调用的构造函数定…

详解 c++ 关键字 explicit

用了很久的C 了&#xff0c;今天突然被小伙伴问道&#xff0c;构造函数前的explicit 关键字什么作用&#xff0c;于是自己也只能支支吾吾的说出“为了显式调用……”很尴尬啊……典型的知道所以然不知道其所以然……好吧&#xff0c;搜搜资料好好地充充电…… 首先说定义&#…

explicit的用法

explicit的用法 explicit关键字的作用是&#xff1a;禁止隐式调用类的单参数构造函数&#xff0c;主要禁用以下两种操作&#xff1a; 禁止隐式调用拷贝构造函数 禁止类对象之间的隐式转换 类对象之间的隐式转换是指利用一个已经存在的其它类型的对象来创建本类的新对象&#…

C++中的explicit关键字介绍

C中的关键字explicit主要是用来修饰类的构造函数&#xff0c;被修饰的构造函数的类&#xff0c;不能发生相应的隐式类型转换&#xff0c;只能以显示的方式进行类型转换。类构造函数默认情况下声明为隐式的即implicit。 隐式转换即是可以由单个实参来调用的构造函数定义了一个从…

C++中explicit的作用及用法

仅含一个参数的构造函数和除了第一个参数外其余参数都有默认值的多参构造函数承担了两个角色。 1. 是个构造函数&#xff1b;2 .是个默认且隐含的类型转换操作符。 explicit是个C关键字&#xff0c;其作用是指定仅有一个参数或除第一个参数外其它参数均有默认值的类构造函数…

C++ explicit

C提供了关键字explicit&#xff0c;声明为explicit的构造函数不能在隐式转换中使用。 1)C的类型转换分为两种&#xff0c;一种为隐式转换&#xff0c;另一种为显式转换。 2)C中应该尽量不要使用转换&#xff0c;尽量使用显式转换来代替隐式转换。 1隐式转换 定义&#xff1a…

C++ 中explicit的作用及用法(虽然简单,但是还是有用的)

目录 Cexplicit&#xff08;官网的说法&#xff09; explicit specifier Cexplicit 清楚的说法&#xff08;建议英文不好的从这里开始食用哦&#xff09; explicit作用: explicit使用注意事项: Cexplicit使用的例子&#xff08;建议喜欢自己敲代码实验的从这里开始食用哦&…

C++之explicit的作用介绍

1、C中的关键字explicit主要是用来修饰类的构造函数&#xff0c;被修饰的构造函数的类&#xff0c;不能发生相应的隐式类型转换&#xff0c;只能以显示的方式进行类型转换。类构造函数默认情况下声明为隐式的即implicit。隐式转换即是可以由单个实参来调用的构造函数定义了一个…

explicit关键字详解

在C中&#xff0c;explicit关键字用来修饰类的构造函数&#xff0c;被explicit修饰的类的构造函数&#xff0c;不能发生相应的隐式类型转换&#xff0c;只能以显示的方式进行类型转换。 explicit使用注意事项: explicit 关键字只能用于类内部的构造函数声明上。 explicit 关…