坐标系转换--二维四参数大地坐标系转换模型变换关系理解

二维四参数空间直角坐标系转换模型变换关系理解

[ X 2 Y 2 ] = [ T x T y ] + ( 1 + m ) [ cos ⁡ α − sin ⁡ α sin ⁡ α cos ⁡ α ] [ X 1 Y 1 ] (1) \tag{1} \begin{bmatrix} X_2 \\ Y_2 \end{bmatrix} = \begin{bmatrix} T_x \\ T_y \end{bmatrix} + (1+m) \begin{bmatrix} \cos{\alpha} & -\sin{\alpha} \\ \sin{\alpha} & \cos{\alpha} \end{bmatrix} \begin{bmatrix} X_1 \\ Y_1 \end{bmatrix} [X2Y2]=[TxTy]+(1+m)[cosαsinαsinαcosα][X1Y1](1)

式中: 式中: 式中:
X 1 , Y 1 :原坐标系下平面直角坐标系,单位为米 ( m ) ; X_1,Y_1:原坐标系下平面直角坐标系,单位为米(m); X1,Y1:原坐标系下平面直角坐标系,单位为米(m)
X 2 , Y 2 : 2000 国家大地坐标系下的平面直角坐标系,单位为米 ( m ) ; X_2,Y_2:2000国家大地坐标系下的平面直角坐标系,单位为米(m); X2,Y22000国家大地坐标系下的平面直角坐标系,单位为米(m)
T x , T y :平移参数,单位为米 ( m ) ; T_x,T_y:平移参数,单位为米(m); Tx,Ty:平移参数,单位为米(m)
α :旋转参数,单位为弧度 ( r a d ) ; \alpha:旋转参数,单位为弧度(rad); α:旋转参数,单位为弧度(rad)
m :尺度参数,无量纲。 m:尺度参数,无量纲。 m:尺度参数,无量纲。

( 1 ) 式变换为: (1)式变换为: (1)式变换为:
[ X 2 Y 2 ] = [ T x + ( 1 + m ) cos ⁡ α X 1 − ( 1 + m ) sin ⁡ α Y 1 T y + ( 1 + m ) sin ⁡ α X 1 + ( 1 + m ) cos ⁡ α Y 1 ] (2) \tag{2} \begin{bmatrix} X_2 \\ Y_2 \end{bmatrix} = \begin{bmatrix} T_x + (1+m)\cos{\alpha}X_1 - (1+m)\sin{\alpha}Y_1 \\ T_y + (1+m)\sin{\alpha}X_1 + (1+m)\cos{\alpha}Y_1 \end{bmatrix} [X2Y2]=[Tx+(1+m)cosαX1(1+m)sinαY1Ty+(1+m)sinαX1+(1+m)cosαY1](2)
令 令
a 0 = ( 1 + m ) cos ⁡ α , a_0=(1+m)\cos{\alpha}, a0=(1+m)cosα
a 1 = ( 1 + m ) sin ⁡ α , a_1=(1+m)\sin{\alpha}, a1=(1+m)sinα
则 ( 2 ) 式变为: 则(2)式变为: (2)式变为:
[ X 2 Y 2 ] = [ T x + a 0 X 1 − a 1 Y 1 T y + a 1 X 1 + a 0 Y 1 ] = [ 1 0 X 1 − Y 1 0 1 Y 1 X 1 ] [ T x T y a 0 a 1 ] (3) \tag{3} \begin{bmatrix} X_2 \\ Y_2 \end{bmatrix} = \begin{bmatrix} T_x + a_0X_1 - a_1Y_1 \\ T_y + a_1X_1 + a_0Y_1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & X_1 & -Y_1 \\ 0 & 1 & Y_1 & X_1 \end{bmatrix} \begin{bmatrix} T_x \\ T_y \\ a_0 \\ a_1 \end{bmatrix} [X2Y2]=[Tx+a0X1a1Y1Ty+a1X1+a0Y1]=[1001X1Y1Y1X1] TxTya0a1 (3)

∵ a 0 2 + a 1 2 = ( 1 + m ) 2 \because a_0^2 + a_1^2 = (1+m)^2 a02+a12=(1+m)2
∴ m = a 0 2 + a 1 2 − 1 \therefore m = \sqrt{a_0^2 + a_1^2} - 1 m=a02+a12 1
∵ a 1 a 0 = tan ⁡ α \because \frac{a_1}{a_0} = \tan{\alpha} a0a1=tanα
∴ α = arctan ⁡ a 1 a 0 \therefore \alpha=\arctan{\frac{a_1}{a_0}} α=arctana0a1

基于最小二乘与多对同名点对计算参数

设存在 n 对同名点对: ( X a , Y a ) 1 → ( X b , X b ) 1 , ⋯ , ( X a , Y a ) n → ( X b , X b ) n . 设存在n对同名点对:(X_a,Y_a)_1 \rarr (X_b,X_b)_1,\cdots,(X_a,Y_a)_n \rarr (X_b,X_b)_n. 设存在n对同名点对:(Xa,Ya)1(Xb,Xb)1(Xa,Ya)n(Xb,Xb)n.
令 令
θ = [ T x T y a 0 a 1 ] \theta =\begin{bmatrix} T_x \\ T_y \\ a_0 \\ a_1 \end{bmatrix} θ= TxTya0a1
v i = ( X b , Y b ) i T , v_i=(X_b,Y_b)^T_i, vi=(Xb,Yb)iT
P i = [ 1 0 X a − Y a 0 1 Y a X a ] i , P_i= \begin{bmatrix} 1 & 0 & X_a & -Y_a \\ 0 & 1 & Y_a & X_a \end{bmatrix}_i, Pi=[1001XaYaYaXa]i
i = 1 , ⋯   , n i=1,\cdots,n i=1,,n

