经纬高坐标系-ECEF坐标系-ENU坐标系-程序员宅基地

技术标签: RTK  

无人机搭载的RTK获得的经纬高坐标要转换为东北天坐标,才能用于局部的导航和定位。为了这个目的,查阅资料,越查越懵逼,竟然这么多的坐标系,略懂之后,将学到的信息记录如下,很多跟我的目的:”RTK的LBH坐标转换为东北天坐标“有点远,但是把周边知识搞的清楚了,还是有意义的。所以记录在下,最终的经纬高坐标系-ECEF坐标系-ENU坐标系的公式和原理在另一个博客里https://blog.csdn.net/j_____j/article/details/102636211有精简介绍。

RTK获得LBH坐标,LBH坐标系给出的坐标是(Ψ,λ,h)、(longitude,latitude,height),LBH坐标系(LBH坐标洗、经纬高坐标西、大地坐标系、地理坐标系),国际常用的是WGS-84坐标(坐标系的原点位于地球质心,z轴指向(国际时间局)BIH1984.0定义的协议地球极(CTP)方向,x轴指向BIH1984.0的零度子午面和CTP赤道的交点,y轴通过右手规则确定。),我国采用的是“2000国家大地坐标系”,经纬高坐标转换为ECEF坐标(ECEF坐标系、earth centered eath fixed、地心地固坐标系)(该坐标系以地球质心为原点,Z轴向北沿地球自转轴方向,X轴指向经纬度的(0,0)位置,右手系Y轴指向90度经线。该系与地球一同转动。因此地固坐标系是非惯性系),ECEF坐标系转换为站心地平直角坐标,站心地平直角坐标系(北东地坐标系、ENU坐标系)。

与ECEF坐标系比较相关的,有个ECI坐标系(ECI坐标系、earth centered inertial,地心惯性坐标系)(坐标原点取在地心,X轴指向春分点,Z轴指向北极,Y轴与前者构成右手系。该系不与地球一同转动,因此可以应用牛顿定律。是惯性系)

LBH坐标(WGS_84)→ ECEF坐标→ENU坐标系坐标转换公式,参考:https://wenku.baidu.com/view/e6e4b4c533d4b14e85246886.html,https://wenku.baidu.com/view/22239a0a763231126edb11ea.html

LBH坐标(WGS_84)→ ECEF坐标,

,其中,,因为扁率,所以也可以是

为经度(-180°-180°),为纬度(-90°-90°),N为寅卯圈半径,h为大地高,e为椭球偏心率(与地球长半径、短半径有关),a为椭球长半径,b为椭球短半径。在这个公式里,要提供给程序椭球长半径a和椭球短半径b。

WGS_84的参数:a=6378137.0,f=1/298.257223563。

ECEF坐标 → ENU坐标

其中(X0,Y0,Z0)为站心(第一个ECEF坐标点),LB为站心的经纬。

另外,ECEF坐标→ LBH坐标(WGS_84)

因为h的计算包含有待求解的,而的计算反过来又含有待求解的h,所以一般借助迭代法来逐次逼近。 迭代法一般计算过程如下:先假设的值等于0,分别计算出N,h和,然后再将刚得到的重新代入方程,再一次更新N,h和的值,如此循环。上述三式的迭代运算通常收敛的很快,一般经过3~4次的循环迭代就可结束运算。

LBH坐标(WGS84),RTK给的高度是大地高h(大地高)(地面点沿参考椭球面法线到参考椭球面的距离
),但是RTK设备可以计算输出海拔高。

此处要区分的是海拔高H(正高)(地面点沿重力线(铅垂线)到大地水准面的距离)(在中国,可以将似大地水准面的高程近似为海拔高)。

因此这里有个转换公式,RTK的高程数据(大地高)- 高程异常 = 海拔高(正高) 。

大地高和海拔高的区别在于,有椭球面和水准面,水准面是这样的(受地球自传、地球密度不均匀、引力等作用,所以是不规则的)

