浅谈基于Excel 的道路工程计算技术_优秀论文_第1页
浅谈基于Excel 的道路工程计算技术_优秀论文_第2页
浅谈基于Excel 的道路工程计算技术_优秀论文_第3页
浅谈基于Excel 的道路工程计算技术_优秀论文_第4页
浅谈基于Excel 的道路工程计算技术_优秀论文_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 浅谈基于Excel 的道路工程计算技术 道路工程的施工现场数据(施工放样、数量计算等)采用手工计算(各种计算器)具有直观好理解的有点, 缺点是易出错、效率低。用传统的编程方法(VB、VC 等)优点是计算准确、效率高, 缺点是需要编制专用的程序, 需要专业人员有很好的编程能力, 使用者需要一定的培训。基于此, 引入Excel 进行相应计算, 数据的输入输出(均在Excel 界面)变得十分直观、高效, 计算过程可以采用插入函数计算等, 在广大工程人员中有了广泛应用;但是, 仔细分析尚有如下不足: 数据的输入、输出在一个界面, 操作时宜相互干扰, 宜造成原始数据易改动, 数据量大时, 操作界面数据

2、类型多、混乱; 对自定义函数应用较少, 所定义的公式过于简单、缺乏可维护性; 因为缺乏对高级函数的应用, 数据引用处于较低水平, 方法不易分工协作; 认为VBA 就是编程, 多数人退避三舍, 造成批量数据计算手工操作过多, 效率低、强度高。 下面以常见的已知导线点坐标、已知中桩坐标, 按指定导线点为测站和后视点计算极坐标放样数据的excel 过程来展示基于数据管理、检索、批量数据处理系统过程、高级函数、自定义函数和VBA 程序。 1 界面设计 导线点表单、中桩坐标表单向总控界面表单提供数据检索和关联的原始数据, 总控界面计算单个放样数据、同时可以批量计算数据填写于批量计算表单。 总控界面可以自

3、动检索导线点表单导线点个数、中桩坐标表单中桩个数, 测站、后视点、开始桩号、结束桩号、单个中桩(桩号)均采用下拉列表选择, 相应的坐标(X,Y)自动检索后填充于表格, 这样可以防止数据出错、同时方便数据分类管理。 2 关键技术 以下主要讨论:单个数据防止出错, 需要检索;批量数据处理需要VBA 对单元格调用。 2.1 高级内置函数应用:数据管理、数据联动检索使用 2.1.1 VLOOKUP 函数 本文基于office 2013 版本写作(其他版本的office可供参考)。该函数的主要功能:按着查找目标把其他表单对应值返回当前单元格把具有相同查找目标的值从其他表单返回当前表单指定位置。 主控界面

4、(B9 即第2 列第9 行)下拉列表找到单个中桩的桩号(K115+500), 则后面两列(C9、D9)中通过该函数自动检索到中桩坐标表单对应的X、Y 值(4038008.989、531541.360)。 VLOOKUP 函数的调用格式VLOOKUP 函数的调用基本格式为:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。 VLOOKUP 函数的进一步说明, VLOOKUP (查找目 标, 查找范围, 返回值的列数, 精确OR 模糊查找): 查找目标:VLOOKUP (B10, 中桩坐标! $A$2: $C$999999,2

5、,FALSE)中的第一个参数B10, 即中桩桩号, 当前为ZK115+500。 查找范围:VLOOKUP (B10, 中桩坐标! $A $2: $C$999999,2,FALSE)中的第二个参数中桩坐标! $A$2:$C$999999, 即 中桩坐标表单的AC 列1-999999 行的区域, 999999是区域的行数, 可以根据需要进行相应变化。 需要特别注意的是:查找目标(桩号列)一定要在该区域的第一列;该区域中一定要包含要返回值所在的列, 本例中要返回的值是X。 返回值的列数:VLOOKUP(B10, 中桩坐标! $A$2:$C$999999,2,FALSE)中的第3 个参数2, 它是一个

