高精度地图及定位常用坐标系简介、坐标系转换

1. 常用坐标系

高精度地图及定位常涉及到的坐标系有:地心地固坐标系、大地坐标系、站心坐标系。
1、地心地固坐标系:Earth-Centered, Earth-Fixed,简称 E C E F ECEF ECEF Z Z Z轴指向协议地球北极方向, X X X轴指向零子午面和赤道的交点, Y Y Y轴与 Z Z Z轴、 X X X轴垂直构成右手坐标系。

2、大地坐标系:地面点的位置用大地经度、大地纬度和大地高度表示。亦称为经纬高坐标系,即 L L A LLA LLA坐标系。

3、站心坐标系:站心坐标系以用户所在位置P为坐标原点,三个轴分别指向东向,北向和天向,也叫东北天坐标系( E N U ENU ENU坐标系)。站心坐标系的天向方向和大地坐标系的高度方向是一致的。站心坐标系用在惯性导航和卫星俯仰角计算中较多。

地心地固坐标系大地坐标系站心坐标系
E C E F ECEF ECEF坐标系 L L A LLA LLA坐标系 E N U ENU ENU坐标系
X Y Z XYZ XYZ经纬高 x y z xyz xyz

有一点特别说明:地理坐标系是指用经纬度表示地面点位的球面坐标系。在大地测量学中,对于地理坐标系统中的经纬度有三种描述:即天文经纬度、大地经纬度和地心经纬度。地理研究和小比例尺地图制图对精度要求不高,故常把椭球体当作正球体看待,地理坐标采用地球球面坐标,经纬度均用地心经纬度。地图学中常采用大地经纬度。

2. WGS84 & CGCS2000

C G C S 2000 CGCS2000 CGCS2000 W G S 84 WGS84 WGS84坐标系都属于地心地固坐标系。这点可能会有人疑惑,可以理解为 E C E F ECEF ECEF坐标系用于 G P S GPS GPS中,用在美国 G P S GPS GPS W G S 84 WGS84 WGS84坐标系,用在中国北斗是 C G C S 2000 CGCS2000 CGCS2000

在定义上, C G C S 2000 CGCS2000 CGCS2000 W G S 84 WGS84 WGS84是一致的,即关于坐标系原点、尺度、定向及定向演变的定义都是相同的。两个坐标系使用的参考椭球也非常相近,具体地说,在4个椭球常数a、f、GM、ω中,唯有扁率f有微小差异。

W G S 84 WGS84 WGS84 C G C S 2000 CGCS2000 CGCS2000两者参数对比:

参数 W G S 84 WGS84 WGS84 C G C S 2000 CGCS2000 CGCS2000
长半轴a6378137.0m6378137.0m
扁率 f f f1/298.2572221011/298.257223563
地球自转角速度 ω \omega ω7.292115*1e-57.292115*1e-5
地心引力常数GM3.986004418*1e143.986004418*1e14

椭球参数的区别而引起的同一点经纬度的差异有多大呢?程鹏飞院长的论文给出的研究数据是:“给定点位在某一框架和某一历元下的空间直角坐标,投影到 C G C S 2000 CGCS2000 CGCS2000椭球和 W G S 84 WGS84 WGS84椭球上所得的纬度的最大差异相当于0.11mm。”

关于为什么已经有了 W G S 84 WGS84 WGS84我国还要自己搞一套 C G C S 2000 CGCS2000 CGCS2000,简单地说, W G S 84 WGS84 WGS84是全球的,准确说是为美国服务,顺便服务全球。相对应的 C G C S 2000 CGCS2000 CGCS2000就是要专心为我国服务。中国 C G C S 2000 CGCS2000 CGCS2000战略意义是深远的,不具体展开了,有一篇文章写的很好,感兴趣的可以看下:中国使用2000坐标系而不使用 W G S 84 WGS84 WGS84坐标系的原因和意义是什么?

3. 坐标系转换

3.1 LLA坐标系转ECEF坐标系

