目录
一、原理概述
当观测的公共控制点大于3个时,可采用间接平差法求得空间坐标转换模型中的七个参数,即七参数转换模型。
两个坐标系之间转换的布尔莎模型为:
[
X
A
Y
A
Z
A
]
=
[
T
X
T
Y
T
Z
]
+
(
1
+
m
)
R
3
(
w
z
)
R
2
(
w
y
)
R
1
(
w
x
)
[
X
B
Y
B
Z
B
]
(1)
\left[ \begin{matrix} X_{A} \\ Y_{A} \\ Z_{A} \end{matrix} \right]=\left[ \begin{matrix} T_{X} \\ T_{Y} \\ T_{Z} \end{matrix} \right]+(1+m)R_3(w_z)R_{2}(w_y)R_1(w_x)\left[ \begin{matrix} X_{B} \\ Y_{B} \\ Z_{B} \end{matrix} \right] \tag{1}
⎣⎡XAYAZA⎦⎤=⎣⎡TXTYTZ⎦⎤+(1+m)R3(wz)R2(wy)R1(wx)⎣⎡XBYBZB⎦⎤(1)
式中,
T
X
T_X
TX、
T
Y
T_Y
TY、
T
Z
T_Z
TZ为由坐标系B到坐标系A的平移参数,
w
z
w_z
wz、
w
y
w_y
wy、
w
z
w_z
wz为由坐标系B到坐标系A的旋转参数,
m
m
m为由坐标系B到坐标系A的尺度参数。
通常情况下,两个不同基准间的旋转欧拉角很小,因此
R
3
(
w
z
)
、
R
2
(
w
y
)
、
R
1
(
w
x
)
R_3(w_z)、R_{2}(w_y)、R_1(w_x)
R3(wz)、R2(wy)、R1(wx)都近似为单位矩阵。布尔莎模型最终可简化为
[
X
A
Y
A
Z
A
]
=
[
T
X
T
Y
T
Z
]
+
[
1
0
0
0
−
Z
B
Y
B
X
B
0
1
0
Z
B
0
−
X
B
Y
B
0
0
1
−
Y
B
X
B
0
Z
B
]
[
T
X
T
Y
T
Z
w
x
w
y
w
z
m
]
(2)
\left[ \begin{matrix} X_{A} \\ Y_{A} \\ Z_{A} \end{matrix} \right]=\left[ \begin{matrix} T_{X} \\ T_{Y} \\ T_{Z} \end{matrix} \right]+ \left[ \begin{matrix} 1&0&0&0&-Z_{B}&Y_{B}&X_{B} \\ 0&1&0&Z_{B}&0&-X_{B}&Y_{B} \\ 0&0&1&-Y_{B}&X_{B}&0&Z_{B} \end{matrix} \right] \left[ \begin{matrix} T_X \\ T_Y \\ T_Z \\ w_x\\ w_y\\ w_z\\ m \end{matrix} \right] \tag{2}
⎣⎡XAYAZA⎦⎤=⎣⎡TXTYTZ⎦⎤+⎣⎡1000100010ZB−YB−ZB0XBYB−XB0XBYBZB⎦⎤⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡TXTYTZwxwywzm⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤(2)
二、案例分析
已知5个点在WGS-84坐标系和1954北京坐标系下的坐标,如下表所示,根据布尔莎模型求解WGS-84到1954坐标系之间的转换参数。
三、代码实现
根据间接平差计算原理,使用C++编写代码计算结果如下: