APP下载

基于Excel VBA的道路测设计算程序设计

2010-11-29曾剑生王汉雄

铁道勘察 2010年5期
关键词:方位角单元格数据处理

曾剑生 王汉雄

(1.南宁东测科技有限公司,广西南宁 530023;2.黄淮学院建筑工程系,河南驻马店 463000)

在道路工程勘测和施工阶段,需要进行大量的数值计算。对于专业技术人员来说,需要一种使用上方便灵活,并且易学易懂便于操作的数据处理平台。Microsoft Office Excel 2003是Microsoft Office 2003办公套装软件的一个重要组成部分,用来帮助用户完成信息保存、数据计算处理、数据分析决策、信息动态发布等工作。同时Excel又是一个开放的平台,允许用户使用编程语言开发出符合特定工作需要的应用程序,而VBA(Visual Basic For Application)语言就是一种非常流行、也非常成熟的开发工具。

1 Excel VBA编程进行数据处理的特点和优点

利用Excel 2003的“宏”功能可以很好地进行数据处理。“宏”是指一系列Excel能够执行的VBA语句,存储于Visual Basic模块中,这些语句和函数组合在一起,形成了一个单独的命令,以实现任务执行的自动化。可以通过VB编辑器创建宏。用VBA编程比用函数功能更便捷,其特点和优点如下:

(1)Excel是office办公软件中的一个组件,适应范围广,有良好的群众应用基础,工程技术人员一般都熟悉其使用方法和规则。

(2)VBA是一种面向对象的编程语言,其语法比较简单,容易理解和掌握,并且VBA是针对特定的应用程序进行开发的,用简短的代码就能实现复杂的功能。只需掌握基本的VBA语言和编程方法就可以按照计算内容、要求和目的进行编程。

(3)Excel的行和列成天然的二维数组。相对于专业软件看不见的内部数组来说,Excel的单元格就是一个二维数组中的一个元素,直观易懂,便于数据的调用和表示。而且,这种二维数组的数据格式灵活多变,没有统一的格式限制,可以定义任一单元格为任一数据格式。

(4)利用Excel VBA编程,可为用户提供友好的操作界面,操作简单。在创建宏时,通过使用“窗体”工具栏,可以在工作表中添加一系列控件,并为其指定宏,用户则可以通过单击这些控件并根据相应提示进行操作。

(5)适应性强。对于用函数制作的表格,当改变数据时,经常需要动手更新表格,而通过VBA编程则能自动完成表格的更新。

(6)用Excel作为数据处理的开发平台,因其已经具备了如文件的打开和保存、打印、复制等基本功能,不需要编写这些基本功能的模块,节省了开发应用程序的工作量。

2 Excel VBA编程数据输入方法

数据输入主要有键盘输入、语音输入和数据导入三种方法。使用键盘输入是最常用的方法,劳动量较大;语音输入法是Excel 2003新增的功能,虽然减少了劳动量,但由于很难保证语音一致,难免会出现输入错误,故仍离不开鼠标和键盘的操作;对于电子数据,可以采用数据导入法,该方法在保证数据记录正确的情况下,不存在输入上的错误。

3 Excel VBA编程数据审查与文件管理

数据审查主要有以下几种方法:将纸上数据与输入数据进行一对一比较;利用函数功能,将输入数据与原有数据求差,进行运算比较;利用Excel 2003语音功能中的朗读文本一项,可以边听朗读,边对照纸上数据,进行语音比较;有些数据,还可以通过程序设计,对输入数据的合法性进行检测,如对输入角度的分、秒在数值上是否大于60的判断,或者对所输入是否为数字的判断。

Excel 2003可以对工作表和工作簿进行两层密码保护,并可以给用户设置权限,不同的用户拥有不同的权限级别。通过这些保护措施,可以保证信息的相对安全和避免数据的意外破坏,实现数据的安全管理。

4 道路测设计算程序设计

Excel VBA编程进行数据处理的特点和优点为道路测设计算提供了优越的条件,可以实现水准网、导线网、边角网、三角网等各类控制网的近似平差和严密平差;可以进行道路中边桩坐标及放样数据计算、道路高程及超高和加宽计算、路基填土高度以及土石方量计算等。