根据式 ( 3 ) ,代入样本值得到方程组如下: 根据式(3),代入样本值得到方程组如下: 根据式(3),代入样本值得到方程组如下:
{ P 1 θ = v 1 P 2 θ = v 2 ⋮ P n θ = v n \begin{dcases} P_1\theta = v_1 \\ P_2\theta = v_2 \\ \vdots \\ P_n\theta = v_n \end{dcases} P1θ=v1P2θ=v2Pnθ=vn
则变换为矩阵方程为: 则变换为矩阵方程为: 则变换为矩阵方程为:
v = P θ v = P\theta v=
P = [ P 1 P 2 ⋮ P n ] , v = [ v 1 v 2 ⋮ v n ] P= \begin{bmatrix} P_1 \\ P_2 \\ \vdots \\ P_n \end{bmatrix}, v= \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} P= P1P2Pn v= v1v2vn

考虑 v = P θ 无解,需要从 P 的列空间中找出最接近 v 的向量 u ( u 可以理解为 v 在 P 的列空间中的投影,理解如下图所示:) 考虑v = P\theta无解,需要从P的列空间中找出最接近v的向量u(u可以理解为v在P的列空间中的投影,理解如下图所示:) 考虑v=无解,需要从P的列空间中找出最接近v的向量uu可以理解为vP的列空间中的投影,理解如下图所示:)
在这里插入图片描述

如上图所示, p 是 b 在 [ a 1 a 2 ] 列空间中的投影。 如上图所示,p是b在\begin{bmatrix} a_1 & a_2 \end{bmatrix} 列空间中的投影。 如上图所示,pb[a1a2]列空间中的投影。
令 e = v − u ,最小二乘就是找到 ∥ e ∥ 2 最小的点,最小二乘就是指向量长度的最小平方。 令e=v-u,最小二乘就是找到\parallel e \parallel^2最小的点,最小二乘就是指向量长度的最小平方。 e=vu,最小二乘就是找到e2最小的点,最小二乘就是指向量长度的最小平方。

由上可知, u 位于 P 的列空间中,即 u 是 P 的各列的线性组合: 由上可知,u位于P的列空间中,即u是P的各列的线性组合: 由上可知,u位于P的列空间中,即uP的各列的线性组合:
令 P 的列空间为 P = [ C 1 C 2 ⋯ C m ] 令P的列空间为 P= \begin{bmatrix} C_1 & C_2 & \cdots & C_m \end{bmatrix} P的列空间为P=[C1C2Cm]
故存在 u = C 1 θ 1 ~ + C 2 θ 2 ~ + ⋯ + C m θ m ~ 故存在 u=C_1\tilde{\theta_1} + C_2\tilde{\theta_2} + \cdots + C_m\tilde{\theta_m} 故存在u=C1θ1~+C2θ2~++Cmθm~
即 P θ ~ = u 有解。 即P\tilde{\theta}=u有解。 Pθ~=u有解。

e = v − u = v − P θ ~ e=v-u=v-P\tilde{\theta} e=vu=vPθ~
e 正交于 P 的列空间,存在: e正交于P的列空间,存在: e正交于P的列空间,存在:
e ⊥ C 1 , e ⊥ C 2 , ⋯   , e ⊥ C m e \perp C_1,e \perp C_2,\cdots,e \perp C_m eC1,eC2,,eCm

由向量点积关系式可得: 由向量点积关系式可得: 由向量点积关系式可得:

⇒ { C 1 T ( v − P θ ~ ) = 0 C 2 T ( v − P θ ~ ) = 0 ⋮ C m T ( v − P θ ~ ) = 0 \Rarr \begin{dcases} C_1^T(v-P\tilde{\theta})=0 \\ C_2^T(v-P\tilde{\theta})=0 \\ \vdots \\ C_m^T(v-P\tilde{\theta})=0 \end{dcases} C1T(vPθ~)=0C2T(vPθ~)=0CmT(vPθ~)=0

⇒ [ C 1 T C 2 T C 3 T ⋮ C m T ] ( v − P θ ~ ) = [ 0 0 0 ⋮ 0 ] \Rarr \begin{bmatrix} C_1^T \\ C_2^T \\ C_3^T \\ \vdots \\ C_m^T \end{bmatrix} (v-P\tilde{\theta})= \begin{bmatrix} 0 \\ 0 \\ 0 \\ \vdots \\ 0 \end{bmatrix} C1TC2TC3TCmT (vPθ~)= 0000

∵ P = [ C 1 C 2 ⋯ C m ] \because P= \begin{bmatrix} C_1 & C_2 & \cdots & C_m \end{bmatrix} P=[C1C2Cm]
∴ P T = [ C 1 T C 2 T ⋮ C m T ] \therefore P^T = \begin{bmatrix} C_1^T \\ C_2^T \\ \vdots \\ C_m^T \end{bmatrix} PT= C1TC2TCmT

⇒ P T ( v − P θ ~ ) = 0 \Rarr P^T(v-P\tilde{\theta})=0 PT(vPθ~)=0
⇒ P T P θ ~ = P T v \Rarr P^TP\tilde{\theta}=P^Tv PTPθ~=PTv
⇒ θ ~ = ( P T P ) − 1 P T v \Rarr \tilde{\theta}=(P^TP)^{-1}P^Tv θ~=(PTP)1PTv

即 θ ~ = ( P T P ) − 1 P T v 为基于最小二乘计算出来的最接近实际参数的转换值 即\tilde{\theta}=(P^TP)^{-1}P^Tv为基于最小二乘计算出来的最接近实际参数的转换值 θ~=(PTP)1PTv为基于最小二乘计算出来的最接近实际参数的转换值

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值