利用Excel VBA结合Access数据库处理徕卡DNA03测量数据

2018-08-27 00:33杜亮
移动信息 2018年6期
关键词:规程高程底板

杜亮



利用Excel VBA结合Access数据库处理徕卡DNA03测量数据

杜亮

江苏省刘老涧闸站管理所,江苏 宿迁 223800

通过Excel自带VBA语言,对徕卡DNA03的原始数据进行处理,自动将原始数据转化成江苏省《水利工程观测规程》(DB32/T 1738—2011)要求的成果表,绘制垂直位移量图,同时识别超限数据并标记。将测量数据及处理成果存入Access数据库。

Excel VBA;Access;成果表;垂直位移量图;徕卡DNA03电子水准仪

引言

徕卡DNA03电子数字水准仪凭借其出色的性能,高精度(可达到一等水准)以及自动化存储测量数据功能,广泛应用于水利系统各大小工程的高程测量中。但是仍存在一些不足,其原始文件(GSI文件)数据生涩,不易解读(图1)。按照江苏省《水利工程观测规程》(DB32/T 1738—2011)(以下简称《规程》)中关于垂直位移观测相关要求,仍需人工对原始数据进行大量规范化处理及制表。因此按照《规程》开发一套自动化工具用于处理存储数据,可在提高工作效率的同时进一步精细化、规范化管理工程。

图1 二等水准原始数据实例

Visual Basic for Applications(简称VBA)是Visual Basic的一种宏语言,可用于Microsoft Office软件功能扩展。由于微软Office软件的普及,常见的办公软件Office软件中的Word、Excel、Access、Powerpoint都可以利用VBA实现复杂的逻辑统计,从而提高效率。

本文将简述利用Excel自带的VBA语言结合徕卡DNA03原始GSI文件实现数据的处理并生成规范表格及绘制曲线图,并将成果存入Access数据库,以实现管理和查询。

1 工具调用

本工具通过VBA修改Excel工作表内的右键弹出菜单,选择菜单内运行工具或者通过快捷键(Ctrl+J)即可调出程序。

2 由GSI文件的导入及数据处理

2.1 导入数据和初步处理

点击主程序界面上的“文件导入GSI”弹出选择文的对话框,用s=Application.GetOpenFilename("gsi文件,*.gsi")筛选文件名后缀为gsi的文件,选择文件完成导入。用Open s For Input As #1逐行读取数据,在读取每行数据时根据GSI文件中的特征值取出观测等级、高程、距离、高差等数据并进行运算与《规程》中规定的限差一一比较,发现超限的数据便加入程序界面的“检测信息”栏,双击该条目可以快速定位到该数据所在的工作表行列,表内超限数据以高亮标红并注释的方式出现(见图2)。

图2 二等水准中视视距超限实例

2.2 文件属性设置

导入GSI测量数据后需要对数据的必要信息进行设置,文件属性包括测量日期和所属工程,用于确保数据的唯一性,以存入数据库便于归档、查询。在日期输入框内输入测量日期,输入框默认为红色,程序将判断输入日期是否合法,如果全部合法将会变为绿色,确定后即可提交。“选择工程/单位”将会给出已有的工程/单位名称,如果数据库中无满足条件的项目,那么可以根据需要自行添加。完成后,测量数据将会同时获取该工程所有的测点及编号,同样测点编号亦可自行添加及修改(见图3)。

图3 选择单位/工程界面

2.3 成果表生成

导出成果表最主要的一步是如何获知该测量数据的观测路线,这里若是首次使用就必须自行输入观测路线。在“工具”的“拓展功能”里有一栏“GSI数据内高程信息”存放着该数据内的所有有效高程。对照观测路线图找到对应的高程,双击即可输入该高程对应的测点及编号(见图4、图5)。

表1 垂直位移观测成果表

图5 添加效果

路线图将会存入与该数据对应的数据库内,对于观测路线固定的工程只需输入一次即可,再次调用时通过“选择已有的观测路线”选择对应的路线便可以自动与高程数据匹配,极大地减少了内业的重复操作(见图6)。

图6 选择已有的观测路线

完成以上输入保存设置,即可生成如表1所示成果表(《规程》格式)。

2.4 生成累计位移量图

按照《规程》要求每次观测均要绘制“垂直位移量分布图”,即为相邻底板高程点累计位移量变化曲线。绘制该图要获取相邻底板的位置编号,以及对应的累计位移量。累计位移量在生成成果表的时候已自动存入数据库,而相邻的底板位置及编号则要在首次输入时手动添加一次。

