1. 引言
测量平差最初用于测绘专业主要研究对象是地球及其表面形态和推算地面点的几何位置、地球形状及地球重力场,据此测量地球表面自然形状和人工设施的几何分布并结合某些社会信息和自然信息的地理分布编制全球和局部地区各种比例尺的地图和专题地图的理论和技术学科。其中大地测量学、工程测量学与计量学中的几何量计量联系紧密。
水准网平差是测量数据处理的重要内容。近年来,随着工程测量的发展,尤其是高难度隧道以及大跨度桥梁等大型精密工程的建设,精密水准测量[1]已成为保障施工质量的重要手段,如何获得高精度的平差结果以及合理的水准测量精度成为水准数据处理的关键问题。
随着现代测量工程的精密化和电子计算机、各种平差算法和概率统计等现代技术在测量平差中的广泛应用,经典平差[2]已经进入了近代平差的新时期。电子计算机的应用从根本上改变了传统的平差计算方法,并使大量法方程的解算成为可能。国内外学者目前在测绘平差软件方面做了大量的研究工作,如国内的南方测绘平差软件、国外的Leica Geo Office、Trimble Business Cente等,同时也在模型方面做了大量的研究工作,如自由网平差模型、约束平差模型、变形分析模型等[3],以及对算法的研究,例如自由网平差算法、拟稳平差算法[4]。随着时代的发展,平差计算方法也必须相应地改变,不仅需要考虑各种误差来源,例如湿度、外部温度、地球曲率和大气折光[5]等,还需适应电子计算机的要求。在进行电子计算时,平差方法和计算公式的选择应考虑到运算过程是否适用于电脑计算、是否便于程序设计以及能否充分发挥电子计算机的高速自动化特性。
2. 基本原理
2.1. 球气差改正数
在水准测量的过程中,测量精度易受到地球曲率和大气折射的影响。地球曲率指的是地球表面并非完全平坦,而是具有一定的弧度,这会导致测量结果出现误差。另一方面,大气折射是指光线在穿过不同密度的大气层时会发生弯曲,进而影响测量数据的精确度。通过建立球气差改正数数学模型可以对地球曲率和大气折射所产生的误差进行定量分析和修正,确保测量结果的高精度和可靠性。
为了计算两点间的平距D,需要考虑地球曲率的影响P以及大气折光的影响r。相关公式如下:
(1)
(2)
(3)
在上述公式中,R代表地球的半径,而k是大气的折光系数,其值介于0.14至0.16之间。S表示两点间的斜距。
公式(1)描述了两点间的斜距,即两点间的直线距离。该距离的数值等于两点间水平距离S与入射角α的余弦值cos (α)的乘积。这个公式通常用于计算空间中两点间的距离。
公式(2)阐述了地球曲率对光线传播路径的影响。当光线穿过地球大气层时,地球的曲率会导致光线发生弯曲,使得光线的传播路径与两点间的直线距离存在差异。
公式(3)则解释了大气折射对光线路径的影响。光线在穿过大气层时,由于大气密度的变化,会发生折射现象,进而导致光线路径的弯曲。
计算球气差改正f:
(4)
在计算中R取6378137,k = 0.15。
2.2. 超限判断
超限判断这一过程依据国家或行业的测量规范与标准,通过直接比较、统计检验或图形分析等方法,识别测量结果是否超出允许的误差范围。若超限,需采取重测、误差修正或数据剔除等措施,以确保测量数据的准确性和整体测量成果的质量。
在此基础上,将计算得到的高差闭合差与表1中三角高程限差要求所明确规定的限差值进行比较,是超限判断的关键步骤。只有当高差闭合差小于或等于限差值时,方可判定为满足限差要求。此外,在超限检验过程中,程序严格遵循五等限差标准,对附和及闭合线路的闭合差进行严格控制,确保不超过规定的30
,从而全面保障了测量工作的严谨性和科学性。
Table 1. Requirements for allowable differences in trigonometric leveling
表1. 三角高程限差要求
等级 |
仪器 |
测距边测回数 |
指标差较差(”) |
垂直角较差(”) |
对象观测高较差(mm) |
附和闭合线路闭合差(mm) |
四等 |
DJ2 |
往返各1 |
≤7 |
≤7 |
40
|
20
|
五等 |
DJ2 |
1 |
≤10 |
≤10 |
60
|
30
|
2.3. 计算高差闭合差
在完成超限判断的步骤之后,需要进一步计算其高差闭合差,以确保测量数据的准确性和可靠性。具体来说,高差闭合差是指在一系列测量过程中,各个高差值的累积误差。高差闭合差计算公式如下:
(5)
(6)
(7)
(8)
依据公式(5),求得所有测量高度的总和,然后减去点B与点A的高度差,便能得出高差闭合差。
接下来,计算高差改正数:
根据公式(6),针对每个测距段,计算其高差的近似平差改正数。计算方法是将高差闭合差乘以该测距段的水平距离作为分子,而分母则是所有测距段水平距离的总和。
然后,计算修正后的高差:
依据公式(7),将每个测距段的原始高差与相应的高差改正数相加,即可得到修正后的高差。
最后,计算修正后的高程:
根据公式(8),将修正后的高差与点A的已知高程相加,便能得到修正后的点B高程。
2.4. 水准路线近似平差计算
此过程通过精炼的数学模型与算法,对观测数据进行系统处理,旨在剔除因仪器、环境等因素引入的误差,确保测量成果的科学性和实用性。水准路线近似平差计算公式如下:
(9)
根据式(9)水准路线的近似平差计算的步骤如下:
①计算水准路线的高程闭合差:将所有高程观测值相加,然后从该总和中减去基准高程的差值(即
),得到高程闭合差
。
②计算高差改正数:计算每个高程观测值
的校正值
。
③计算平差值:计算校正后的高程均值
。
可以通过将原始观测值
与校正值
相加来计算。
④计算高程值:计算每个点的高程
。高程
可以通过将基准高程
与每个点的平差值
均累加得到。
3. Python算法实现
3.1. 总体算法框架
本程序采用Python语言编写,利用了Python的科学计算和数据可视化库,以实现算法的快速和高效执行。在开发过程中,采用了模块化和面向对象的编程范式,成功实现了多种算法功能,包括但不限于球气差改正数的计算、超限情况的判定、闭合差的计算以及近似平差的计算等。
3.2. 三角高程计算数据处理模块
该模块主要涉及以下公式计算:球气差的校正、往返高差的超限检验、高程的计算以及高差闭合差的计算。具体思路流程如图1。
Figure 1. Trigonometric leveling adjustment calculation process
图1. 三角高程平差计算流程
3.3. 附和水准路线计算数据处理模块
该模块主要涉及以下公式计算:水准路线的近似平差计算以及水准路线的间接平差计算。具体思路流程如图2。
Figure 2. Adjustment calculation process for a closed leveling circuit
图2. 附和水准路线平差计算流程
4. 实例测试
4.1. 三角高程平差计算
首先,创建一个文本文件(.txt格式),其数据格式应包括:测段名称、往返方向、斜距、仪器高度、目标高度以及垂直角。格式参照图3所示,这些测试数据来源于某工区实际测量的三角高程平差数据。这些数据不仅适用于练习和教学,而且具有检验的可靠性。
Figure 3. Trigonometric leveling data format
图3. 三角高程数据格式
若数据量不大,也可以通过程序界面手动输入所需计算的数据。计算时,首先选择导线类型,然后输入起点和终点的高程值。点击计算按钮后,程序将计算并显示各点经过平差处理后的高程,如图4所示。完成计算后,点击保存按钮,即可将结果保存在当前目录中。
为了更直观的看到平差前后各个点位的高程的变化,可以点击图形按钮生成高程图形图如图5,其中橙色虚线表示改正前的高程,蓝色实线表示改正后的高程。
Figure 4. Trigonometric leveling adjustment calculation
图4. 三角高程平差计算
Figure 5. Elevation transformation curve
图5. 高程变化曲线图
4.2. 附和水准路线平差计算
首先,创建一个文本文件(.txt格式),在文件的开头两行分别记录起始点和终止点的点号及其对应的高程值。接下来,从第三行开始,每一行应包含以下数据:后视点的名称、前视点的名称、后视距离1、后视距离2、前视距离1、前视距离2、后视中丝读数1、后视中丝读数2、前视中丝读数1以及前视中丝读数2。
为了更好地理解数据格式,可以参考图6。这些测试数据来源于同一工区实际测量的闭合水准路线数据。这些数据不仅适用于练习和教学,而且由于其来源于实际测量,因此也具有一定的检验可靠性。
Figure 6. Closed leveling circuit data format
图6. 附和水准路线数据格式
将下列数据的导入程序后,单击计算按钮,即可一键计算出即可计算出平差后各个点的高程如图7,最后点击保存按钮可以将结果保存在当前目录下。
Figure 7. Adjustment calculation for a closed leveling circuit
图7. 附和水准路线平差计算
为了更直观地观察高程的变化,可以选择生成高程变化曲线,如图8所示。图中对比了修改前后的高程,并将修改前的高差数值标记为红色。转点(点号为−1)进行了省略处理,保留了待测点的点号与数据。
Figure 8. Closed leveling circuit elevation profile
图8. 附和水准路线高程图
5. 总结
随着计算机硬件的持续升级,软件的发展也在不断推进,特别是计算机操作系统的不断更新换代,软件的易用性变得更加明显和高效。商业软件迅速涌现,并广泛应用于社会的各个领域,极大地提升了工作效率和时效性,为经济发展提供了强有力的支持。在这种背景下,将测量理论融入程序变得至关重要。这不仅能够显著提高测量工作的效率和可靠性,而且能更好地服务于工程建设和国家建设。在测绘内业项目中,平差是一项不可或缺的基础内业处理任务,正确处理平差对于后续的测量和绘图工作具有决定性的影响。要完成一项高质量的测绘工作,首先需要有高精度的平差结果。
本文针对基于Python实现的平差算法进行了深入研究,并扩展了数据导入功能。不仅可以手动输入数据,还可以通过文本文件导入数据。文本文件导入数据的方法通常适用于水准网中网点数量众多、观测数据量庞大的情况,这样可以避免不必要的数据格式转换,从而提高用户和软件的工作效率。通过Python实现的平差算法能够快速、准确地完成数据处理,并且能够对误差进行有效的控制和分析,从而获得高精度的平差结果。
基金项目
大学生创新创业训练计划项目《基于Python程序实现的水准网和水平网平差方法研究》(2024cxcy174)。
NOTES
*通讯作者。