GPS经纬度坐标WGS84到东北天坐标系ENU的转换

news/2025/1/13 6:31:27/

文章目录

  • 一、简介
    • 1.1 ECEF坐标系
    • 1.2 WGS-84坐标
    • 1.3 东北天坐标系(ENU)
  • 二、坐标系间的转换
    • 2.1 LLA坐标系转ECEF坐标系
    • 2.2 ECEF坐标系转LLA坐标系
    • 2.3 ECEF坐标系转ENU坐标系
    • 2.4 ENU坐标系转ECEF坐标系
    • 2.5 LLA坐标系直接转ENU坐标系
  • 参考资料
  • 打赏
      • 支付宝
      • 微信

一、简介

1.1 ECEF坐标系

  也叫地心地固直角坐标系。其原点为地球的质心,x轴延伸通过本初子午线(0度经度)和赤道(0deglatitude)的交点。 z轴延伸通过的北极(即,与地球旋转轴重合)。 y轴完成右手坐标系,穿过赤道和90度经度。
在这里插入图片描述

1.2 WGS-84坐标

  也就是也叫经纬高坐标系(经度(longitude),纬度(latitude)和高度(altitude)LLA坐标系)。,全球地理坐标系、大地坐标系。可以说是最为广泛应用的一个地球坐标系,它给出一点的大地纬度、大地经度和大地高程而更加直观地告诉我们该点在地球中的位置,故又被称作纬经高坐标系。WGS-84坐标系的X轴指向BIH(国际时间服务机构)1984.0定义的零子午面(Greenwich)和协议地球极(CTP)赤道的交点。Z轴指向CTP方向。Y轴与X、Z轴构成右手坐标系。

  一句话解释就是:把前面提到的ECEF坐标系用在GPS中,就是WGS-84坐标系。
其中:
(1):大地纬度是过用户点P的基准椭球面法线与赤道面的夹角。纬度值在-90°到+90°之间。北半球为正,南半球为负。

(2):大地经度是过用户点P的子午面与本初子午线之间的夹角。经度值在-180°到+180°之间。

(3):大地高度h是过用户点P到基准椭球面的法线距离,基准椭球面以内为负,以外为正。

在这里插入图片描述

1.3 东北天坐标系(ENU)

  也叫站心坐标系以用户所在位置P为坐标原点。

  坐标系定义为: X轴:指向东边 Y轴:指向北边 Z轴:指向天顶

  ENU局部坐标系采用三维直角坐标系来描述地球表面,实际应用较为困难,因此一般使用简化后的二维投影坐标系来描述。在众多二维投影坐标系中,统一横轴墨卡托(The Universal Transverse Mercator ,UTM)坐标系是一种应用较为广泛的一种。UTM 坐标系统使用基于网格的方法表示坐标,它将地球分为 60 个经度区,每个区包含6度的经度范围,每个区内的坐标均基于横轴墨卡托投影,如下图所示:

二、坐标系间的转换

在这里插入图片描述

2.1 LLA坐标系转ECEF坐标系

(1)LLA坐标系下的(lon,lat,alt)转换为ECEF坐标系下点(X,Y,Z)
在这里插入图片描述
(2)其中e为椭球偏心率,N为基准椭球体的曲率半径
在这里插入图片描述
(3)由于WGS-84下极扁率 f = a − b a f=\frac{a-b}{a} f=aab偏心率e和极扁率f之间的关系:
在这里插入图片描述
(4) 坐标转换公式也可以为
在这里插入图片描述

2.2 ECEF坐标系转LLA坐标系

ECEF坐标系下点(X,Y,Z)转换为LLA坐标系下的(lon,lat,alt)
在这里插入图片描述一开始lon是未知的,可以假设为0,经过几次迭代之后就能收敛

2.3 ECEF坐标系转ENU坐标系

用户所在坐标原点 P 0 = ( x 0 , y 0 , z 0 ) P_0=(x_0,y_0,z_0) P0=(x0,y0,z0),,计算点 P = ( x , y , z ) P=(x,y,z) P=(x,y,z)在以点 P 0 P_0 P0为坐标原点的ENU坐标系位置(e,n,u)这里需要用到LLA坐标系的数据, P 0 P_0 P0的LLA坐标点为 L L A 0 = ( l o n 0 , l a t 0 , a l t 0 ) LLA_0=(lon_0,lat_0,alt_0) LLA0=(lon0,lat0,alt0)
在这里插入图片描述