根据水利工程设计或者位置不同底板上的观测点埋设基本分成两种:一种为大部分工程底板同侧至少安装两个观测点;另一种很多原有工程同侧只有一个观测点,因此成图也大致分为以下两种(如图7、图8所示)。

图7 样式1

图8 样式2

在选择成图“样式”后,输入需要成图的底板信息即可(见图9)。

图9 按顺序选择需要成图的部位及编号

完成以上设置,确认无误之后,成图参数将会保存在对应的数据库中作为默认参数,地板信息一般不会更改,因此只需首次输入即可,点击成图将自动绘制“垂直位移量分布图”(见图10)。

图10 垂直位移量分布图

2.5 小结

至此由GSI文件导入数据的操作及处理已全部完成,经过以上的设置及输入,在生成成果的同时,一套完整的工程数据(测点、观测路线、成果表、垂直位移量分布图等)也被存入了Access数据库中。

3 由成果表导入

考虑到以往的观测数据有很多使用非徕卡DNA03仪器测量或者原GSI文件丢失只有成果表的情况,为了能够继续使用该“工具”处理数据并存入数据库以达到规范化、精细化管理的目的,因此加入了由“成果表导入数据库”的功能。

3.1 使用方法

在ExceL工具表内任意位置点击鼠标右键,选择“成果表导入数据库”,利用RefEdit控件可实现鼠标框选工作表数据源的效果,直接框选成果表(《规程》格式Excel表格)内包含“部位”“编号”及含高程信息的数据源(见图11)。点击“数据预览”(见图12),如果框选的信息无误,所选数据将会自动添加入“工具”的Listview控件显示区域。然后依次选择工程名称,输入测量时间,选择需要保存入库的高程信息(单击高程所处列顶,选择的列头将以以“*”显示),即可存入数据库[1]。

图11 选择数据源

图12 数据预览

3.2 数据库操作

解决数据处理,提高工作效率固然很重要,但保证原始数据的安全及观测成果的延续性更是重中之重。因此运用数据库不仅可以满足以上要求,更能够迅速快捷地查询历史数据。数据库的录入及查询需要用到SQL语言,该语言可得到VBA的全面兼容。

4 数据库录入

为了保证数据的正确性和严谨性,录入操作在使用“工具”对数据处理期间同时进行。为防止数据重复,确保数据唯一,每个数据录入之前均会使用SQL语言的“select”语句对库内数据进行判断,如果不存在将作为新数据使用“insert”语句插入,如果已存在就使用“update”语句将原有数据更新为此次输入的信息[2]。

选择“数据库导入”,依次录入库中已存在的工程名称和观测时间,前面数据处理的时候已经提过,同时满足这两个条件即可保证所查数据的唯一性,程序通过筛选将对应的信息概况以控件“Checkbox”显示出来,存在数据的对应项目名称前面将会出现“√”。如果发现数据有误可以选择“删除数据”或者“重置”具体的项目。通过该功能可以轻松查看对历史数据以及其详细成果分析、成图[3](见图13)。

图13 数据库操作界面

5 结语

通过对徕卡DNA03数字水准仪数据文件格式的探讨,解决了“水准观测手簿”格式与“国家水准测量规范”格式的统一,同时也为内业资料处理做好了数据准备,真正做到了内外业数据处理一体化。利用该程序处理数据,节省了大量时间,减少了内业工作量和数据错误概率,取得了较好的效果。

[1]徐育康,秦志远. 测量学[M]. 北京:解放军出版社,1999.

[2]赵琼. Visual Basic程序设计[M]. 北京:中国劳动社会保障出版社,2003.

[3]何征坤. 应用Excel批量处理测量数据[J]. 城市勘测,2006(4):49.

Processing Leica DNA03 Measurement Data with Excel VBA Combined with Access database

Du Liang

Jiangsu Liulaojiao Station Management Office, Jiangsu Suqian 223800

The original data of Leica DNA03 is processed by Excel with VBA language, and the original data is automatically converted into the results table required by Jiangsu Province Hydraulic Engineering Observation Regulations (DB32/T 1738—2011), and the vertical displacement map is drawn. At the same time, identify the overrun data and mark it. The measurement data and processing results are stored in the Access database.

Excel VBA; Access; results table; vertical displacement map; Leica DNA03 electronic level

P224.1

A

猜你喜欢
规程高程底板
场景高程对任意构型双基SAR成像的影响
中国新车评价规程
基于规程法的雷击跳闸率计算
海南省北门江中下游流域面积高程积分的应用
8848.86m珠峰新高程
中国新车评价规程
板上叠球
复杂条件下大断面硐室底板加固技术实践与应用
基于二次曲面函数的高程拟合研究
铝蜂窝复合材料客车底板性能研究及应用