高精地图生产中的坐标系
Posted 爱是与世界平行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高精地图生产中的坐标系相关的知识,希望对你有一定的参考价值。
1.如何定义地球
1.1 地球椭球体
众所周知地球表面凸凹不平,是一个无法用数学公式表达的曲面,这样的曲面不能作为测量制图的基准面。那么假想一个扁率极小的椭圆,绕大地球体短轴旋转所形成的规则椭球体称之为地球椭球体。
1.2 大地准面
大地水准面是海平面向陆地内部的自然延伸形成的闭合面,由于地球重力面分布不均匀,大地水准面仍然不是一个标准的数学模型,无法作为制图表达。
1.3 大地基准面
大地基准面是设计为最密合部分或全部大地水准面的数学模式,它由椭球体本身及椭球体和地表原点间关系来定义,从而衍生出参考椭球体(参考于标准椭球体)的概念。此关系能以 6个量来定义,通常是大地纬度、大地经度、原点高度、原点垂线偏差之两分量及原点至某点的大地方位角。
1.4 参心坐标系/地心坐标系
地心坐标系是以地球质心为原点建立的空间直角坐标系XYZ,或以球心与地球质心重合的地球椭球面为基准面所建立的大地坐标系BLH;参心坐标系是以参考椭球体的几何中心为原点的坐标系。
1.4.1 常见的坐标系-WGS 84坐标系
- 原点:地球质心。
- Z轴:BIH(1984.0)定义的地极(CTP)方向,即国际协议原点CIO,它由IAU和IUGG共同推荐。
- X轴:指向BIH定义的零度(本初)子午面和CTP赤道的交点。
- Y轴:和Z,X轴构成右手坐标系。
- WGS84椭球体:国际大地测量与地球物理联合会第17届大会测量常数推荐值,长轴6378137.000m,短轴6356752.314,扁率1/298.257223563。
1.4.2 北京54/西安80/GCJ2000
- 北京54:前苏联克拉索夫斯基椭球体,是前苏联1942坐标系的延伸,原点不在北京而是在前苏联的普尔科沃。
- 西安80:国际大地测量与地球物理联合会推荐值(IAG75椭球体)。西安大地原点设在陕西省泾阳县永乐镇,位于西安市西北。1985国家高程基准采用青岛验潮站1952-1979年确定的黄海平均海水面。
- GCJ2000:地心坐标系在我国的具体体现,和84椭球体仅有0.11mm的误差。
2 如何定义二维地图
2.1 地图投影
利用一定数学法则把地球表面转换到平面上的理论和方法称为地图投影。由于地球表面是一个不可展平的曲面,所以运用任何数学方法进行投影转换都会产生误差和变形,为按照不同的需求缩小误差,就产生了各种投影方式,如圆柱投影、圆锥投影、等角投影、等面积投影、切投影、割投影等。
2.2 常见的几种投影方式
2.2.1 墨卡托/Web墨卡托
一种正轴等角切圆柱投影。
- 等角:保证对象形状不变以及方向位置正确。
- 圆柱:保证纬线经线平行相互垂直且经线间隔相同。
- 缺点:纬线间隔从赤道向两级逐渐增大,面积变形大。
- Web墨卡托:Google首创,把地球模拟为球体而非椭球体,近似等角。
2.2.2 高斯投影/UTM投影
两个投影很相似,高斯投影为等角横切椭圆柱投影,前苏联、中国和德国等所采用。UTM投影(通用横轴墨卡托) 是一种等角横割椭圆柱投影,为世界上大部分国家采用。
3. 如何定义高精地图
相对于普通电子地图,高精地图采集方式发生了质的变化。从误差米级到厘米级能力提升主要源于高精采集车上更加丰富和立体的传感器设备,包括但不限于激光雷达、RTK、惯导、摄像机等,有能力反映更加精细的真实世界。
高精地图以采集车为基础,可以分为如下几个坐标系。
3.1 ECEF-地心地固坐标系
原点位于地球质心,z轴沿着地轴指向北极,y轴沿着赤道平面与格林威治子午面的交线上,y轴在赤道平面与x轴z轴满足右手法则,该坐标系一般和WGS84坐标系相互转换,属于同一基准下不同表达。
3.2 东北天/当地水平坐标系
当地水平坐标系的原点位于载体所在的地球表面,x轴和y轴在当地水平面内,分别指向东向和北向,z轴垂直向上,与x轴y轴满足右手法则,称为东-北-天(e-n-u)坐标系,相对另一坐标系(北东地)。
3.3 车体坐标系
车体坐标系原点在载体质量中心与载体固链,x轴沿载体轴指向右,y轴指向前,z轴和xy满足右手坐标法则指天,又称为右-前-上(r-f-u)坐标系
3.4 激光雷达坐标系
和选用雷达类型及安装方式有关,一般来说原点位于多线束旋转轴的交点处,z轴沿着轴线向上,其测量的点坐标是在激光雷达坐标系下的三维坐标。雷达与载体固链,通过坐标系外参和车体姿态可以得到激光点的世界坐标系。
3.5 IMU坐标系
IMU坐标系的坐标原点在陀螺仪和加速度计的坐标原点,xyz三个轴方向分别与陀螺仪和加速度计的对应轴向平行。在解算惯性导航系统中IMU与车体固链,因此在不考虑安装误差角的情况下,载体坐标系也即为IMU坐标系。
3.6 相机坐标系
以自己的光心为原点,xy一般由相平面决定,x朝右,y轴朝下建立一个局部坐标系,一般与载体固链,通过外参进行刚性变化转换。
3.7 什么是右手坐标系
右手系(right-hand system)是在空间中规定直角坐标系的方法之一,两种定义方式:
a. 把右手放在原点的位置,使大姆指,食指和中指互成直角,把大姆指指向x轴的正方向,食指指向y轴的正方向时,中指所指的方向就是z轴的正方向。
b. 如果当右手(左手)的大拇指指向第一个坐标轴(x轴)的正向,而其余手指以第二个轴(y轴)绕第一轴转动的方向握紧,就与第三个轴(z轴)重合,与之相反则为左手系。
4. 坐标系之间的转换
4.1 地学概念上的坐标转换
坐标系变换就是在相同空间点在不同椭球体下的不同坐标表达形式的数值换算,主要分为三种:
- 大地坐标系与空间直角坐标系的相互转换(经纬度转ECEF)。
- 空间直角坐标系与站心坐标系的转换(ECEF转工程)。
- 大地坐标系与平面坐标系的转换(经纬度转投影坐标)
4.1.1 相同基准面下的变化-经纬度转笛卡尔坐标公式
相同基准下,将大地坐标系转换为空间直角坐标系的公式为
4.1.2 不同椭球体间的变化-布尔沙七参数模型
需要7个参数
- 三个坐标平移量(△X,△Y,△Z),即两个空间坐标系的坐标原点之间坐标差值。
- 三个坐标轴的旋转角度(△α,△β,△γ),通过按顺序旋转三个坐标轴指定角度,可以使两个空间直角坐标系的XYZ轴重合在一起。
- 尺度因子m,即两个空间坐标系内的同一段直线的长度比值,通常m值等于1
4.2 三维空间变换相关的一些概念
4.2.1 欧拉角/欧拉旋转
旋转步骤:
- 物体绕全局的z轴旋转α角。
- 继续绕自己的X轴(也就是图中的N轴)旋转β角。
- 最后绕自己的Z轴旋转γ角。
详细介绍:https://www.matongxue.com/madocs/442.html
4.2.2 万向节死锁
沿着机身右方轴(X)进行旋转,称为Pitch 俯仰。
沿着机头上方轴(Y)进行旋转,称为Yaw 偏航。
沿着机头前方轴(Z)进行旋转,称为Roll 桶滚。
详细介绍: https://blog.csdn.net/AndrewFan/article/details/60981437#
4.2.3 旋转矩阵
任何维的旋转可以表述为向量与合适尺寸的方阵的乘积,最终一个旋转等价于在另一个不同坐标系下对点位置的重新表述。
推导过程:https://blog.csdn.net/TOM_00001/article/details/62054572
4.2.4 旋转向量
向量旋转公式最早由 Rodrigues 提出,用一个三维向量来表示三维旋转变换,该向量的方向是旋转轴,其模则是旋转角度,设旋转向量的单位向量为 r,模为θ,三维点p 在旋转向量 r 的作用下变换至 p′
4.2.5 四元数
四元数优势:
- 解决万向节死锁(Gimbal Lock)问题。
- 仅需存储4个浮点数,相比矩阵更加轻量。
- 四元数无论是求逆、串联等操作相比矩阵更加高效。
相关资料
- 四元数与三维旋转:https://krasjet.github.io/quaternion/quaternion.pdf
- 理解四元数:https://www.qiujiawei.com/understanding-quaternions/
- 四元数的可视化:https://www.bilibili.com/video/av33385105
5. 坐标系转换关系
6.关于坐标系的一些周边
6.1 EPSG 欧洲石油测绘组织
European Petroleum Survey Group:成立于1986年,它负责维护并发布坐标参考系统的数据集参数,以及坐标转换描述,该数据集被广泛接受并使用,通过Web发布平台进行分发。
SRID:OGC标准中空间参考系统的唯一ID, https://spatialreference.org/
6.2 WGS 1984 Web Mercator
EPSG:3785 EPSG在2008给Web Mercator 设立的WKID,但是这个坐标系的基准面是正圆球,不是WGS 1984,存在了一段时间后被弃用。
EPSG:3857 EPSG为Web Wercator 最终设立的WKID,也就是现在我们常用的Web地图的坐标系,并且给定官方命名WGS 84 / Pseudo-Mercator
OPENLAYER:900913 Web Mercator已经成为Web地图领域的事实标准,尽管这个坐标系由于精度问题一度得不到官方认证,Google为Web Mercator 任性地制定了这个ID。
6.3 ProJ.4
Proj.4是开源GIS最著名的地图投影库,许多开源软件的投影都直接使用了Proj.4的库文件。该项目遵循MIT license,用C语言编写,由USGS的Gerald I.Evenden在1980年代创立并一直维护到退休,目前有C、Java 、Python、JS等多语言版本维护。功能主要有经纬度坐标与地理坐标的转换,坐标系的转换,包括基准变换等。
7. 参考资料
- 无人驾驶中的坐标系:https://zhuanlan.zhihu.com/p/59743409
- 空间坐标与投影系统:https://cveo.github.io/2018/07/26/coordinate-projection/
- 如何理解3D动画中的欧拉角以及死锁:https://www.matongxue.com/madocs/442.html
- 如何形象地理解四元数:https://www.zhihu.com/question/
- 刚体在三维空间的旋转:https://blog.csdn.net/MulinB/article/details/51227597
以上是关于高精地图生产中的坐标系的主要内容,如果未能解决你的问题,请参考以下文章