程晗++裴良臣
摘要:针对工程常用的DINI和DNA电子水准仪,结合其原始数据的特点,将数据转换为了水准平差适用的基础数据格式。此独立设计可针对该格式水准线路或者水准网数据平差分析、生成报告的功能。实例结果表明:利用工程数据进行多次实验,结果可靠,程序实用,模块化的结构,便于程序功能的拓展。
关键词:电子水准仪;数据转换;水准平差
中图分类号:P04
文献标识码:A文章编号:16749944(2017)12024603
1引言
电子水准仪与光学水准仪相比具有速度快、精度高、自动读数、使用方便、易于实现水准测量内外业一体化等特色,这是其无可比拟的优点[1]。伴随着各行各业的发展与需要,电子水准仪在高等级水准测量、水利水电工程变形监测、铁路客运专线变形监测以及精密工程测量中得到了广泛的应用[2~5]。
瑞士徕卡公司推出的DNA系列数字水准仪和美国天宝公司的DINI数字水准仪是目前国内市场上的主流产品,可以满足高等级、高要求水准测量需要。但是数字水准仪在内业数据处理过程中存在一些不足。比如DNA03水准仪随机软件处理数据生成的平差报告只有结果,无观测精度,内业利用徕卡综合软件包LGO转换数据进行处理时,采用的XML文件不可修改。同样,DINI水准仪数据也存在机载平差软件输出数据不完善,利用天宝软件导入格式与国内规范格式不一致等问题,因此需要进行数据格式转换并进行平差处理。目前国内诸多转换程序有的只是针对某一种原始数据格式进行转换,有的在进行转换后不具备平差功能,需要利用其它软件进行平差,多款软件套用,操作较为复杂。
鉴于上述问题,笔者结合工程经验利用微软开发的面相对象语言——Microsoft Visual C#,采用模块化编程思路对于这两种常用的电子水准仪数据进行数据转换,生成水准基础格式数据文件,进行平差,同时将该格式水准数据平差功能处理封装成为单独模块,可单独利用此模块进行水准线路或水准网的平差分析生成报告。
2数据输出与格式介绍
2.1数据输出与选择
Leica所有的测量仪器均采用GSI(Geo Serial Interface 串行接口)数据结构,此数据结构存在两种数据形式:8位字符GSI-8和16位字符GSI-16格式。对于DNA水准仪,结合工程实践,较为方便的方式是将数据以GSI-8格式传出到PC卡上导入计算机进行处理。本文讨论的是GSI-8数据。
对于DINI水准仪,将仪器内部的数据格式直接通过电缆或者USB存储器利用天宝Data Transfer传输到PC中。有两种不同的数据格式:Rec 500和Rec E(M5),REC 500类似人工手簿格式,Rec E数据文件信息丰富完整,因此采用Rec E数据。
对水准平差基础格式数据,根据水准平差的需要,提取已知点及其高程,水准测段起点和终点、高差、距离等基本信息组成基础格式。
2.2数据格式介绍
2.2.1GSI-8数据
GSI数据有两种数据块:测量块和编码块。某GSI-8部分数据及含义如下:
110003+00000E04 32...8+04857068 331.08+00056556
(后视点名) (后视距离1) (后视高程1)……
110006+00000001 32...8+04840854 336.08+00117211
(前视点名) (前视距离2) (前视高程2)
110007+00000001 571.08-00000005 572.08-00000005 573..8+00057158 574..8+05933525 3..08+02509415
…(累积视距差)(累积视距)(高程)…
2.2.2Rec E数据
某水准线路Rec E文件部分数据如下:
……
For M5|Adr 6|KD1 E02 13:20:341 001|Rb 1.11982 m |HD 3.106 m | |
For M5|Adr 7|KD1 001 13:20:551 001|Rf 1.72131 m |HD 22.446 m | |
……
以上两行数据分别对应“后视点名”、“后视读数”、“后视距离”;“前视点名”、“前视读数”、“前视距离”等。
2.2.3水准平差基础格式数据
本程序中定义水准平差基础格式数据结构如下:
Ⅰ已知点点号,已知点高程
…,…
Ⅱ测段起点,终点,高差,距离
…,…,…,…
该文件的内容分为两部分,第一部分为水准线路或者高程控制网的已知数据,即已知高程点点号及其高程值。第二部分为水准线路或高程控制网的观测数据,它包括测段的起点点号,终点点号,测段高差,测段距离。
3数据处理与平差程序设计
3.1数据转换
本程序中数据转换,包括两方面內容,一方面是对DNA水准仪,将GSI-8数据(.GSI扩展名)转换为基础格式数据;另一方面是将DINI水准仪Rec E(.DAT扩展名)文件转换为基础格式数据文件。两种数据的转换思路是基本一致的,如图1所示。
图1GSI-8/Rec E数据转换流程
在程序设计中,虽然两种数据转换的思想是一致的,但是需要根据不同的文件格式,构造不同的测站或者线路类与对应的结构体,这是具体算法的需要,也是面相对象语言编程的核心。在安排好数据结构的基础上,进行文件数据的读取、存储、计算、输出等操作,在此不再赘述。
3.2水准基础格式数据平差
水准网的平差与单一水准线路的平差理论是一致的,因为水准网的每一条线路可以看作是水准线路的每一个测站,反之亦然。以下阐述水准网的平差思路。水准网的处理过程可以分为3个步骤,即概略高程计算、误差方程系数阵的建立以及未知数解算与精度评定[6]。
3.2.1概略高程的计算
这一步骤主要是计算出者水准网中未知点的近似高程,作为后续建立误差方程系数阵的基础,近似高程的计算以水准网中每条边作为基本的计算单元。
对于某一条边,端点分别为A和B设A、B两点间的高差为hAB,若A点已知高程为HA,B点未知,则B点高程HB=HA+hAB;若B点已知,A点未知,则A点高程HA=HB-hAB。
现将网中所有的边分为3种类型:已知边(两端点的高程或者概略高程已知);起算边(边的一个端点高程或者概略高程已知,另一端点高程未知);未知边(两端点的高程均未知)。概略高程计算程序结构如图2。
循环查找起算边并计算,数组为空结束,代码如下:
while(noAppEleObs.Count>0){noAppEleObs=GetAppEle(noAppEleObs);}。
3.2.2误差方程系数矩阵的建立
间接平差计算包括选择t个必要观测数作为参数,列出误差方程,组成法方程,解算法方程,由误差方程求出测量平差值,5个步骤[7]。
图2概略高程计算过程
程晗,等:DINI和DNA水准仪数据转换及平差程序设计
信息与技术
设线路A、B两点最或然高程分别为HA和HB,近似高程分别为HA0和HB0,改正数分别为A和B,两点间高差观测值为hAB,平差值为AB,改正数为vAB,则平差值方程:
hAB+AB=B-A
hAB+AB=HB0-HA0+B-A;
誤差方程:vAB=-A+B-l;
其中l=HA0-HB0+hAB。如果A点已知,B点未知,则误差方程为vAB=B-l;若A点未知,B点已知,则误差方程为vAB=-A-l。
对于多组观测值组成法方程矩阵形式:V=B-l;x=(BTPB)-1-BTPl。
建立各个系数矩阵的核心代码如下:
B矩阵:
{if(obsStations[i].backPoiName==
unknoPois[j].unknoPoiName)
B[i,unknoPois[j].poiIndex]=-1;
if(obsStations[i].forePoiName== unknoPois[j].unknoPoiName)
B[i, unknoPois[j].poiIndex] = 1;}
P矩阵与l矩阵:
P[i,i]=1/obsStations[i].sightDis;
l[i,0]=(obsStations[i].backEle-
obsStations[i].foreEle+obsStations[i].staEleDif);
对于计算机程序,解法方程的过程实质是进行矩阵运算的过程。笔者采用面向对象编程的思想,编写了一个矩阵类(class Matrix)进行矩阵运算,Matrix类包括二维矩阵构造函数(Matrix(double[,] matrix))、转置(Transpose())和求逆(Inverse())等成员函数,具体内容不再赘述。
3.2.3精度评定并生成报告
单位权中误差的计算公式:σ0=VTPVn-t。代码如下[8]:
sigmo0=Math.Sqrt(VtPV.matrix[0, 0]/(obsStations.Length-unknoPois.Length))。
平差高程中误差:σi=σ0Qii其中σii=N-1BB=(BTPB)-1。
4工程实例
实验数据利用武汉市某下穿通道工程基坑监测的某期DNA03电子水准仪数据(.GSI)。启动软件,点击菜单栏“原始文件”、“GSI转基础格式”,找到数据文件位置选择文件,将原始数据转换为基础格式水准数据文件(.txt)如图3。
图3基础格式水准数据文件截图
点击“平差”、“基础格式水准平差” 对基础格式水准数据文件进行平差生成平差报告(.Lout),截取部分数据如图4。
图4水准平差报告截图
通过与COSA软件计算结果比较,本软件各点平差后的高程和中误差精度指标是相同的。表明本软件的计算结果正确、可靠,系统运行稳定[9]。
5结语
通过多次工程数据验证,证明了笔者开发的程序运行是稳定的,结果是可靠的,具有一定的推广价值。同时本程序从原始数据到水准平差、生成报告简单快捷便于操作,具有实用性;本文中的水准基础数据格式是水准平差最简洁的数据格式,程序以其作为平差的基础,具有广泛的适用性[10~12];C#语言作为微软力推.net平台的拳头产品,具有很强的可移植性和灵活性,基于C#的程序开发,融入面向对象的思维,将功能模块化,便于增加其他电子水准仪器原始数据转换功能,具有拓展性。
2017年6月绿色科技第12期
参考文献:
[1]
潘正风,程效军,成枢,等.数字测图原理与方法[M].武汉:武汉大学出版社,2009:59~60.
[2]韩贤权,李端有,谭勇,等.数字水准仪自动化监测系统在大坝变形监测中的应用[J].测绘科学,2010,35(3):173~175.
[3]董志荣.NA3003电子水准仪在三峡工程安全监测中的应用[J].测绘通报,2002(5):56~57.
[4]李宇,蓝善建.徕卡DNA03电子水准仪在宁杭客运专线沉降观测上的应用[J].测绘通报,2010(12):89~90.
[5]柯明,于成浩.水准仪在上海光源精密工程测量中的应用[J].测绘科学,2010,35(4):202~203.
[6]李建章.基于MATLAB的水准网平差程序设计[J].兰州交通大学学报,2009,28(3):29~31.
[7]武汉大学测绘学院测量平差学科组.误差理论与测量平差基础[M].武汉:武汉大学出版社,2009.
[8]王磊,郭际明,喻永平,等.水准网定权方法对精度评定的影响[J].测绘通报,2011(5):26~28.
[9]梅连辉,郭际明,周命端,等. 基于VB平台的水准网平差软件开发研究[J].测绘信息与工程,2011,36(6):32~34.
[10]Waston K,Nagel C. Beginning Microsoft Visual C# 2008[M].北京:清华大学出版社,2010.
[11]张东明.水准回平差程序设计与实现[J].昆明冶金高等专科党校学报,2000(4).
[12]杨福涛.水准网平差程序设计[J].科技创新与应用,2015(17).