L L A LLA LLA坐标系下的 ( l o n , l a t , a l t ) (lon,lat,alt) (lon,lat,alt)转换为 E C E F ECEF ECEF坐标系下点 ( X , Y , Z ) (X,Y,Z) (X,Y,Z)
{ X = ( N + a l t ) c o s ( l a t ) c o s ( l o n ) Y = ( N + a l t ) c o s ( l a t ) s i n ( l o n ) Z = ( N ( 1 − e 2 ) + a l t ) s i n ( l a t ) \begin{cases} X=(N+alt)cos(lat)cos(lon) \\ Y=(N+alt)cos(lat)sin(lon) \\ Z=(N(1-e^2)+alt)sin(lat) \\ \end{cases} X=(N+alt)cos(lat)cos(lon)Y=(N+alt)cos(lat)sin(lon)Z=(N(1e2)+alt)sin(lat)

其中 e e e为椭球偏心率, N N N 为基准椭体的曲率半径
{ e 2 = a 2 − b 2 a 2 N = a 1 − e 2 s i n 2 l a t \begin{cases} e^2=\frac{a^2-b^2}{a^2} \\ N=\frac{a}{\sqrt{1-e^2sin^2lat}} \\ \end{cases} {e2=a2a2b2N=1e2sin2lat a
由于 W G S 84 WGS84 WGS84坐标系扁率 f = ( a − b ) / a f = (a-b)/a f=(ab)/a,偏心率 e e e 和扁率 f f f 之间的关系:
e 2 = f ( 2 − f ) e^2=f(2-f) e2=f(2f)
坐标转换公式也可以为
{ X = ( N + a l t ) c o s ( l a t ) c o s ( l o n ) Y = ( N + a l t ) c o s ( l a t ) s i n ( l o n ) Z = ( N ( 1 − e 2 ) + a l t ) s i n ( l a t ) N = a 1 − f ( 2 − f ) s i n 2 l a t \begin{cases} X=(N+alt)cos(lat)cos(lon) \\ Y=(N+alt)cos(lat)sin(lon) \\ Z=(N(1-e^2)+alt)sin(lat) \\ N=\frac{a}{\sqrt{1-f(2-f)sin^2lat}} \\ \end{cases} X=(N+alt)cos(lat)cos(lon)Y=(N+alt)cos(lat)sin(lon)Z=(N(1e2)+alt)sin(lat)N=1f(2f)sin2lat a

3.2 ECEF坐标系转LLA坐标系

E C E F ECEF ECEF坐标系下点 ( X , Y , Z ) (X,Y,Z) (X,Y,Z)转换为 L L A LLA LLA坐标系下的 ( l o n , l a t , a l t ) (lon,lat,alt) (lon,lat,alt)
l o n = a r c t a n y x a l t = p c o s ( l a t ) − N l a t = a r c t a n [ z p ( 1 − e 2 N N + a l t ) − 1 ] p = x 2 + y 2 \begin{aligned} lon & =arctan\frac{y}{x} \\ alt & =\frac{p}{cos(lat)-N} \\ lat & = arctan\bigg[\frac{z}{p}(1-e^2\frac{N}{N+alt})^{-1}\bigg] \\ p & = \sqrt {x^2+y^2} \end{aligned} lonaltlatp=arctanxy=cos(lat)Np=arctan[pz(1e2N+altN)1]=x2+y2
公式3在计算纬度时还会用到纬度值,所以不能直接用上述公式计算纬度角,可以先将大地纬度近似为地心纬度处理,经过几次迭代计算就能收敛。具体计算逻辑详见参考[5]。

3.3 ECEF坐标系转ENU坐标系

用户所在坐标点 P 0 ( x 0 , y 0 , z 0 ) P0(x0,y0,z0) P0(x0,y0,z0),计算点 P = ( x , y , z ) P=(x,y,z) P=(x,y,z)在以 P 0 P_0 P0为坐标系原点的 E N U ENU ENU坐标 ( e , n , u ) (e,n,u) (e,n,u),这里需要用到 L L A LLA LLA坐标系的数据, P 0 P_0 P0 L L A LLA 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)
[ Δ x Δ y Δ z ] = [ x y z ] − [ x 0 y 0 z 0 ] \left[\begin{array}{ccc} \Delta x\\ \Delta y \\ \Delta z \\ \end{array}\right] = \left[\begin{array}{ccc} x\\ y\\ z\\ \end{array}\right] - \left[\begin{array}{ccc} x_0\\ y_0\\ z_0\\ \end{array}\right] ΔxΔyΔz=xyzx0y0z0

[ e n u ] = S ⋅ [ Δ x Δ y Δ z ] = [ − s i n ( l o n 0 ) c o s ( l o n 0 ) 0 − s i n ( l a t 0 ) c o s ( l o n 0 ) − s i n ( l a t 0 ) s i n ( l o n 0 ) c o s ( l a t 0 ) c o s ( l a t 0 ) c o s ( l o n 0 ) c o s ( l a t 0 ) s i n ( l o n 0 ) s i n ( l a t 0 ) ] ⋅ [ Δ x Δ y Δ z ] \left[\begin{array}{ccc} e\\ n \\ u \\ \end{array}\right] = S \cdot \left[\begin{array}{ccc} \Delta x\\ \Delta y \\ \Delta z \\ \end{array}\right] = \left[\begin{array}{ccc} -sin(lon_0) & cos(lon_0) & 0 \\ -sin(lat_0)cos(lon_0) & -sin(lat_0)sin(lon_0) & cos(lat_0)\\ cos(lat_0)cos(lon_0) & cos(lat_0)sin(lon_0) & sin(lat_0)\\ \end{array}\right] \cdot \left[\begin{array}{ccc} \Delta x\\ \Delta y \\ \Delta z \\ \end{array}\right] enu=SΔxΔyΔz=sin(lon0)sin(lat0)cos(lon0)cos(lat0)cos(lon0)cos(lon0)sin(lat0)sin(lon0)cos(lat0)sin(lon0)0cos(lat0)sin(lat0)ΔxΔyΔz

即坐标变换矩阵:
S = [ − s i n ( l o n 0 ) c o s ( l o n 0 ) 0 − s i n ( l a t 0 ) c o s ( l o n 0 ) − s i n ( l a t 0 ) s i n ( l o n 0 ) c o s ( l a t 0 ) c o s ( l a t 0 ) c o s ( l o n 0 ) c o s ( l a t 0 ) s i n ( l o n 0 ) s i n ( l a t 0 ) ] S = \left[\begin{array}{ccc} -sin(lon_0) & cos(lon_0) & 0 \\ -sin(lat_0)cos(lon_0) & -sin(lat_0)sin(lon_0) & cos(lat_0)\\ cos(lat_0)cos(lon_0) & cos(lat_0)sin(lon_0) & sin(lat_0)\\ \end{array}\right] S=sin(lon0)sin(lat0)cos(lon0)cos(lat0)cos(lon0)cos(lon0)sin(lat0)sin(lon0)cos(lat0)sin(lon0)0cos(lat0)sin(lat0)
上述: e n u enu enu P P P P 0 P_0 P0(东北天)坐标系下坐标

3.4 ENU坐标系转ECEF坐标系

S为单位正交矩阵
S − 1 = S T [ Δ x Δ y Δ z ] = S − 1 ⋅ [ e n u ] = S T ⋅ [ e n u ] \begin{aligned} & S^{-1} = S^T \\ & \left[\begin{array}{ccc} \Delta x\\ \Delta y \\ \Delta z \\ \end{array}\right] = S^{-1} \cdot \left[\begin{array}{ccc} e\\ n \\ u \\ \end{array}\right] = S^T \cdot \left[\begin{array}{ccc} e\\ n \\ u \\ \end{array}\right] \end{aligned} S1=STΔxΔyΔz=S1enu=STenu

3.5 LLA坐标系转ENU坐标系

上述可以看到,从 L L A LLA LLA坐标系转到 E N U ENU ENU坐标系有较多计算量,在考虑地球偏心率 e e e很小的前提下,可以做一定的近似公式计算:
[ Δ e Δ n Δ u ] = [ a ⋅ c o s ( l a t ) ⋅ Δ l o n 0 0 0 a ⋅ Δ l a t 0 0 0 Δ a l t ] \left[\begin{array}{ccc} \Delta e\\ \Delta n \\ \Delta u \\ \end{array}\right] = \left[\begin{array}{ccc} a\cdot cos(lat) \cdot \Delta lon & 0 &0 \\ 0 & a\cdot \Delta lat & 0\\ 0 & 0 & \Delta alt\\ \end{array}\right] ΔeΔnΔu=acos(lat)Δlon000aΔlat000Δalt

参考文献及博客链接:
[1]魏子卿.2000中国大地坐标系及其与WGS84的比较[J].大地测量与地球动力学,2008(05):1-5.
[2]程鹏飞,文汉江,成英燕,王华.2000国家大地坐标系椭球参数与GRS 80和WGS 84的比较[J].测绘学报,2009,38(03):189-194.
[3]https://www.zhihu.com/question/35775670/answer/362106176
[4]https://www.cnblogs.com/langzou/p/11388520.html
[5]https://www.cnblogs.com/taqikema/p/8678596.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值