大地水准面 geoid
由静止海水面并向大陆延伸所形成的不规则的封闭曲面。它是重力等位面,即物体沿该面运动时,重力不做功(如水在这个面上是不会流动的)。大地水准面是指与全球平均海平面(或静止海水面)相重合的水准面。大地水准面是描述地球形状的一个重要物理参考面,也是海拔高程系统的起算面。大地水准面的确定是通过确定它与参考椭球面的间距-大地水准面差距(对于似大地水准面而言,则称为高程异常)来实现的。

区别于大地水准面,有个似大地水准面,从地面点沿正常重力线量取正常高所得端点构成的封闭曲面。似大地水准面严格说不是水准面,但接近于水准面,只是用于计算的辅助面。它与大地水准面不完全吻合,差值为正常高与正高之差。但在海洋面上时,似大地水准面与大地水准面重合。

关于水准面,我国规定采用的高程系统是正常高系统。如果不是进行科学研究,只是一般使用,正常高系 统结果在国内也可以称为海拔高度。正常高系统和正高系统是有区别的,主要是由于重力场的影响不同,重力线就会产生一些偏移。

美国人研发的全球定位系统GPS对空间坐标的描述,仍然采用WGS1984大地坐标系,他的高程为目标地物距离WGS84椭球体表面的法线距离。我国的地形图上的高程,标定的是目标地物距离大地水准面的铅锤距离

似大地水准面是前苏联地球物理学家、测量学家莫洛金斯基研究地球形状理论时,为避免大地水准面无法精确确定而引进的辅助面,为一与大地水准面十分接近、在海洋上两者完全重合、而在大陆上有2~4米的微小差异的曲面。由于正高与大地水准面的确定涉及到地球内部密度的假定,在理论上存在着不严密性,莫洛金斯理论作为现代大地测量里程碑,可以应用地面测量数据直接确定地球表面形状而不需要对地球密度作任何假设。似大地水准面只是通过一定的数学关系对应于地面的一个几何曲面,它既不是具有物理意义的水准面,也不是对于所有空间各点都为唯一的高程起算面。

我理解就是大地水准面是以海平面算出来的,似大地水准面是以陆地上的重力算出来的。

将水准面拟合成椭球面(将地球拟合成椭球体),拟合标准不同,则有了各种拟合的椭球面,比如克拉索夫斯基椭球体、1975年IUGG推荐的椭球体、美国WGS84椭球体,则有了不同标准下的大地高,但是因为各个拟合的椭球体有固定的旋转和偏移,因此是很容易就相互转换的。科研和国际常用的是WGS84定义的椭球体,美国规定的WGS84大地坐标系,力图让其WGS84椭球体在全球范围内整体拟合最优。中国规定的大地坐标系(如现行的2000国家大地坐标系),则尽量让椭球体对我国大陆地区地表拟合最优,因为我们国家陆地区域起伏太大。

我国现在用的是“2000国家大地坐标系”(其原点为包括海洋和大气的整个地球的质量中心。Z轴指向BIH1984.0定义的协议极地方向(BIH国际时间局),X轴指向BIH1984.0定义的零子午面与协议赤道的交点),我国的最佳拟合点,也称为大地原点,位于陕西省西安市泾阳县永乐镇

2000国家大地坐标系与WGS84坐标系都是大地坐标系

在定义上,CGCS2000和WGS84是一致的,坐标原点、尺度、定向及定向演变的定义都是相同的,两个坐标系使用的参考椭球也是非常相近的,在坐标系定义和实现上的比较,我们可以认为,WGS84和CGC2000是相容的,在坐标系的实现精度范围内,

WGS84和CGC2000的坐标是一致的。

 

北京54,西安80是参心坐标系,已经被淘汰,现在国内用2000国家大地坐标系,是地心坐标系。WGS84是地心坐标系。

大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示:(L, B, H)。

空间直角坐标系是以参考椭球中心为原点,以原点到0度经线与赤道交点的射线为x轴,原点到90度经线与赤道交点的射线为y轴,以地球旋转轴向北为z轴:(x, y, z)

