程喆,肖跃军
(1.中国人民解放军61175部队,湖北武汉 430074; 2.中国地质大学信息工程学院,湖北武汉 430074)
基于PDA的四等平面导线测量记簿软件设计与实现
程喆1,2*,肖跃军2
(1.中国人民解放军61175部队,湖北武汉 430074; 2.中国地质大学信息工程学院,湖北武汉 430074)
导线测量是测量工作的重要内容之一,但依靠人工记录和检核会增大劳动强度,降低作业效率。针对这一问题,本文采用目前主流的编程语言Visual C++进行编程实现,开发了基于PDA的导线测量记簿软件。详细介绍了软件的总体结构、工作流程和主要功能。应用结果表明:该软件能满足多仪器精度、多类型导线测量的需求,平差结果准确可靠。
PDA记录器;导线测量记簿软件;软件总体结构;数据结构
导线测量是测量工作的重要内容之一,在传统导线测量作业中,数据的记录和检核工作主要由人工完成,劳动强度大,效率低,如果出现错误则可能导致返工,同时纸质记录也不利于后续数据处理,因此,手工记录已成为制约导线测量效率和质量水平提高的瓶颈,电子化、自动化地记录、检核和平差是测量发展的趋势。
近年来,PDA由于其体积小、智能化、与PC数据交换方便等优势,在测量工作中得到广泛应用。基于PDA的导线测量记簿软件操作简单,自动检核限差,平差计算,后期处理也很方便,极大提高了作业效率和生产质量。目前基于PDA的主流开发语言有VB和VC,由于PDA体积小,操作方便的同时往往硬件配置不高,这就对程序的表达能力和运行效率提出了更高的要求[1,2]。而VB虽然简单易学,容易上手,但并不是面向对象的语言,不支持指针,表达能力有限,程序运行效率较低[3]。VC++是 Microsoft Visual Studio 2008中内置的集成开发环境,功能强大,运行效率高,程序开发的灵活性强,是理想的 PDA程序开发软件[4,5]。
2.1软件总体结构及工作流程
考虑到Windows Mobile平台是微软针对移动设备而开发的操作系统,该平台非常接近于桌面版的Windows,可扩展性好,操作简便,使用广泛[6]。因此,导线测量记簿软件基于Windows Mobile开发,软件由项目管理、导线测量和帮助信息三大部分组成。其总体结构如图1所示,工作流程如图2所示。
图1 软件总体结构图
2.2数据结构
数据存储以工程名作为基本记录单元,用后缀名区分数据类型。每个工程包含五个文件:工程信息文件(*.PRJ)、角度观测文件(*.ANG)、距离观测文件(*.DIS)、平差数据文件(*.ADJ)和平差结果文件(*.RES)。工程信息文件存储工程相关基本信息,角度和距离观测文件存储各站各测回角度和距离观测数据,角度观测值以XX.XXXXX格式输入和存储,整数部分表示度,小数点后两位表示分,最后三位表示秒,精确到0.1秒。平差数据文件存储每站角度和距离观测结果,作为平差的原始输入数据,平差结果文件存储平差产生的结果数据。各文件结构和字段类型如表1~表5所示。
图2 软件工作流程图
工程信息文件结构 表1
角度观测文件结构 表2
距离观测文件结构 表3
平差数据文件结构 表4
平差结果文件结构 表5
3.1开发环境搭建
要进行基于PDA的程序开发,按下列步骤搭建开发环境[7,8]:
(1)安装Visual Studio 2008及相关配件;
(2)安装Microsoft ActiveSync 6.1,使用它可以在PC和PDA之间方便地进行数据同步;
(3)安装Windows Mobile 6.0 Professional SDK,基于Mobile平台的开发工具包;
(4)安装 Windows Mobile 6 Professional Images (CHS),基于中文的设备仿真器。
3.2基于mobile的MFC程序创建
(1)启动Visual Studio 2008,在项目类型窗口中,选择Visual C++→智能设备→MFC智能设备应用程序,输入工程名称、选择工程位置,点击下一步;
(2)在MFC智能设备应用程序向导中,从已安装的SDK中选出Windows Mobile 6.0 Professional SDK,点击下一步;
(3)选择需要的应用程序类型、生成的类名和文件名,点击完成。
至此,一个基于Windows Mobile 6.0的MFC应用程序就创建完成了。
3.3软件功能实现
(1)工程信息录入
如图3所示,输入项目名称、仪器名称、作业日期、天气、气压、温度、观测者、记录者,记录工程的基本信息。程序拥有相对完备的选择模式,导线类型有附合导线、闭合导线和支导线三种选择模式,仪器精度有DJ1、DJ2两种选择模式。选择不同的模式,程序会在下一步自动调用相应的测量信息录入窗口并内置相应的限差要求,点击保存时所有信息将被写入工程信息文件(*.PRJ),程序进入已知坐标信息录入界面。
如图4所示,左图和右图分别对应附合导线和闭合导线已知坐标录入界面,附合导线以测量时导线推进方向来确定起始边、结束边和第一、第二点。点击确定时已知点坐标将被写入平差数据文件(*.ADJ),并进入测角界面。
图3 工程信息录入
图4 导线已知坐标录入
(2)一测回测角
如图5所示,程序会自动根据输入的已知点坐标确定测站点和后视点,并提示奇数测回测左角,偶数测回测右角。用户只需在窗口指定位置输入测角信息,包括前视点名、后视和前视的盘左和盘右分别对应的第一、二次读数。点击计算后,程序会计算并检核两次重合读数差和一测回内2C互差,当任意一项超限时,弹出警告窗口,告知超限项目,要求重测,并将所有已录入数据清空;如果没有超限,则对每两次读数求平均值,并将盘左盘右的2C互差平均配赋,计算出一测回角度值,显示在指定位置。为防止伪造成果,测站数、测回数、角度值、2C互差以及四个角度均值只用于显示,不允许用户编辑。在点击结果查看时,进入一测回信息浏览界面。
图5 一测回测角
如图6所示,一测回测角的前视、后视点名,盘左、盘右观测值,(L+R)/2和一测回平均方向在表格中显示,供用户查看,但不提供编辑,点击保存后,一测回测量数据将被写入角度观测文件(*.ANG)。
图6 一测回信息浏览
确认本测回无误后,点击下一测回继续测角,程序会自动清空所有输入和计算的数值,测站数不变,测回数加1,为防止用户误改,程序设定当测回数大于1时,前视点点名窗口不再允许编辑。当所需测回数达到要求时,点击下一测回,进入测回间互差检核界面。
(3)测回间互差检核
如图7所示,程序从角度观测文件(*.ANG)中读取左角和右角的观测值,分别列于左右两个列表中。点击计算后,分别计算并检核左角和右角的各测回互差,如果超限,则弹出警告窗口,告知超限项目,要求重测;如果没有超限,则分别取左、右角各测回观测值平均数作为左角、右角均值。根据左、右角均值计算闭合差,如果超限,则弹出警告窗口,要求重测;如果没有超限,则将闭合差反号配赋,得出该站最终角度值,程序自动将测站点号和最终角度值写入平差数据文件(*.ADJ)。
图7 测回间互差检核
出现超限项目后,用户可以根据两个列表框中左角和右角的观测值,确定含有明显离群观测值的测回进行重测,点击重测测回,进入重测测回界面,该界面与一测回测角界面类似(如图5所示),不同的是重测测回界面允许输入重测测回数,不允许查看结果和进入下一测回,重测一测回合限后,程序会直接返回测回间互差检核界面,继续检核。测回间合限后,点击开始距离测量,进入距离测量界面。
(4)距离测量
如图8所示,程序会自动根据测角信息确定测站点、测站数、后视点和前视点,用户只需在窗口指定位置输入测距信息,包括后视和前视的盘左和盘右分别对应的第一、二、三、四次读数。点击计算后,程序会计算并检核四次重合读数最大互差和各测回中数间最大互差,如果任意一项超限,则弹出警告窗口,告知超限项目,要求重测,并将所有已录入数据清空;如果没有超限,则将测距过程数据保存到测距观测文件(*. DIS)中,测距结果保存到平差数据文件(*.ADJ)中。为防止篡改数据,测站数、前视距离和后视距离只用于显示,不允许用户编辑。
图8 距离测量
所有项目合限后,点击下一站,返回一测回测角界面(如图5),重新开始下一站的观测,测站数自动加1。如果整个测段观测结束,则点击结束测量,进入导线平差界面。
(5)导线平差
程序从平差数据文件(*.ADJ)中读取所有点名、观测角、观测边长、已知点坐标和已知方位角,显示在列表中。点击计算后,自动计算各边坐标方位角,与已知方位角相比得出方位角闭合差,计算方位角限差,如果超限,则要求重测;如果没有超限,则将方位角闭合差反号配赋,计算各边X和Y坐标变化量,得出坐标闭合差fx、fy和导线全长相对闭合差K。将K与限差比较,如果超限,则弹出警告窗口,要求重测;如果没有超限,则将坐标闭合差反号配赋,得出所有测站的X、Y坐标(如图9所示)。点击保存,程序将计算结果按照表5的格式保存到平差结果文件(*.RES)中。
图9 导线平差
图10 限差浏览
(6)限差浏览
如图10所示,为方便用户随时浏览,程序将四等导线测量限差列出。参考的规范有:CH/T 2007-2001三、四等导线测量规范。
将该软件应用于实际生产作业中,实践结果表明,该软件运行正常,操作简单,处理智能。平差结果准确可靠,输出文件格式方便后续处理,缩短了作业时间,节约了经费,能满足多仪器精度、多类型导线测量需求。
[1]AndyWigley.Microsoft mobile移动应用开发宝典[M].北京:清华大学出版社,2008.
[2]姜东,张东涛.导线测量记录程序的研发[J].大地测量与地球动力学,2013,33(Ⅱ):132~134.
[3]杨海明,周良松,章亚平.基于PDA的导线测量记簿系统的设计与开发[J].地理空间信息,2009,7(3):108~110.
[4]李建军,刘晟,林建炬等.测距高程导线数据处理软件设计与实现[J].海洋测绘,2013,33(2):63~66.
[5]常鲁群,修金城.基于eVB控件的导线测量软件[J].城市勘测,2009(2):138~140.
[6]左海燕,张春雨,左燕凤.导线测量记录簿的自动化生成[J].城市勘测,2009(6):112~114.
[7]孟晓峰,魏二虎,龚真春等.高程导线数据采集与处理系统的开发应用[J].测绘信息与工程,2008,33(4):29~30.
[8]高志伟,宋雅娟,牛江川等.Visual C++程序设计教程与上机指导[M].北京:北京大学出版社,2006.
Design and Implementation about Fourth Plane Traverse Electronic Book Software on the Basis of PDA
Cheng Zhe1,2,Xiao Yuejun2
(1.61175 Troops,Wuhan 430074,China;2.Information Engineering College,China University of Geosciences,Wuhan 430074,China)
Traverse survey is an important part of survey,but the way which recording and inspection depend on people will increase the labor intensity and reduce efficiency.To solve the problem,this paper uses the mainstream programming language Visual C++to implement the program,realize traverse electronic book software on the Basis of PDA and introduce its structure,workflow and main function.The application of Software shows that it can meet the multi-instrument precision and multi-type traverse measurement needs,the results of adjustment is accurate and reliable.
PDA recorder;traverse electronic book software;software structure;data structure
1672-8262(2016)04-137-05
P209
B
2015—11—21
程喆(1989—),男,助理工程师,硕士研究生,从事GPS数据处理科研与生产工作。