这里采用了一种新的方法,在采用极坐标计算出目标点坐标的同时,进行坐标点的精度推导。进而根据点位及其精度,可以将多个极坐标成果融合成前方交汇成果。
- 求解简单,高效,不需要构建平差矩阵
- 每一组极坐标单独解算的成果都是有意义的,此方法可以根据各个站的结果随时合并,使用中更灵活。
全站仪观测,实质是进行水平角,竖直角(或天顶距),斜距的测量,得到观测向量
-
原始观测:
$$\alpha,\beta,l$$ - 观测精度:
-
表达式:
$$\alpha = \alpha$$ $$h = l \cdot \sin(\beta)$$ $$d = l \cdot \cos(\beta)$$ -
雅各比矩阵
$\mathbf{K_{\alpha h d}}$ :
-
协方差矩阵
$\mathbf{D_{\alpha h d}}$ $$\mathbf{D_{\alpha h d}} = \mathbf{K_{\alpha h d}} \mathbf{P} \mathbf{K_{\alpha h d}^T}$$
-
表达式:
$$X = X_0 + d \cdot \cos(\alpha)$$ $$Y = Y_0 + d \cdot \sin(\alpha)$$ $$H = H_0 + h$$ -
雅各比矩阵
$\mathbf{K_{xyh}}$ :
-
协方差矩阵
$\mathbf{D_{xyh}}$ $$\mathbf{D_{xyh}} = \mathbf{K_{xyh}} \mathbf{D_{\alpha h d}} \mathbf{K_{xyh}^T}$$ -
展开成原始观测精度
$$\mathbf{D_{xyh}} = \mathbf{K_{xyh}} \mathbf{K_{\alpha h d}} \mathbf{P} \mathbf{K_{\alpha h d}^T} \mathbf{K_{xyh}^T}$$
至此我们得到了
在极坐标或前方交汇的时候,仪器需要观测一个定向点,通过定向点计算仪器初始方位。后续未知点的水平角观测,要加上定向角。因此水平角的观测,其实是两个观测相减的结果,两次观测独立,因此方差为两次观测的方差和。
- 修正后的水平角观测,其中
$\theta,\alpha_0$ 分别是定向点的已知方向值,是定向观测值
- 修正后的原始观测协方差矩阵
- 后续推导步骤不变 ……
- 如果进行平差
$\alpha,h,d$ 可以对应成方向,水准,平距观测,直接输入平差模型 - 即使不需要进行平差,我们依然需要在
$\alpha,h,d$ 阶段进行地球曲率,折光差,高程投影等改正 - 这也是为什么通用平差求解函数中,观测量支持自定义精度,利用ts2axhd函数对原始观测进行转换的时候,会自动推导精度。(现在主流做法是,分解成高差之后输入水准网平差模型,而水准网是距离反比定权,因此个人认为并不合理,水准观测距离反比定权的依据是水准仪搬站次数与距离成比例,而全站仪的精度应该根据原始观测,通过协方差率传播确定)
至此我们可以根据单站极坐标观测,推导出各个待测点的坐标,及其协方差矩阵。接下来我们推导如何融合多个极坐标观测成果,得到交汇成果。
给定线性方程组
当两组观测之间相互独立,可以利用矩阵分块,做如下推导:
-
计算
$A^T P^{-1} A$ :
展开后得到:
-
计算
$A^T P^{-1} \mathbf{b}$ :
展开后得到:
- 最终解:
方差为:
假设
-
计算
$A_1^T P_{11}^{-1} A_1$ :
-
计算
$A_1^T P_{11}^{-1} \mathbf{b}_1$ :
- 代入简化:
方差为:
假设
-
计算
$A_1^T P_{11}^{-1} A_1$ :
-
计算
$A_2^T P_{22}^{-1} A_2$ :
-
计算
$A_1^T P_{11}^{-1} \mathbf{b}_1$ :
-
计算
$A_2^T P_{22}^{-1} \mathbf{b}_2$ :
- 代入简化:
方差为:
至此我们得到了可以对多个观测结果及对应协方差直接进行融合的表达式,对应于一维情况,实质就是加权平均,高维情况变成了矩阵表达式。
主流方法会将全站仪观测分解成平距,高差观测。然后分别纳入平面网和水准网进行平差。而进入各个网络后,平距再次通过先验精度定权,水准观测使用距离反比定权。这里问题是,分解过后的高差,平距并不是独立观测量,其精度应该是从原始独立观测量推导,并带入到分解后的平差网络中。全站仪测高差的原理也不同于水准仪,并不存在搬站,不宜使用距离反比定全。
这个是对于测角网而言的,夹角过于尖锐会导致梯度爆炸。但是现在全站仪是测边测角,其实对网形的要求并没有那么严格。
使用平差软件,我们往往会把所有观测整理好,编制起算文件,然后进行求解。这里需要指出,整体求解的结果并不等于逐点求解。因为每个站都有一个定向角自由度,而这个自由度是每个点的观测共享的,所以这里就会有一个反直觉的结论:多点前方交会进行整体平差过程中,各个点的观测,会影响其他点的平差结果。某种意义上整体求解是最优的,全局误差最小化。但是这是对控制网而言的,在一些监测工作中,我们更希望独立观测出每个点的坐标,而不希望某个点上发生的误差,或某个点的缺测,影响其他点。所以不宜使用通用平差模型,处理交汇作业。
精度分析主要用于控制网测量,以评价控制网的整体及局部可靠度。对于变形监测,采用逐点求解,观测冗余条件本身就不多,边角同测的情况下,对交汇夹角没有严格要求。所以某种程度上,网形先验精度已经没有太大意义了。(这也对应了上面提过,全站仪对网形夹角要求不严格,并应该采用逐点求解方式)个人认为应注重时序精度,既使用低通滤波后的趋势线,与原始观测的差的标准差。
随着软硬件的高速发展,各种高效的blass库,AVX指令集,GPU加速技术,使得矩阵计算的速度大大提升。相比机器学习,数值模式等场景来说,测量工作遇到的数据量,运算量,几乎可以忽略不计。几千x几千的矩阵求逆,可以在几个毫秒内完成。但不排除平差是一个很经典的领域,相关的行业软件开发的比较早,并不能充分发挥现代硬件的算力。
仪器的标称精度是在理想环境下测试的光学,机械,元器件等综合误差表现。而大多数时候,测量是在户外进行中长距离的观测。性比仪器标称精度来说,大气,温度等不确定因素引入的系统误差量级是远大于仪器偶然误差的。因此在这种环境下,过度追求仪器精度,包括过度添加测回数,添加更多教会的测站,这些都是用来优化偶然误差的,个人觉得意义不大。应把重点放在环境影响因素的监测,以及对测量数据的改正方法研究上。
由于本人也做过一些数值模式的工作,发现平差与有限元之间,本质是一样的。甚至可以使用有限元软件来求求解平差。
数学层面:都可以理解为求解微分方程。严格说,平差采用的是一阶模式。
物理层面:可以把测边当成一个弹簧,拉亚杆,测角当成一个柔性连接器。弹簧的弹性系数类似于测边精度,连接器的力矩反馈相当于测角精度。结构稳定性是平差先验精度,静态应力对应后验精度。