共同点:显然,这两种坐标系都必须基于一个参考椭球。

不同点:大地坐标系以面为基准,所以还需要确定一个标准海平面。而空间直角坐标系则以一个点为基准,所以还需要确定一个中心点。

只要确定了椭球基本参数,则大地坐标系和空间直角坐标系就相对确定了,只是两种不同的表达而矣,这两个坐标系的点是一一对应的。

 

h54为1954年北京系大地高;h84为GPS WGS-84系大地高;H2为正常高;ε54为1954年北京系高程异常;ε84为WGS-84系高程异常;H1为正高;N54为大地水准面差异;N84为WGS-84系大地水准面差距。

由图,有以下关系式成立:

GPS测定的是大地高,要求解正常高必须先知道高程异常。在局部GPS网中巳知一些点 的高程异常(它由GPS水准算得), 考虑地球重力场模型,利用多面函数拟合法求定其它点的高程异常和正常高

 

即便我们忽略法线距离与铅锤距离的差异(即忽略垂线偏差角度),我们也会看到,这两个距离的起算基准可能不是同一个面。

GPS测出来的高程是大地高,地图上标的高程是正高或者正常高,这就是为什么同一个位置,我们用GPS测出来的高程与地形图上读出来的高程数值可能(通常)不一致。

但是我们一般忽略垂线偏差就角度,而将关系近似为如下:

大地水准面、似大地水准面、椭球面,示意图:

H大=H正+N

H大=H常+ξ

实践上,现在野外工作多采用GPS测定高度。GPS直接测定的是大地高,非海拔高。而一般的GPS似乎不能很理想地转化为海拔高,除非用控制点和已知参数做差分测量。那么,显然,用“高度”比用“海拔”更合适。当然,从效用的角度看,局部高度的变化,在大地高和海拔高的数值上,可能是相同的规律。

 

 

参考资料:

https://blog.csdn.net/weixin_33857230/article/details/86010321

https://blog.csdn.net/liuguobo/article/details/47093629

https://wenku.baidu.com/view/572e2a70b14e852459fb57a5.html

https://zhuanlan.zhihu.com/p/59743409
 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liukais/article/details/103307958

智能推荐

0719学习总结(文件流的输入输出)_请综合输入输出流、文件流和字符串流、特别是文件流中指针相关函数进行文件随机位-程序员宅基地

文章浏览阅读482次。1.输入输出流常用的有:iostream 包含了对输入输出流进行操作所需的基本信息:fstream 用于用户管理的文件的I/O操作。strstream 用于字符串流I/O。stdiostream 用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序。iomanip 在使用格式化I/O时应包含此头文件。2.在iostream头文件中定_请综合输入输出流、文件流和字符串流、特别是文件流中指针相关函数进行文件随机位

鸿蒙osbeta2.0上手上手,鸿蒙OS 2.0上手视频曝光,Mate40系列首批无缘,界面与EMUI一致...-程序员宅基地

文章浏览阅读47次。原标题:鸿蒙OS 2.0上手视频曝光,Mate40系列首批无缘,界面与EMUI一致华为在今天正式召开鸿蒙OS 2.0开发者沟通会,此次沟通会将会讨论鸿蒙OS 2.0的各种相关开发问题。对于普通消费者来说,开发者的事情并不是大家关心的。作为消费者最关心的还是鸿蒙OS 2.0啥时候能够适配自己的手机。 在华为召开开发者大会的同时,华为也在今天正式放出了鸿蒙OS 2.0手机开发者Beta版。目前已经有博...

Jenkins首次安装推荐插件出错 No such plugin: cloudbees-folder 超详细解决方案-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏12次。我的环境:腾讯云 CentOS7 轻量应用服务器docker run -u root -itd -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --name jenkins-master jenkinsci/blueocean当我首次通过镜像启动一个 Jenkins 容器后,访问服务器 公网ip:8080 访问 Jenkin._no such plugin: cloudbees-folder