6、整数值。它是返回值在第二个参数给定的区域中的列数。 本例中我们要返回的是X, 它是第二个参数查找范围中桩坐标! $A$2:$C$999999的第2 列。这里一定要注意, 列数不是在工作表中的列数, 而是在查找范围区域的第几列。 精确OR 模糊查找:VLOOKUP(B10,中桩坐标! $A$2:$C$999999, 2, FALSE)中最后一个参数FALSE, 是决定函数精确和模糊查找的关键。精确即完全一样, 模糊即包含的意思。第4 个参数如果指定值是0 或FALSE 就表示精确查找, 而值为1 或TRUE 时则表示模糊。 2.1.2 excel 单元格下拉列表的建立 excel 单元格下拉列表

7、的建立流程(以excel2013 为例): 数据验证数据验证设置序列来源选定所需表单对应的列。 以设置导线点的测站为例(后视点、开始桩号、结束桩号、单个中桩也需要类似设置), 需要选择导线点表单的第一列数据。 2.2 自定义函数:数据格式、方位角计算函数统一的全局常量定义, 所有模块均用到此常量, 这样其他模块均可以用到常量Pi 的值。原代码如下: Public Const pi = 3.1415926 2.2.1 数据格式函数 radtodms(rad)函数功能:把弧度转变为度分秒, 度、分均为整数, 秒为保留一位小数的数值。rad 为参数, radtodms 为函数, 源代码如下: Fun

8、ction radtodms(rad) degree = rad * 180 / pi d = Int(degree) f = Int(degree - d) * 60) s = Int(degree - d - f / 60) * 3600) * 10) / 10 radtodms = Str$(d) + + LTrim(Str$(f) + + LTrim(Str$(s) + End Function 2.2.2 方位角计算函数 fwj(dx, dy)函数, dx、dy 分别为某点相对于测站的X、Y 的坐标增量;fwj 为对应于dx、dy 的方位角, 方位角计算结果单位为弧度。dx=0 时,

9、 需要单独讨论。 Function fwj(dx, dy) If dx = 0 Then If dy = 0 Then fwj = 出错! If dy 0 Then fwj = pi / 2 If dy 0 Then fwj = pi * 3 / 2 Else xxj = Atn(Abs(dy / dx) If dx = 0 And dy 0 Then fwj = xxj If dx = 0 And dy 0 Then fwj = pi - xxj If dx = 0 And dy 0 Then fwj = pi + xxj If dx = 0 And dy 0 Then fwj = 2 *

10、pi - xxj End If End Function 2.2.3 夹角计算 当放样采用极坐标夹角方式时, 后视方向的坐标增量为dtx, dty, 中桩方向的坐标增量为dx, dy, jiajiao 为计算结果, 是中桩方向方位角与后视方向方位角的差。 Function jiajiao(dx, dy, dtx, dty) 计算后视方向 hs = fwj(dtx, dty) 计算单个中桩夹角 jiajiao = fwj(dx, dy) - hs If jiajiao 0 Then jiajiao = jiajiao + 2 * pi If jiajiao 2 * pi Then jiajiao

11、 = jiajiao - 2 * pi End Function 2.3 VBA程序开发批量计算数据 计算后视方位角, 确定计算范围, 表头填写, 逐桩方位角计算、距离计算、夹角计算, 数据回填表格。 核心技术是表格的引用。以源代码中的第五行为例, Worksheets(主控界面).Cells(4, 3)其他的引用可以参照此。既可以从单元格提取信息(一般提取信息为文本, 必要时需要通过VAL 函数转变为数值才能参加计算)也可以单元格写入信息。源代码略。 3 运行过程 运行总体步骤如下: 第一步:输入原始数据表单并校核; 第二步:利用下拉列表选择测站点编号、后视点编号、单个中桩桩号, 此时excel 自动计算该中桩对应的极坐标放样数据方位角和距离等; 第三步:选定开始桩号、结束桩号, 批量计算放样数据按钮。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论