• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 数学学习 > 正文

    [基于Excel的铁路曲线计算程序开发] 铁路曲线正矢计算

    时间:2019-03-31 03:24:42 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要:以渐伸线原理为依据,以Excel VBA为工具进行软件二次应用开发,完成了适用于现场一线工人使用,满足基本要求的铁路曲线的既有线拨距计算与线间距计算软件。   关键词:曲线整正既有线拨距计算线间距
      Abstract: to gradually wire drawing principle as the basis, to Excel VBA for tools for software secondary application development, completed for field workers use a line, and meet the basic requirements of the curve of the railway from existing dial calculation and the spacing calculation software.
      Key words: the curve is existing lines from the spacing calculation dial
      
      中图分类号:F530.3文献标识码:A 文章编号:
      
      引言
       纵所周知,保证既有线拨距和既有线与二线线间距的准确性是既有线改造和增建二线过程中非常重要的。虽然国内外在这方面做了不少相关理论研究,也开发了一些应用软件用于勘测设计。但是这些软件操作繁杂,不适合现场使用,而且成本又高。
       基于以上原因,本次研究目的就是:开发一款用户为现场一线工人,操作简单的既有线拨距与线间距计算的应用软件。从而使现场人员从繁杂的计算中解放,减少工作量,提高效率。
      
      系统开发
      程序原理
       改建既有线和新建二线的平面计算,它的任务是确定改建线或增建二线的平面要素及对于既有线的相对位置,作为工程设计依据。本程序以渐伸线原理为已经进行编制。
      工具选择
       各种数据处理软件中,Excel操作简单且功能强大,并且内嵌了VBA开发平台,能够进行二次开发。经过开发后的Excel完全可以满足既有线拨距及线间距的计算,而且还恰能满足拨距和线间距计算的标准表格形式,非常适合现场使用。
      体系结构
       程序共分三部分:项目管理、拨距计算、线间距计算。项目管理是为了在计算后结果按照一定规律存储,以及表格标准化。计算则按照基本计算公式分别进行拨距和线间距的计算。线间距计算必须在拨距计算已完成的基础上进行。
       程序采用Excel VBA编辑,并保存为加载宏,存储并加载到工作电脑上即可使用。程序利用工作表进行数据的计算和存储,利用菜单和按钮进行交互,计算结果将以特定的路径进行存储,方便管理。
       图3-1系统总体结构图
      
      图3-2 系统数据流图
      
      系统要点
      既有线拨距计算设计
      2.4.1.1既有线渐伸线长计算
      
      
      
      图3-3 既有线渐伸线长计算流程图
       这部分的要点是:
      角度必须按照“00 00 00”格式输入,每两位分别代表度、分、秒。在输入时位于偏角数据中间及末尾的“0”不可省略,如,49′需输入4900。
      Excel不能直接进行角度计算,故拆分成度、分、秒进行运算,然后重新组合成标准格式再输出。拆分过程为:除以10000取整,为度;除以100取余,再除以100取整,为分;除以100取余为秒。代码为:
       temp = Range("C" & i)
       du(i) = (temp - temp Mod 10000) / 10000
       lfen = temp - du(i) * 10000
       fen(i) = (lfen - lfen Mod 100) / 100
       miao(i) = lfen Mod 100
       角度运算是程序中最重要的部分之一。解决角度计算之后,只需按渐伸线基本计算公式进行计算。
      2.4.1.2主点里程计算
      
      
      
      图3-4 主点里程计算流程图
       主点里程计算最大难点就是Excel中里程(如k10+100)由于格式局限不能直接计算,导致后续判断无法进行。为此,设计cal()与decal()两个函数解决里程计算与输出问题。通过cal()函数将k10+100转化成10000,参与计算。计算完毕之后又通过decal()函数将结果还原成k0+000形式输出。
      
      2.4.1.3 设计线渐伸线长计算
      
      
       图3-5 设计线渐伸线长流程图
       由于已解决里程计算问题,故在设计线渐伸线长计算就比较容易。计算时先读取测点里程进行判断其所属区段,然后再根据计算公式计算渐伸线长。
      
      线间距计算
      法线长度计算
      
      
       图3-6 法线长度计算流程图
       此部分在获取所需数据之后按照既定公式进行计算即可。其中最大难点在于θ+Φ的输出。程序运算时θ+Φ为弧度制,但θ+Φ输出要求角度制,出现格式不统一矛盾,但是Excel中无既有功能,导致无法直接完成本步骤。所以需设计自定义函数,用以解决此矛盾。在自定义函数中涉及计算结果的格式还原和还原过程中小数取舍两个问题。
       其算法的部分代码为:
       th = th * 180 / pi
       rh = Str(th)
       q = InStr(rh, ".")
       aa = Left(rh, q)
       a = CDbl(aa)
       k = (th - a) * 60
       kk = Str(k)
       q = InStr(kk, ".")
       bb = Left(kk, q)
       b = CDbl(bb)
       m = (k - b) * 60 + 0.5
       mm = Str(m)
       q = InStr(mm, ".")
       cc = Left(mm, q)
       c = CDbl(cc)
       huanyuan = a * 10000 + b * 100 + c
      
      线间距计算
      
      
       图3-7 线间距计算流程图
       本阶段需解决的问题是不同区段线间距计算公式选择问题。首先,程序调用测点里程进行判断,明确测点所在曲线区域,然后根据判断结果按照既有公式计算l1、l2 或者l1‘、l2’(既有线对应前者,二线对应后者),接着计算δ1 、δ2 或者δ1‘ 、δ2’,然后计算线间距△0,最后结合既有线距△1计算临时线间距△2。
      系统功能
      项目管理
       项目管理的程序界面非常简单,只须根据界面提示输入相关内容即可。具体包括:
       1.输入指定的文件存储磁盘以及所在文件夹名称。程序根据输入内容整合成存储路径进行存储。有两种情况:
       a.目标磁盘下指定文件夹已存在,则文件直接存储于该文件夹下;
       b.目标磁盘下指定文件夹不存在,则程序自动新建该文件夹,然后将文件存储于该文件夹下。
       2.输入项目资料,包括线名、区段号、曲线编号。程序根据输入内容自动生成由这三项组成的文件名。
       项目管理部分的运行成果是文件以指定路径、文件名进行存储。

    推荐访问:程序开发 曲线 铁路 计算

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章