基于全站仪三维观测数据的平差模型及数据处理
基于全站仪三维观测数据的平差模型及数据处理
摘 要:建立基于全站仪多维观测数据的三维网平差模型,用Visual Basic语言编制计算程序,使其自动完成控制网的平差,解决实际应用中全站仪采集数据和成果处理中存在的问题,指导测绘生产,使全站仪能够更方便的用于地形控制测量、工程控制测量等测绘工程中。
关键词:多维观测数据;数据处理;精度对比;三维网平差
随着全站仪在测绘工程中得到越来越广泛的应用,应用全站仪同步采集三维观测数据,作为一种高效率的作业方法逐渐得到业内人士的重视。当前,虽然在某些工程中用全站仪采集了三维观测数据,但是由于没有基于全站仪三维观测数据的平差数学模型和数据处理软件,在数据处理时仍然按传统的数据处理方法进行,降低了数据处理的效率和精度。测绘工程中某一等级以下的高程控制测量中,利用全站仪三角高程测量代替水准测量是可行的,而且通过对仪器和测量方法的改进,全站仪三角高程的精度甚至可以达到二等水准测量的精度要求,在这种情况下,由于应用全站仪同步采集三维控制网数据的工作效率高,使用全站仪同步采集三维控制网数据成为工程技术人员的首选。在数据处理方面,还没有基于全站仪三维观测数据的数据处理软件问世,因此,研究基于全站仪三维观测数据的平差模型及数据处理软件具有理论及现实意义。
1 建立三维网平差模型目的
本论文研究的目的是建立基于全站仪多维观测数据的三维网平差模型,用Visual Basic语言编制计算程序,使其自动完成控制网的平差,为进一步研制相关软件打下坚实基础。解决实际应用中全站仪采集数据和成果处理中存在的问题,指导测绘生产,使全站仪能够更方便的用于地形控制测量工程控制测量等测绘工程中。并解决以下问题:
1.改变短边低等级控制网测量数据采集方式,用全站仪三角高程测量代替水准测量,同步采集控制网的三维观测数据;
2、建立观测方向、观测天顶距和观测斜距与所设参数之间的函数模型及精度评定的随机模型;
3、编制基于全站仪三维观测数据的控制网平差计算程序。
2 三维导线平差模型的建立
在测绘工程中,数据处理是获得优良成果的关键一环。平差是根据一定的平差准则对数据进行处理,获得观测数据的最佳估值。在经典平差中所依据的准则是最小二乘原理。本文拟依据间接平差模型,建立基于全站仪三维观测数据的三维导线网平差模型。
用全站仪进行三维数据的采集时获得的数据是水平方位角、斜距和天顶距。间接平差就是在最小二乘准则要求下求出误差方程中的待定参数,在数学中是求多元函数的极值问题。建立三维导线网的间接平差模型,目的是为了求出导线点的三维坐标并评定精度。
2.1 观测方程
选定导线点的坐标[、、]为参数,把观测值水平方向值L、斜距S和天顶距表示为参数的函数,称为观测方程。
设j 、f两点间的水平方向观测值为Ljf ,斜距观测值为Sjf,天顶距观测值为βjf,又设测区范围不大,高差变化较小,垂线偏差的影响可忽略,则水平方向观测值、斜距观测值和天顶距观测值的观测方程为
(1)
式中: X , Y , Z (高程H) 为三维坐标,为测站点仪器高,为照准点棱镜高,为j 、f 点间的平距, R为测站点和照准点处椭球的平均曲率半径, K为大气折光系数。
2.2 误差方程
对观测方程线性化得误差方程
(2)
式中:为定向角近似值的改正数,为j 、f 点间的近似坐标增量, 为j 、f点间的斜距近似值, ,为j 、f 点间的平距近似值,为K的近似值的改正数,、、为近似坐标的改正数。值可根据某一时间段测区实验资料的平均值得到,我国根据许多测区统计K值约为0.11,也可取此值。误差方程的常数项分别为
(3)
当不大时,(2)式中边误差方程值的系数
天顶距误差方程中值的系数
2.3 误差方程的求解
误差方程(2)写成矩阵形式
(4)
上式以位准则,按求函数自由极值的方法得
(5)
(4)式两边左乘得法方程
(6)
其中、,解法方程得
(7)
上式求得的是参数的改正数,将它加上参数近似值即得到参数的平差值。
2.4 精度评定
(1)各类观测量定权用中误差初值的确定
各类观测量定初权所用的中误差可按相应等级控制测量的精度要求确定, 也可根据仪器标称精度和观测值的测回数确定。
(2)观测值初权的确定
设平面方向观测值中误差为,距离观测值中误差为,天顶距观测值中误差为,由定权公式,设,则;;,综上,可得到平差值协方差阵为。
3 全站仪三维观测数据的程序设计
程序中采用ADO控件与数据库连接,通过DataGrid控件输入已知数据和观测数据,计算完成后的导线点近似坐标也通过该控件以表格的形式显示。
3.1 连接数据库
连接数据库时,设置ADO控件属性值:
ConnectionString=“Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False; DataSource=..:\..\三维导线网自动平差\三维导线网平差数据.mdb”。
RecordSourse=“select * form 数据表名”。
DataGrid控件或其他数据控件的DataSourse属性值设置为相应的ADO控件名,文本框等数据控件的DataFiled属性值设置为相应数据表中的对应字段。要实现在DataGrid中修改和录入数据,它的属性AllowAddNew、AllowArrows、AllowDelete和AllowUpdate的值均应设置为True。
3.2 导线的搜索
在代码中定义三个二维数组,其中knowdata()用来在运算过程中存储起始数据,ssarry()用来在运算过程中存储观测数据,dxindex()用来在导线搜索过程中存储导线点名。以上三个二维数组的结构如下:
'导线搜索
line1:
For i = 0 To j - 1
If i = 0 Then
'二维数组dxindex()用来存储搜索到的导线点名
dxindex(m, n) = ssarry(i, 2): dxindex(m, n + 1) = ssarry(i, 3)
n = n + 1: k = ssarry(i, 0): ssarry(i, 0) = 0: p = p + 1
End If
If i <> 0 Then
If ssarry(i, 2) = ssarry(k - 1, 2) Then '测站点连续相同时取水平角较小的方向
If ssarry(i, 4) < ssarry(k - 1, 4) Then
dxindex(m, n) = ssarry(i, 3)
k = ssarry(i, 0): ssarry(i, 0) = 0: p = p + 1
End If
End If
If ssarry(i, 2) = dxindex(m, n) Then '本条记录的测站点与所记导线点的最后一点相同时
If ssarry(i, 3) <> ssarry(k - 1, 2) Then '防止导线搜索时原路返回
dxindex(m, n + 1) = ssarry(i, 3)
n = n + 1: k = ssarry(i, 0): ssarry(i, 0) = 0: p = p + 1
End If
If ssarry(i, 3) = ssarry(k - 1, 2) Then
If ssarry(i, 1) <> ssarry(k - 1, 2) Then
dxindex(m, n + 1) = ssarry(i, 1)
n = n + 1: k = ssarry(i, 0): ssarry(i, 0) = 0: p = p + 1
End If
'如果某测站处左右两个方向搜索都按原路返回则记录一条导线
If ssarry(i, 1) = ssarry(k - 1, 2) Then
m = m + 1: n = 0
End If
End If
End If
End If
For q = 0 To kpnum - 1 '搜到已知点时记录一条导线
If dxindex(m, n) = knowdata(q, 1) Then
m = m + 1: n = 0
End If
Next q
If i = j - 1 Then '搜索到最后一条记录时记录一条导线
m = m + 1: n = 0
End If
Next i
If p = j Then
MsgBox "导线搜索完成"
End If
If p <> j Then
GoTo line1
End If
3.3 导线的计算
依据上述搜索得到的点序进行导线的计算,并依据计算得到的导线点近似坐标绘制导线计算略图。
'如果找到导线则开始计算
'计算近似坐标
X1 = X0 + sps(gcindex(m) - 1) * Cos(sphj(gcindex(m) - 1))
Y1 = Y0 + sps(gcindex(m) - 1) * Sin(sphj(gcindex(m) - 1))
H1 = H0 + sps(gcindex(m) - 1) * Cos(spvj(gcindex(m) - 1)) + spih(gcindex(m) - 1)
- spjh(gcindex(m) - 1)
'坐标增量的累积
dx = dx + sps(gcindex(m) - 1) * Cos(sphj(gcindex(m) - 1))
dy = dy + sps(gcindex(m) - 1) * Sin(sphj(gcindex(m) - 1))
dh = dh + sps(gcindex(m) - 1) * Cos(spvj(gcindex(m) - 1)) + spih(gcindex(m) - 1)
- spjh(gcindex(m) - 1)
'近似坐标值存储到数据库
Adojszb.Recordset.AddNew
Textsjszb(0).Text = spzname(gcindex(q) - 1)
Textsjszb(1).Text = Int((X1 * 1000) + 0.5) / 1000
Textsjszb(2).Text = Int((Y1 * 1000) + 0.5) / 1000
Textsjszb(3).Text = Int((H1 * 1000) + 0.5) / 1000
Adojszb.Recordset.Update
Adojszb.Recordset.MoveFirst
Next m
4 算例分析
根据建立的基于全站仪三维观测数据的三维导线平差数学模型,结合野外数据采集的实例,分别进行三维导线近似平差和平面导线、三角高程近似平差计算,算出近似坐标和高程并将其平差成果进行比较,具体过程如下:
如下图1闭合导线,A,B作为已知点A(5428.424, 3375.188, 123.159),B(5459.842, 3060.012, 125.386).
图1 算例图
已知数据如下表1:
表1全站仪水平角观测数据表
表2 全站仪倾斜距离和天顶距观测数据表
4.1 基于全站仪三维观测数据的平差的结果
表3 程序计算三维近似坐标表
4.2 按传统平差方法计算平面坐标和高程
(1) 计算导线近似坐标和近似高程如下表4
表4 平面近似坐标表
(2)闭合差如公式
角度闭合差: (n-边个数;-水平角) (8)
导线1 :=12,导线2 :=10
相对闭合差: (S为距离) (9)
导线1 :fx =17mm;fy=mm;K=1/58428
导线2 :fx =5mm;fy =mm; K=1/49658
高差闭合差: =24mm;=13mm ,高差允许闭合差:66mm
4.3 平差结果的分析比较
1.三维近似坐标手工计算与程序计算结果之比较如表5
表5 三维手工计算与程序计算结果差值表
(1)最大为2mm;最小为0mm
最大为3mm;最小为0mm
最大为3mm;最小为0mm
(2)理论计算与程序计算结果几乎相等,最大差值不超过5mm,初步证明了程序算法的正确性。
2.三维程序计算与平面高程分别计算成果的比较如表6:
表6 三维程序计算与平面高程分别计算成果差值表
(1) 最大为6mm;最小为0mm
最大为4mm;最小为0mm
最大为31mm;最小为5mm
(2) 三维近似坐标计算平面坐标与导线计算结果最大差值不超过6mm;三维计算高程与水准网计算最大差值不超过31mm 。
3.上述计算成果表明水准测量得到的高程精度高于三角高程测量的精度,但在四等以下使用三角高程观测成果进行计算已经能够满足相应等级的精度要求,所以可以用全站仪同步采集控制网的三维观测数据整体平差计算。根据比较分析可知,三角高程的精度不如水准测量的精度,但是在四等及以下的高程控制中,三角高程的精度能够满足需求,从而,初步说明,基于全站仪三维观测数据平差的可行性、科学性与正确性。
5 结 论
本文通过对基于全站仪三维观测数据平差的研究,推导出了三维导线网平差的条件平差模型和间接平差模型,并编制了相关的计算程序,用来实现控制点近似坐标的自动推算,并依据近似坐标绘制控制网计算略图。本文的创新之处有:(1)基于全站仪三维观测数据进行平差,比传统的平面与高程控制分别进行平差更方便,效率更高;(2)实现了近似坐标的自动推算和观测略图的自动绘制;(3)建立了三维导线的平差模型。
参考文献
[1] 许娅娅,张绍春.全站仪三角高程测量在公路测量中的应用[J].西安工程学院学报,1999(9).
[2] 刘军,秦建明,张志勇.全站仪三角高程测量的误差分析[J].内蒙古林业调查设计 2001(6).
[3] 靳海亮,赵长胜,韩奎峰.全站仪三角高程替代四等水准测量精度分析[J].辽宁工程技术大学学报,2004(10).
[4] 杨国忠等.全站仪三角高程测量的精度分析[J].内蒙古煤炭经济,2006.第2期.
[5] 武汉大学平差学科组.误差理论与测量平差基础[M]. 武汉:武汉大学出版社,2003.
[6] 黑志坚等.测量平差[M].哈尔滨:哈尔滨地图出版社,1999.
[7] 黑志坚.基于全站仪三维观测数据的短边控制网平差模型[J].黑龙江工程学院学报,2005(4).
[8] 林卓然.VB语言程序设计[M].北京:电子工业出版社,1999.
[9] 李存斌,郭晓鹏著.Visual Basic高级编程及项目应用开发[M].北京:中国水利水电出版社,2003.
[10] (美)Jeffrey P.McManus Visual Basic 6.0 数据库访问技术[M]. 北京:机械工业出版社,1999.
[11] K.R.Koch. Parameter Estimation and Hypothesis Testing Linear Models. Springer-verlag,1987.
[12] P.Meissl. Least Squares Adjustment a Modern Approach. Technischen Universitat Craz,1982.
基于全站仪三维观测数据的平差模型及数据处理.doc