JSP入门-基本语法_用于为其他动作提供附加信息的动作是-程序员宅基地

文章浏览阅读392次。JSP入门-基本语法_用于为其他动作提供附加信息的动作是

DNS服务器搭建_server registered via geo dns in ap-east-1-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏59次。本篇是关于DNS服务器的搭建配置教程!_server registered via geo dns in ap-east-1

7.2(stm32以太网)_w25qxx_write_nocheck-程序员宅基地

文章浏览阅读3.2k次。《7.2》1.SPI的写入整个扇区W25QXX_Write_NoCheck()--->W25QXX_Write_Page()--->SPI1_ReadWriteByte(); void W25QXX_Write_NoCheck(pBuffer , addr,num) { u8 pageremain; pageremain = addr - addr%256;_w25qxx_write_nocheck

随便推点

ROS命令_ros查找功能包-程序员宅基地

文章浏览阅读2.7k次。文章目录1.功能包、功能包集相关2.工作空间1.功能包、功能包集相关(1) rospack find turtlesim:查找turtlesim包的路径/opt/ros/noetic/share/turtlesim(2) rosls turtlesim:可获取功能包下面的文件列表cmake images msg package.xml srv(3) rosstack find [stack_name]:查找已经在系统中安装过的某个功能包集(4)roscd turtlesim:进入某个文_ros查找功能包

hadoop_connecting to 192.168.128.130:22... could not conn-程序员宅基地

文章浏览阅读412次。连接xshell错误信息如下Connecting to 192.168.128.130:22...Could not connect to '192.168.128.130' (port 22): Connection failed.最有可能的原因是在配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 的时候使用的IPADDR =192.168.128.130 , 这个IP地址不在虚拟机VMware8本身的net 连接的ip范围内,解决步骤如下_connecting to 192.168.128.130:22... could not connect to '192.168.128.130' (

CentOS7 安装 PHP7 完全详细教程_centos7 命令安装php7-程序员宅基地

文章浏览阅读2w次,点赞3次,收藏16次。CentOS7的默认PHP版本是PHP5,但是如果我们要安装PHP7,不需要将现有的PHP5删除,只要将PHP升级到PHP7即可。使用 yum provides php 命令可以获取CentOS7的PHP包安装情况。显示的是在现有的安装源中能够安装的最新版本为:php-5.4.16-46.el7.x86_64在安装PHP7之前,建议先升级更新一下CentOS7的安装包:yum -y upd..._centos7 命令安装php7

偏差平方和说明什么_什么是平方误差和均方误差-程序员宅基地

文章浏览阅读7.1k次。展开全部均方误差是指参数估计636f70793231313335323631343130323136353331333431373161值与参数真值之差平方的期望值,记为MSE。MSE是衡量“平均误差”的一种较为方便的方法,MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。误差平方和又称残差平方和、组内平方和等,根据n个观察值拟合适当的模型后,余下未能拟合部份..._参参数偏差平方和

nginx mysql php源码编译_snowy +nginx-程序员宅基地

文章浏览阅读87次。lamp架构=Linux/unix/windows(操作系统)+apache/nginx……+mysql/pgsql +php/python/golang。开发能力要自己努力。起码需要一些语言基础。不懂代码何以精通?不堪官方源码何以做到熟悉?nginxnginx有官方网站:www.nginx.comtar zxf nginx-1.18.0.tar.gz ##解压。解压之后里面有configure,表示他是开源的。./configure --help ##查看一些参数 _snowy +nginx

Rancher备份&&还原_rancher还原db-程序员宅基地

文章浏览阅读834次。Rancher备份&&还原一、Rancher 备份1、备份# !/bin/bash# /opt/backup/backup-rancher.shDATE=$(date +%Y%m%d%H%M)echo "备份rancher数据"echo "1.拷贝容器内数据"IMAGE_ID=`docker ps |grep rancher:v2.5.8|awk '{print $1}'`docker cp $IMAGE_ID:/var/lib/rancher /opt/ba_rancher还原db

推荐文章

热门文章

相关标签