Excel VBA在道路工程测量中的应用
2020-03-13贺婧
贺婧
摘 要:在道路工程测量中,为了避免变坡点处的坡度出现急剧变化,保证车辆运行安全稳定,竖曲线的测设是至关重要的,其中竖曲线的曲线要素计算是测设的第一个关键步骤,以往大部分数据计算都由人工手算,计算过程繁琐、效率低、出错概率高。文章分析了竖曲线的计算原理,使用EXCEL表格中的VBA进行简单的程序编写,自动进行曲线要素的计算,为进行竖曲线测设提供了快速准确的数据。
关键词:道路工程测量;竖曲线;VBA
中图分类号:U412 文献标志码:A 文章编号:2095-2945(2020)08-0185-02
Abstract: In the road engineering survey, in order to avoid the sharp change of the slope at the slope change point and ensure the safe and stable operation of the vehicle, the measurement and design of the vertical curve is very important, in which the calculation of the curve elements of the vertical curve is the first key step of the survey. In the past, most of the data were calculated by manual, which has the advantages of tedious calculation process, low efficiency and high error probability. This paper analyzes the calculation principle of vertical curve, compiles a simple program with VBA in EXCEL table, and calculates the elements of curve automatically, which provides fast and accurate data for vertical curve measurement.
Keywords: road engineering survey; vertical curve; VBA
引言
線路纵断面是由许多不同坡度的坡段连接而成的。两个相邻的坡段相交时,同于坡段不同就出现了变坡点。为了避免变坡点处的坡度出现急剧变化,保证车辆运行安全平稳,公路纵坡变更处应设置圆曲线进行连接,这种在竖直面内连接相邻两坡段的圆曲线叫竖曲线。随着测量技术的不断进步,工程中竖曲线的测设大都由全站仪或GNSS来完成,但是在测设之前竖曲线曲线要素、高程值等数据的计算多由人工计算得到,效率低并且任务量繁重,因此利用VBA来编写一套竖曲线计算是非常有必要的。
1 竖曲线的计算原理
为了缓和坡度在变坡点处的急剧变化,使列车能平稳通过,变坡点的坡度代数差不应超过规定限值(国家I、II级铁路规定、III级铁路),若超过限值,则坡段间应以曲线连接。连接两相邻坡度线的竖曲线,可以用圆曲线,也可以用抛物线。目前,我国道路建设一般采用单圆曲线的竖曲线,竖曲线与平面曲线类似,首先要进行曲线要素的计算:
(1)变坡角的计算
若相邻的两纵坡的坡度分别为i1、i2,由于变坡角?琢很小,故认为竖曲线的变坡角为
α=i1-i2 (1)
(2)竖曲线的半径
《公路路线规范JTG D20-2006》规定,公路纵坡变更处设置的竖曲线采用圆曲线,而圆曲线的半径R与路线等级有关,选择竖曲线半径的原则应该以获得最佳的视觉效果为标准,竖曲线半径R,在I、II级铁路上不下于1000m,在III级铁路上不小于5000m,在不过分增加工作量的情况下,宜选用较大的竖曲线半径;只有当地形限制或其他特殊困难时,才能选用极小半径。
(3)竖曲线要素计算
根据变坡角的值和设计的竖曲线半径分别计算竖曲线的三个要素,即切线长T、曲线长L和外矢距E。由于变坡角?琢很小,公式为:
在I、II级铁路上,取R=10000m,则T=5000α;在III级铁路上,取R=5000m,则T=2500α。
由于α很小,所以认为曲线上各点的y坐标方向与半径方向一致,也认为它是切线上与曲线上的高程差。得:
2 基于VBA编写竖曲线要素计算程序(部分)
Dim r As Double, i1 As Double, i2 As Double, dko As Double, dke As Double, a As Double, r1 As Double, t As Double, e As Double, c As Double, cn As Integer
Dim d1 As Double, d2 As Double
Private Sub CommandButton1_Click()
Worksheets("竖曲线参数").Range("a3:j100").Value = ""
End Sub
Private Sub CommandButton2_Click()
For cn = 1 To 100
If IsNumeric(Worksheets("竖曲线参数").Range("a" & cn + 2).Value) And IsEmpty(Worksheets("竖曲线参数").Range("a" & cn + 2).Value) = False Then
r = Range("e" & cn + 2).Value
i1 = Range("c" & cn + 2).Value / 1000
i2 = Range("d" & cn + 2).Value / 1000
dko = Range("a" & cn + 2).Value
dke = Range("b" & cn + 2).Value
Call calc
Range("f" & cn + 2).Value = dko - t
Range("g" & cn + 2).Value = dko + t
Range("h" & cn + 2).Value = t
Range("i" & cn + 2).Value = e
Range("j" & cn + 2).Value = a
Else
Exit For
End If
Next cn
End Sub
Private Sub calc()
d2 = Atn(i2)
d1 = Atn(i1)
a = d2 - d1
If a < 0 Then
r1 = r * -1
Else
r1 = r
End If
t = r1 * Tan(a / 2)
e = t ^ 2 / r1 / 2
c = 2 * t - r1 * a
End Sub
3 实例应用
为了检验程序是否可行,用新建成都至蒲江铁路路线设计数据进行验算,竖曲线半径为25000,前坡度比为0.0174‰,后坡度比为0.0162‰,变坡点里程为DK296+986,变坡点高程1164.604m,由此可算出曲线起点里程、曲线终点里程、切线长等曲线要素,计算结果如表1。
由计算得到的数据可以看出是完全吻合竖曲线道路设计要求的。
4 结论
在道路设计外业及施工阶段,曲线测设工作的效率影響着工期的进度。其中核心工作就是先将测设数据计算出来。基于VBA的EXCEL道路计算程序存储容量大、运行可靠、稳定,编写代码简单方便,重复利用率高。还可以将计算好的曲线坐标数据直接导入仪器中进行测量放样工作;还可以与CAD等其他工程软件配套使用。运用此程序对减少测量内业计算时间、工作强度,适当用EXCEL自带的控件及窗体进行界面设计,对于一线测绘工作人员而言能够有针对性的解决问题,这对提高道路工程测量的效率有重要意义,值得进一步推广和应用。
参考文献:
[1]王建中.竖曲线在圆曲线测设中的应用[J].山西建筑,2008,34(3):358.
[2]韦波.曲线测设程序的类设计[J].桂林理工大学学报,2002,22(3):239-242.
[3]杨嘉岳.高速客运专线竖曲线重构方法研究[D].
[4]周凯,赵彬彬,刘泉菲.基于ExcelVBA的线路坐标计算算法及其实现[J].矿山测量,2017,45(01):14-17+25.