牛 娟,闫志学
(新疆水利水电勘测设计研究院测绘工程院,新疆 昌吉 831100)
DINI03电子水准仪数据预处理程序实现
牛 娟,闫志学
(新疆水利水电勘测设计研究院测绘工程院,新疆 昌吉 831100)
在对天宝DINI03电子水准仪观测的原始记录分析的基础上,以Visual Studio 2010作为开发平台用C#语言实现了提取水准测段必要信息的程序。该程序可以提取出测段的起始点点名、终止点点名、测站数、前尺累计距、后尺累计距、测段高差等平差需要的信息;还可以完成每米真长改正、正常水准面不平行改正等高差改正数的计算并导出科傻CODAPS平差软件所需要的.IN1格式。
C#;测段高差;高差改正数;平差
科技的进步推动了测绘仪器设备和测量手段的发展,近年来出现的电子水准仪以其自动化程度高、观测精度高、效率高等优点被广泛的应用于各种工程测量中。但其观测的原始记录不能直接导入到常规平差软件(如科傻CODAPS)中直接平差,这就需要消耗一定的人力对其进行编辑。对测段数较多的观测记录,人工编辑过程消耗时间长且容易产生错误。本文根据工作需要,编写了天宝DINI03电子水准仪数据预处理程序。
DINI03电子水准仪有2种数据格式:一种是REC E(M5),另一种是REC 500[1]。其中,REC 500数据格式所包含的信息量较少,仅记录了水准尺读数和视距等基本信息;M5数据格式不但包括以上基本信息,而且还包含了数据块和数据单位等大量信息,所以本文主要针对M5格式进行提取[2]。
M5格式的每一行包含119个字符,由“|”符号将数据分为6个数据块。字符1-6为格式说明,字符8-16为数据行存储地址,字符18-48为点名、时间、测量次数,字符50-71为前后视标识、读数、单位,字符73-94为视距、单位,字符96-117为高程、单位,字符119为空格。
M5格式中:“Start-Line”表示测段的开始;“End-Line”表示测段的结束[3];含有“#####”字符的行为无效行,表示该行数据作废;“Station repeated”是测站重测标志,表示该行后的记录是超限测站的重测记录;“Measurement repeated”是单标尺重测标志,表示该行下一行记录是对其上一行数据的重测。一个测段的最后两行是该测段的观测小结[4]。其中,“Sh”表示测段终止点和起始点高差,“Dz”表示高差不符值,“Db”表示后视距离总和,“Df”表示前视距离总和。
由于在观测前,已经对仪器设置了各种限差值,在观测过程中,如果有数据超限则不记录数据,提示需要重新测量,因此得到的都是满足要求的正确数据。本文主要对水准小结进行提取。
根据《GB/T 12898—2009 国家三、四等水准测量规范》要求,对外业测量得到的数据,要进行高差改正,对电子水准仪观测的高差也要进行改正。
1)测段高差的尺长改正数计算公式[5]为:
δ=H测×f
(1)
式中:H测为测段原始高差,单位为m;f为标尺改正系数,单位为mm/m。
2)测段高差的正常水准面不平行改正数的计算公式[5]为:
ε=-A×H×Δφ
(2)
式中:常系数A=0.000 001 537 1×sin2φ(φ取测段始末点平均纬度);H为测段始、末近似高程平均值,单位为m;Δφ为测段末点减去始点纬度的差值,单位为′。
3.1 算法实现思路
通过对原始记录的分析,发现原始记录是一些非常有规律的字符,且需要提取的测站信息都出现在每一测段的固定位置。
1)以“Start-Line”和“End-Line”作为标识符提取出所有测站的信息,并以每一测站为单元存放在“数组一”中。
2)调用“数组一”中的一个测站对其进行按行分割并存放在“数组二”中。
3)调用“数组二”中的成员并将其以“空格”为分割符分割后存放在“数组三”中。
经过上面3个步骤并使用3个嵌套的循环语句,就将需要的测站信息存放在了“数组三”中。
设每一个测段的行数为N。当N=2时,取“数组三”的第4个成员即为测段起点点号;当N=N-1时,取“数组三”的第4个成员即为测段终点点号,第5个成员即为测站数;第7个和第10个成员分别为后视累计距和前视累计距;当N=N-2时,取“数组三”的第6个成员即为测段高差。
4)将提取出的测段信息输出。
3.2 程序主界面和操作步骤
设计了界面友好、操作简单、可视化的运行界面如图1所示。
图1 程序运行界面Fig.1 Program operation interface
其操作步骤为:
1)查看“帮助”:介绍了程序运行注意事项。
2)点击“提取”按钮并选择DINI03原始记录即可得到相应的测段信息并显示到程序界面。
3)点击“保存”按钮可将测段信息以.csv格式保存到计算机磁盘的任意位置。
4)对得到的.csv测段信息简单编辑后导入到软件高差改正模块进行每米真长改正和正常水准面不平行改正。
5)导出科傻CODAPS软件默认的平差格式。
为了验证程序开发的可用性,以某沉降观测工程为例。该工程由1个已知点、9个未知点构成2个闭合环,观测等级为三等,共往返测观测了22段数据。经测试,人工提取出所有测段信息需用时30 min以上且偶尔会出现错误。用本程序提取用时不到10 s且避免了人为出错。提取出的测站信息保存成.csv格式,如图2所示。
图2 保存的.csv格式测段信息Fig.2 Stored CSV format section information
对测站信息做简单的编辑后导入到程序高差改正模块完成高差改正并生成科傻CODAPS软件对应的.IN1格式。
从提取数据到完成平差,总共用时不到5 min。经检查,提取数据正确无误。
电子水准仪记录的原始数据具有格式固定、规律性强的特点。编写的DINI03测站信息提取程序可以大量节约内业数据处理时间且避免了人工出错,具有一定的应用价值。
若要提取其他类型的电子水准仪测站信息,只需对本程序源代码做简单的修改即可实现。
[1] 邹积亭,江恒彪.DiNi12数字水准仪数据文件格式与读取算法[J].北京测绘,2006(1):55-57.
[2] 李维功,刘旭春,唐庆隆,等.DINI数字水准仪数据格式转换及平差功能程序设计与实现[J].测绘通报,2007(7):11-13.
[3] 王海城,何义斌.基于DINI12电子水准仪记录数据标准化处理方法[J].测绘科学,2007,32(1):112-114.
[4] 邹进贵,余锐,纪志刚.DINI03数字水准仪内存记录数据转换方法研究[J].测绘地理信息,2013,38(4):16-17.
[5] 中华人民共和国国家质量监督检验检疫总局,中国国家标准化管理委员会.GB/T 12898—2009 国家三、四等水准测量规范[S].北京:中国标准出版社,2009.
Implementation of Data Pretreatment Program of DINI03 Electronic Level
NIU Juan,YAN Zhi-xue
(SurveyingDepartmentofXinjiangHydroelectricityInstituteofSurveyingandDesigning,ChangjiXinjiang831100,China)
This paper first analyzes the original records of electronic level Trimble DINI03 observation.Then,taking Studio Visual 2010 as a development platform,using C# language,the paper realizes the process of extracting the necessary information of leveling sections.Therefore,the program can extract the information needed for adjustment,including starting point name,end point name,the station number,cumulative distance of fore rod,cumulative distance of back rod,elevation difference,and can also calculate the number of elevation correction,such as the true length per meter correction,the normal level surface is not parallel correction.Finally,the program can also export the IN1 format of the CODAPS adjustment software required.
C #;elevation difference of measurement section;number of elevation correction;adjustment
2016-09-25
P 208
:B
:1007-9394(2016)04-0042-02
牛娟(1991~),女,甘肃白银人,学士,助理工程师,现主要从事水利水电相关测量方面的工作。