图1是用VBA语言编写的“道路测设计算”系统的主操作界面。单击主操作界面中的“道路中边桩坐标计算”按钮后(如图2所示),在相应位置输入已知数据,按“计算”按钮即可得到计算结果,按“清除”按钮即可清除输入的和计算的数据,按“返回”按钮即可回到主操作界面,按“关闭”按钮即可保存结果并退出Excel。

如图2所示,表头上部加粗数据是运行宏前必须填写的,它包括相邻三交点的坐标、曲线设计半径、缓和段长度、交点B里程、测站点坐标、桩间距,计算结果中的数据均是运行宏后显示的。在制作测量计算表格时,首先应确定单元格的性质,合理安排各单元格的位置,处理好固定单元格、自变单元格和因变单元格的关系。固定单元格是指内容固定不变的单元格,如标题、计算示意图和所有文字所在单元格;自变单元格是指宏运行前必须填写的存有已知数据源的单元格,它经常因道路及对应曲线的变化而变化,如交点坐标、曲线半径、缓和段长度等;因变单元格是指宏运行后显示计算结果的单元格,它因自变单元格的变化而变化,如中桩坐标和放样数据等。简而言之,固定单元格是框架,相对稳定;自变单元格和因变单元格是内容,是可变的。

图1 道路测设计算程序主操作界面

图2 道路中桩坐标计算

程序运行得到计算表格后,可以对表格进行必要的编辑,使其更加符合我们工作的要求。

在编写测量计算程序时,应注意以下问题:

(1)程序本身的可读性问题。除主程序外,设置若干个子程序,分别进行距离、方位角的计算和角度的转换,保证程序本身的可读性和编程思维的连续性。

(2)数值计算取位问题。计算程序相对较小,一般不必考虑程序运行速度与容量问题,中间计算应尽可能地多取小数位数,(如编程时 π值取到小数点后14位),以保证计算结果的精度。

(3)除零问题。在计算道路路线方位角时,需要计算反正切函数,其中存在因X坐标相同而除零的情况,此时应作特例处理,以增强程序的通用性。

(4)方位角判断问题。由于反正切值在-π/2到π/2之间,而方位角却在0到2π之间。因此,必须先判断方位角所在的象限,然后加以处理。

(5)角度转换问题。在计算坐标时,正弦和余弦是用弧度计算的,而放样方位角是用度分秒的形式表示,这些都需要注意弧度与度分秒之间的转换。

(6)中桩桩号和桩间距设置问题。道路工程中,习惯用“k××+×××”的形式表示桩号,在程序中要作特殊处理,以便在计算结果中符合这一习惯;桩间距可根据实际,随时设置为任一数值。若程序稍作改动,还可以计算任一中桩及边桩处对应的坐标和放样数据。

5 结束语

长期以来,在公路设计外业及施工阶段,测设工作的作业效率严重制约着整个工期进度。利用坐标进行路线中边桩点位放样,其核心工作是要先计算路线中线上任一中桩点的坐标。本文结合道路测设数据处理的整个过程,重点论述了运用Excel VBA编程实现道路工程测设有关计算的方法,阐述了其特点、要点和注意事项,实现了在一个主界面下几个相关程序的集合,对计算结果以Excel文档形式保存或打印输出,给生产一线技术人员进行资料整理提供了极大的方便。相对于各种专业道路测设处理软件,Excel VBA具有适应范围广,界面友好、使用方便直观、操作简单、计算速度快等优点以及良好的群众应用基础等优势,值得进一步推广和应用。

[1]马 騄.新概念Excel2003教程[M].北京:科学出版社,2006

[2]鹿利军.Excel在建筑物变形测量数据分析中的应用[J].北京测绘,2005(4)

[3]徐 谡.Visual Basic应用与开发案例教程[M].北京:清华大学出版社,2005

[4]钟孝顺,聂 让.测量学[M].北京:人民交通出版社,1997

猜你喜欢

方位角单元格数据处理
考虑桥轴线方位角影响的曲线箱梁日照温差效应
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
流水账分类统计巧实现
玩转方格
玩转方格
近地磁尾方位角流期间的场向电流增强
基于停车场ETC天线设备的定位算法实现
浅谈Excel中常见统计个数函数的用法
无处不在的方位角