摘要:本文针对井下测量内业工作中对以前的原始资料的查询、人工对算花费时间长、小数点取舍等问题,利用Excel中的VBA模块,编写相应的程序对井下外业测量中的观测数据进行自动化处理,让测量内业工作更直观、规范,便于技术人员方便对算检核、查阅、使用。
Abstract: In this paper, for the problems of the previous original data query, long time of manual calculation, decimal point selection and so on, the VBA module of Microsoft Office Excel software is used to automatically process the observation data in the underground field measurement, which makes the measurement work more intuitive and standardized, and is convenient for technicians to check, consult and use the calculation.
關键词:Excel;VBA;数据处理;井下测量
Key words: Excel;VBA;data processing;downhole measurement
中图分类号:P208 文献标识码:A 文章编号:1006-4311(2020)09-0197-03
1 绪论
在实际井下测量内业计算时,人工计算检核与查找数据资料无疑会耗费大量的时间和人力资源,并且无法保证准确率。所以,寻求一种高效、可行的方法替代原来的人工计算检核方法是非常重要的[1-3]。本文提出利用EXCEL强大的二次开发环境VBA模块处理井下测量内业数据。Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,也可说是一种应用程式视觉化的Basic 脚本[4-6]。VBA是一种面向对象的编程语言,其语法比较简单,容易理解和掌握,并且VBA是针对特定的应用程序进行开发的,用简短的代码就能实现复杂的功能,一般的测量人员都能很好地使用[7-9]。在井下测量工作中,使用Excel-VBA方便对外业施测的原始数据和内业数据进行检查、计算及保存[10]。
2 井下测量内业工作中的问题
在井下测量内业工作中,测量技术人员需要在井下外业观测前对控制起算数据进行相应检核,如已知边的方位角、边长、平面坐标、高程、导线点号等;如果现有工程与几年前的工程贯通,将会用到几年前的数据资料。其次,进行内业计算时,需要求出导线各边的坐标方位角、导线点的平面坐标、高程。将2次独立检核对算无误后的结果记录在测量成果本,检核无误后保存,并把导线点展绘在CAD矿图。
井下测量内业工作中存在的普遍性问题一般包括以下四个方面:首先,外业观测时,需要检核控制起算数据,如现有工程与几年前的工程贯通,会用到几年前的数据资料,查找数据资料的过程会花费较长时间;其次,内业工作要求2次独立计算,并把2次计算的结果进行检核,人工计算检核时间长;再者,在独立计算的过程中,小数点取舍方法上的不同,导致2次计算的结果不同;最后,将计算后的数据展绘到矿图上需要耗费大量的时间。
例如,已知A点至B点的方位为63°11′2.8″,A至B的水平距离为100米,A点坐标为X=100.003;Y=100.000,在计算B点坐标时,人工计算时有的用B坐标Bx=Ax+cos(ab)·D(ab),By=Ay+sin(ab)·D(ab)的方法计算,那么保留3位小数进行“四舍六入 奇进偶舍”取舍前Bx=145.1155,By=189.2461,取舍后Bx=145.116,By=189.246。有的用B坐标Bx=Ax+?驻x,By=Ay+?驻y的方法计算,那么取舍前?驻x=45.1125,?驻y=89.2461,取舍后Bx=100.003+45.112=145.115,By=100+89.246=189.246。2次计算后B坐标有所差异,在井下测量内业计算应按后者规范计算,即先求出平面坐标增量?驻x和?驻y,对其进行取舍之后再计算待求点坐标。
3 井下测量程序设计
通过对井下测量内业工作的分析,为了让外业数据和内业数据相联和统一,方便以后的查找和调用,需要建立3个工作簿,分别为观测值、计算表、成果表。
在EXCEL表格中所输入的数字为十进制,而外业观测的数据为六十进制,数据处理前需要把十进制与六十进制进行转换,如可用=sin((INT(F" & k & ")+INT(MOD(F" & k & ",1)*100)/60+MOD(MOD(F" & k & ",1)*100,1)*100/3600)*PI()/180)等代码。
测量外业数据的计算法则是“四舍六入 奇进偶舍”,如可用以下代码来完成小数的取舍:
Function TranValue(rng As Double, number As Integer) As Double
TranValue = Round(rng, number)
End Function
该程序可以根据数据精度要求进行小数位的保留,避免出现无效数据。
在实际测量工程中,通常以图纸形式展现具体的测量工作,所以将数据成果展点到CAD也是基本需要。以CAD2019为例,Excel-VBA代码可以用GetObject(,"GstarCAD.Application")语句让Excel-VBA对CAD二次开发实现一键展点上图。
4 算法实例
在观测值工作簿中导入原始資料图片,把外业施测的原始资料导入观测值表格,并按格式输入观测数据,计算出导线点之间的平距及高差(往、反)(图1)。
在计算表里填写外业所测数据的地点、计算者、日期以及计算数据的由来,方便以后查找测量原始记录;在输入起始方位角(输入109o05′26.5″的格式109.05265)、起始坐标X、Y和起始高程后进行计算(图2)。
对算检核无误的数据被自动保存到成果表(图3)。
以CAD2019版本为例进行展点,到CAD图件中查看(图4);一键展点功能快捷方便,大大节省展绘时间。
展点完成后,可以把Excel工作簿保存在数字云集里,在CAD图测点上插入超链接,链接相应的工作簿,方便日后查找和使用(图5)。
根据导线等级的要求进行小数取舍可在观测表中“保留小数点位数”中修改即可(图6)。
5 结束语
在井下测量工作中,测量技术人员要查找导线数据资料需查阅相应的记录本,随着时间的推移,记录本、计算本、成果本的数量不断增加,与此同时查阅导线点的观测资料、计算资料和成果资料所花费的时间也随之增加;进行独立计算和检核时由于人为因素,数据偶尔会出现微小差异。利用Excel-VBA宏模块进行内业计算形象直观,不易出错,且所算数据结果符合测量规范数据精度的要求。在事先设计好的电子表格上输入观测的数据和已知数据,即可实现内业数据自动化处理。在CAD中插入相对应测点的超链接Excel,方便以后技术人员的查看及使用,数据的存储和规范化可以为将来建设数字化矿山奠定数据基础。
参考文献:
[1]胡浩.基于VBA井斜数据批量校正方法[J].录井工程,2017,28(04):75-78,84,133.
[2]刘欢,彭书强.基于Excel VBA的批量数据提取工具开发[J].电脑知识与技术,2019,15(05);196-198.
[3]申仲舒,张盼兴,李文杰,吴国强.基于Excel宏开发工具的GPS环闭合差精度统计[J].测绘与空间地理信息,2018,41(11):245-246,251.
[4]梁建隽.VBA编程与函数应用的比较[J].兰州交通大学学报,2012,31(06):94-96.
[5]林丰,汤捷.利用EXCEL函数及VBA程序实现四格表卡方检验[J].现代医院,2012,12(03):142-143.
[6]李娜,武春杰.基于Excel VBA的数据库访问技术的探究[J].计算机与信息技术,2009(06):92-94.
[7]李现科,马莹,陶小委.VBA编程技术在桥梁施工监测中的应用[J].河南科技,2019(04):122-124.
[8]刘占云.基于Excel的导线控制测量的数据处理[J]. 国防交通工程与技术,2019,17(02):76-81.
[9]刘爱军.EXCEL VBA在水准测量内外业自动运算中的应用[J].江西建材,2019(10):88-89.
[10]阚宁,翟晓宇.VBA在测量内业工作中的应用[C].吉林省土木建筑学会学术年会,2012.
作者简介:周阳(1987-),男,云南个旧人,本科,测量助理工程师,现从事井下测量工作。