2.4 ENU坐标系转ECEF坐标系

在这里插入图片描述

2.5 LLA坐标系直接转ENU坐标系

上述可以看到,从LLA坐标系转换到enu坐标系有较多计算量,在考虑地球偏心率 e e e很小的前提下,可以做一定的近似公式计算

在这里插入图片描述

参考资料

  1. https://www.cnblogs.com/langzou/p/11388520.html

  2. https://blog.csdn.net/YYshuangshuang/article/details/85099025?utm_medium=distribute.pc_feed_404.none-task-blog-BlogCommendFromBaidu-2.nonecase&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-BlogCommendFromBaidu-2.nonecas

打赏

分享不易,如果对您有帮助,就打赏一下吧O(∩_∩)O

支付宝

微信


http://www.ppmy.cn/news/169480.html

相关文章

【嵌入式】MCU外接Flash图片数据存取实例

一 问题背景 工程中需要使用大量的图片资源用于GUI显示,但是图片资源比较大,不能直接保存在MCU上,所以考虑外接Flash芯片用于图片数据的存储。实际使用中,将Flash芯片内的地址直接映射到芯片内部,读取映射的地址即可加…

Activiti工作流引擎

一、 Activiti概述: 前言: 系统的核心根本上是业务流程,工作流只是协助进行业务流程管理。 在没有使用工作流引擎时,可以采用状态字段来跟踪流程的变化情况,这样不同角色的用户,通过状态字段的取值来决定记…

下了个蓝屏代码查看工具,就中病毒了。。。什么鬼病毒,竟然还是用的VBS

扫描所有盘下面的html文件&#xff0c;加入VBS脚本。。。真是奇葩&#xff0c;多少年前的病毒了。。。 http://files.cnblogs.com/files/guangshan/lpdmcxq.rar 这个是病毒链接&#xff0c;下载地址也在里面。 原理是为所有的html文件增加一段脚本&#xff1a; </div><…

数据隐私为先:EMQX Cloud BYOC 架构解析

随着物联网的飞速发展&#xff0c;保护数据隐私和安全变得愈发重要。构建一个安全、可靠、可扩展的物联网基础设施成为企业的首要任务。 EMQ 近期推出了 EMQX Cloud BYOC&#xff0c;采用了以数据隐私为先的架构&#xff0c;为解决这些问题提供了一个理想的方案。用户可以在自…

什么叫匿名子类?

在面向对象编程中&#xff0c;匿名子类是指在创建对象时&#xff0c;直接定义一个没有显式命名的子类。这种子类通常是在父类的基础上添加或重写一些方法&#xff0c;或者实现一些特定的接口。 匿名子类的主要特点是它没有名称&#xff0c;因此无法在其他地方直接引用。它通常…

5. 垃圾收集器G1ZGC详解

JVM性能调优 1. G1收集器(-XX:UseG1GC) 本文是按照自己的理解进行笔记总结&#xff0c;如有不正确的地方&#xff0c;还望大佬多多指点纠正&#xff0c;勿喷。 课程内容&#xff1a; 1、G1垃圾收集器详解 2、每秒几十万并发的系统JVM级别如何优化 3、ZGC垃圾收集器详解 4、…

RxJava 响应式获取List 指定名称对象的值

Stream API实现方法 可以通过 Java 8 的 Stream API 来实现。假设你有一个名为 list 的 List 对象&#xff0c;其中包含多个对象&#xff0c;每个对象都有一个名为 name 的属性和一个名为 value 的属性&#xff0c;你可以使用以下代码来获取名为 targetName 的对象的 value 值…

2023年湖北建设厅七大员(建筑八大员)报名流程是什么?

建设厅七大员也是建筑八大员&#xff0c;属于建筑行业的从业人员上岗证&#xff0c;七大员是施工员、材料员、资料员、质量员、劳务员、标准员、机械员这七个。 建设厅七大员报名网址&#xff1a;报名人员注册登录“住房城乡建设行业从业人员培训管理系统 建设厅七大员报名内容…