EXCEL中计算公路圆曲线中

合集下载

道路坐标计算excel公式

道路坐标计算excel公式

在Excel中,可以使用以下公式来计算道路坐标:
计算两点间的距离:
使用距离公式:D = sqrt((x2-x1)^2 + (y2-y1)^2)。

其中,x1、y1是第一个点的坐标,x2、y2是第二个点的坐标。

计算直线距离(两点间的最短距离):
使用直线距离公式:D = abs(y2-y1) + abs(x2-x1)。

计算斜率:
使用斜率公式:m = (y2-y1) / (x2-x1)。

计算角度:
使用角度公式:θ = arctan(m)。

其中,arctan是反正切函数,m是斜率。

计算坐标变换(平移和旋转):
使用平移公式:x' = x + tx,y' = y + ty。

其中,tx和ty是平移量。

使用旋转公式:x' = x * cos(θ) - y * sin(θ),y' = x * sin(θ) + y * cos(θ)。

其中,cos和sin是余弦和正弦函数,θ是旋转角度。

这些公式可以根据具体需求进行组合和调整,以计算道路坐标和其他相关参数。

请注意,这些公式假设坐标系为笛卡尔坐标系,并且输入的坐标值是实数。

如果使用其他坐标系或涉及复数计算,可能需要使用不同的公式或函数。

利用EXCEL表格计算线路中边桩坐标

利用EXCEL表格计算线路中边桩坐标

利用EXCEL表格计算线路中边桩坐标高速公路施工中,桥梁、隧道施工以及路沿石施工时对测量要求相当严格,要求总体宽度误差在1cm以内。

这就要求测量工程师必须把线路边桩都计算出来,每隔10米(曲线段)或者20米(直线段)放样线路边桩,以便指导施工。

如果采用常规的计算器计算,不仅繁琐、费力而且容易出现差错。

本人在计算中边桩坐标时,试着利用EXCEL表格功能,编辑函数大批量计算线路中边桩坐标,达到了高效、准确的目的。

由于直线部分相对简单,复曲线又特别繁琐。

现就圆曲线举例计算如下:例:在浙江省龙丽一级公路施工中,左线圆曲线起点里程为K86+966.6,曲线半径为1500m,曲线左偏,起始方位角为147°43 ′58.2″,线路中心和隧道中心偏差15cm。

计算隧道中心线和衬砌边线(半径5.1m)。

1.在B4方格中输入:=$B$3+3000*SIN((A4-$A$3)/3000)*COS(2.5784244-(A4-$A$3)/3000)+ 0.15*COS(4.149220679-2*(A4-$A$3)/3000)按回车键确认即可以计算出该里程隧道中心线X轴坐标。

2.在C4方格中输入:=$C$3+3000*SIN((A4-$A$3)/3000)*SIN(2.5784244-(A4-$A$3)/3000)+0.15*SIN(4.149220679-2*(A4-$A$3)/3000)按回车键确认即可以计算出该里程隧道中心线Y轴坐标。

同理在3.D4方格中输入:=$B$3+3000*SIN((A4-$A$3)/3000)*COS(2.5784244-(A4-$A$3)/3000)+ COS(4.149220679-2*(A4-$A$3)/3000) *(0.15+5.1)4.在E4方格中输入:=$C$3+3000*SIN((A4-$A$3)/3000)*SIN(2.5784244-(A4-$A$3)/3000)+SIN(4.149220679-2*(A4-$A$3)/3000)*(0.15+5.1)其中 2.5784244为方位角147°43 ′58.2″的弧度表达方式,4.149220679为起始方位角147°43 ′58.2″加90°后的弧度值。

EXCEL快速计算任何难度的道路中线、边线坐标

EXCEL快速计算任何难度的道路中线、边线坐标

EXCEL快速计算任何难度的道路中线、边线坐标主程序Public i As IntegerPublic pi As DoubleSub TP()Dim ii As IntegerDim k(1000) As DoubleDim xzq, yzq, kq, xzh, yzh, kzh, xjd, yjd, kjd, khy, kyh As Double'直线区域pi = 3.14159265358979xzq = 71862.642yzq = 63474.651kq = 0 '因为直线连接终点为ZH点,与圆曲线起点为同一点,所以在直线区域不定义ZH点参数'直线区域'曲线区域xzh = 71858.3267yzh = 63375.2684kzh = 99.4763xhz = 71909.3687yhz = 63283.8076 '曲线区域定义内容有:ZH(坐标、里程)、HZ(坐标、里程)、JD(坐标、里程)khz = 212.3392 'R(半径)、LS(缓和曲线长度)、HY(里程)、YH(里程)xjd = 71855.658yjd = 63313.806kjd = 160.9966ls = 30r = 75khy = 129.4763kyh = 182.3385'曲线区域i = 2 '从第二格开始读取数据所以定义I=2ii = 1 '桩号从第一个开始启用,所以定义II=2Dok(ii) = Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 1) '定义桩号等于读取数据If Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 1) = "" Then Exit Do '当没有数据读取时退出循环If k(ii) < kq Then '若计算点超过计算起点给予提示并退出程序MsgBox ("猪啊!!你的输入的桩号居然超过计算起点桩号")Exit SubElseIf k(ii) <= kzh Then '若计算点在ZH点前,则进入直线程序Call zx(xzq, yzq, kq, xzh, yzh, kzh, k(ii))ElseIf kzh < k(ii) And k(ii) <= khy Then '若计算点在ZH和HY之间则调入前段缓和曲线程序Call qhhqx(xzh, yzh, kzh, xhz, yhz, khz, xjd, yjd, kjd, ls, r, k(ii))ElseIf khy < k(ii) And k(ii) <= kyh Then '若计算点在HY和YH之间则调入圆曲线程序Call yqx(xzh, yzh, kzh, xhz, yhz, khz, xjd, yjd, kjd, ls, r, k(ii))ElseIf kyh < k(ii) And k(ii) <= khz Then '若计算点在YH和HZ之间则调入后段缓和曲线程序Call hhhqx(xzh, yzh, kzh, xhz, yhz, khz, xjd, yjd, kjd, ls, r, k(ii))ElseMsgBox ("笨啊!!数据已超出计算范围了") '若出现超出范围的桩号则给与提示并退出程序Exit SubEnd Ifi = i + 1ii = ii + 1LoopEnd Sub直线模块Sub zx(ByV al xzq As Double, ByV al yzq As Double, ByV al kq As Double, ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ParamArray k())fw = fwj(xzh, xzq, yzh, yzq) '首先调入方位角程序计算直线方位角x = xzq + (k(ii) - kq) * Cos(fw) '然后根据桩号和长度计算出坐标值y = yzq + (k(ii) - kq) * Sin(fw)zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub圆曲线模块Sub yqx(ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ByV al xhz As Double, ByV al yhz As Double, ByV al khz As Double, ByV al xjd As Double, ByV al yjd As Double, ByV al kjd As Double, ByV al ls As Double, ByV al r As Double, ParamArray k())l = Abs(k(ii) - kzh) '计算ZH点(因为以直缓点起算)到待求桩号的弧度长度ly = l - ls / 2 '计算圆弧长度p = ls ^ 2 / 24 / r - ls ^ 4 / 2688 / r ^ 3 '曲线内移值m = ls / 2 - ls ^ 3 / 240 / r ^ 2 '曲线切线长增量u = r * Sin(ly / r) + m '偏量坐标计算v = r * (1 - Cos(ly / r)) + p'调入方位角fwq = fwj(xjd, xzh, yjd, yzh) '计算ZH点方位角fwh = fwj(xhz, xjd, yhz, yjd) '计算HZ点方位角(此角作用是用来推算曲线是左偏还是右偏)'调入偏角判定nq = n(fwq, fwh) '计算偏角方向,左偏为-1右偏为1'计算坐标x = u * Cos(fwq) - nq * v * Sin(fwq) + xzhy = u * Sin(fwq) + nq * v * Cos(fwq) + yzhd = (90 * (2 * l - ls) / pi / r) * pi / 180 '计算圆曲线上的偏角(此句要点为角度必须转换为弧度即:pi/180)fw = fwq + d * nq '计算前进方位角zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub前缓和段Sub qhhqx(ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ByV al xhz As Double, ByV al yhz As Double, ByV al khz As Double, ByV al xjd As Double, ByV al yjd As Double, ByV al kjd As Double, ByV al ls As Double, ByV al r As Double, ParamArray k())l = Abs(k(ii) - kzh) '计算测点到ZH点的距离u = l - l ^ 5 / 40 / r ^ 2 / ls ^ 2 + l ^ 9 / r ^ 4 / ls ^ 4 / 3456 '计算偏量v = l ^ 3 / 6 / r / ls - l ^ 7 / 336 / r ^ 3 / ls ^ 3'用公式二则以下两计算可省略(圆曲线和后缓和曲线也同理)Rem t = Atn(v / u)Rem s = Sqr(u ^ 2 + v ^ 2)'调入方位角计算fwq = fwj(xjd, xzh, yjd, yzh) '计算ZH点方位角fwh = fwj(xhz, xjd, yhz, yjd) '计算HZ点方位角(此角作用是用来推算曲线是左偏还是右偏)'调入偏角判定nq = n(fwq, fwh) '计算偏角方向,左偏为-1右偏为1'结果计算Rem x = xzh + s * Cos(fwq + nq * t)Rem y = yzh + s * Sin(fwq + nq * t)x = u * Cos(fwq) - nq * v * Sin(fwq) + xzh '经过测试,计算结果中的两种公式计算结果是一样的y = u * Sin(fwq) + nq * v * Cos(fwq) + yzhd = (90 * l * l / pi / r / ls) * pi / 180 '计算缓和曲线上的偏角(此句要点为角度必须转换为弧度即:pi/180)fw = fwq + d * nq '计算前进方位角zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub后缓和段模块Sub hhhqx(ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ByV al xhz As Double, ByV al yhz As Double, ByV al khz As Double, ByV al xjd As Double, ByV al yjd As Double, ByV al kjd As Double, ByV al ls As Double, ByV al r As Double, ParamArray k())l = Abs(k(ii) - khz) '计算测点到HZ点的距离(后缓和曲线是以HZ点为起点)u = l - l ^ 5 / 40 / r ^ 2 / ls ^ 2 + l ^ 9 / r ^ 4 / ls ^ 4 / 3456 '计算偏量v = l ^ 3 / 6 / r / ls - l ^ 7 / 336 / r ^ 3 / ls ^ 3Rem t = Atn(v / u)Rem s = Sqr(u ^ 2 + v ^ 2)'调入方位角计算fwq = fwj(xjd, xzh, yjd, yzh) '计算ZH点方位角fwh = fwj(xhz, xjd, yhz, yjd) '计算HZ点方位角(此角作用是用来推算曲线是左偏还是右偏)'调入偏角判定nh = n(fwh, fwq) '计算偏角方向,左偏为-1右偏为1(注意:因为是从后HZ点起算,所以必须将HZ点方位角放在前ZH放在后)'结果计算Rem x = xzh + s * Cos(fwq + nq * t)Rem y = yzh + s * Sin(fwq + nq * t)x = xhz - (u * Cos(fwh) - nh * v * Sin(fwh)) '经过测试,计算结果中的两种公式计算结果是一样的y = yhz - (u * Sin(fwh) + nh * v * Cos(fwh))d = (90 * l * l / pi / r / ls) * pi / 180 '计算缓和曲线上的偏角(此句要点为角度必须转换为弧度即:pi/180)fw = fwh + d * nh '计算前进方位角zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub偏角模块Function n(ByV al fw1 As Double, ByV al fw2 As Double) As Doublepj = fw1 + pi - fw2 '前进的右角pjIf pj - pi > 0 Then '当右角pj-pi 〉0时为左偏否则为右偏n = -1Else: n = 1End IfEnd Function方位角模块Function fwj(ByV al x1 As Double, ByV al x2 As Double, ByV al y1 As Double, ByV al y2 As Double) As Double'计算增量x0 = x1 - x2y0 = y1 - y2'由增量判断方位角所在象限,不同象限取不同的值If x0 = 0 And y0 > 0 Thenfwj = pi / 2 '当在大地坐标中偏量在X轴上的值时ElseIf x0 = 0 And y0 < 0 Thenfwj = 3 * pi / 2 '当在大地坐标中偏量在负X轴上的值时ElseIf x0 < 0 Thenfwj = Atn(y0 / x0) + pi '当在大地坐标中偏量在第二第三象限上的值时ElseIf x0 > 0 And y0 < 0 Thenfwj = Atn(y0 / x0) + 2 * pi '当在大地坐标中偏量在第四象限上的值时Elsefwj = Atn(y0 / x0) '当在大地坐标中偏量在第一象限上的值时End IfEnd Function度分秒模块Function dfm(ByV al ao As Double) As V ariantao = ao * 180 / pi '将弧度转化为度jd = Int(ao) '计算度jf = Int(ao * 60 - jd * 60) '计算分jmx = (ao - jd - jf / 60) * 3600 '计算秒jm = Left(jmx, 8) '因为拆分出来的秒数经常占到十多位,所以只取秒数的前八位dfm = jd & "°" & jf & "′" & jm & "″" '连接度分秒End Function边桩公式(此公式在电子表格中直接输入):=B2+J2*COS(D2+RADIANS(L2)+PI()) =C2+J2*SIN(D2+RADIANS(L2)+PI()) =B2+K2*COS(D2+RADIANS(M2)) =C2+K2*SIN(D2+RADIANS(M2))=B3+J3*COS(D3+RADIANS(L3)+PI()) =C3+J3*SIN(D3+RADIANS(L3)+PI()) =B3+K3*COS(D3+RADIANS(M3)) =C3+K3*SIN(D3+RADIANS(M3))=B4+J4*COS(D4+RADIANS(L4)+PI()) =C4+J4*SIN(D4+RADIANS(L4)+PI()) =B4+K4*COS(D4+RADIANS(M4)) =C4+K4*SIN(D4+RADIANS(M4))=B5+J5*COS(D5+RADIANS(L5)+PI()) =C5+J5*SIN(D5+RADIANS(L5)+PI()) =B5+K5*COS(D5+RADIANS(M5)) =C5+K5*SIN(D5+RADIANS(M5))=B6+J6*COS(D6+RADIANS(L6)+PI()) =C6+J6*SIN(D6+RADIANS(L6)+PI()) =B6+K6*COS(D6+RADIANS(M6)) =C6+K6*SIN(D6+RADIANS(M6))=B7+J7*COS(D7+RADIANS(L7)+PI()) =C7+J7*SIN(D7+RADIANS(L7)+PI()) =B7+K7*COS(D7+RADIANS(M7)) =C7+K7*SIN(D7+RADIANS(M7))=B8+J8*COS(D8+RADIANS(L8)+PI()) =C8+J8*SIN(D8+RADIANS(L8)+PI()) =B8+K8*COS(D8+RADIANS(M8)) =C8+K8*SIN(D8+RADIANS(M8))=B9+J9*COS(D9+RADIANS(L9)+PI()) =C9+J9*SIN(D9+RADIANS(L9)+PI()) =B9+K9*COS(D9+RADIANS(M9)) =C9+K9*SIN(D9+RADIANS(M9))=B10+J10*COS(D10+RADIANS(L10)+PI()) =C10+J10*SIN(D10+RADIANS(L10)+PI()) =B10+K10*COS(D10+RADIANS(M10)) =C10+K10*SIN(D10+RADIANS(M10))=B11+J11*COS(D11+RADIANS(L11)+PI()) =C11+J11*SIN(D11+RADIANS(L11)+PI()) =B11+K11*COS(D11+RADIANS(M11)) =C11+K11*SIN(D11+RADIANS(M11))=B12+J12*COS(D12+RADIANS(L12)+PI()) =C12+J12*SIN(D12+RADIANS(L12)+PI()) =B12+K12*COS(D12+RADIANS(M12)) =C12+K12*SIN(D12+RADIANS(M12))=B13+J13*COS(D13+RADIANS(L13)+PI()) =C13+J13*SIN(D13+RADIANS(L13)+PI()) =B13+K13*COS(D13+RADIANS(M13)) =C13+K13*SIN(D13+RADIANS(M13))=B14+J14*COS(D14+RADIANS(L14)+PI()) =C14+J14*SIN(D14+RADIANS(L14)+PI()) =B14+K14*COS(D14+RADIANS(M14)) =C14+K14*SIN(D14+RADIANS(M14))=B15+J15*COS(D15+RADIANS(L15)+PI()) =C15+J15*SIN(D15+RADIANS(L15)+PI()) =B15+K15*COS(D15+RADIANS(M15)) =C15+K15*SIN(D15+RADIANS(M15))=B16+J16*COS(D16+RADIANS(L16)+PI()) =C16+J16*SIN(D16+RADIANS(L16)+PI()) =B16+K16*COS(D16+RADIANS(M16)) =C16+K16*SIN(D16+RADIANS(M16))=B17+J17*COS(D17+RADIANS(L17)+PI()) =C17+J17*SIN(D17+RADIANS(L17)+PI()) =B17+K17*COS(D17+RADIANS(M17)) =C17+K17*SIN(D17+RADIANS(M17))=B18+J18*COS(D18+RADIANS(L18)+PI()) =C18+J18*SIN(D18+RADIANS(L18)+PI()) =B18+K18*COS(D18+RADIANS(M18)) =C18+K18*SIN(D18+RADIANS(M18))=B19+J19*COS(D19+RADIANS(L19)+PI()) =C19+J19*SIN(D19+RADIANS(L19)+PI()) =B19+K19*COS(D19+RADIANS(M19)) =C19+K19*SIN(D19+RADIANS(M19))=B20+J20*COS(D20+RADIANS(L20)+PI()) =C20+J20*SIN(D20+RADIANS(L20)+PI()) =B20+K20*COS(D20+RADIANS(M20)) =C20+K20*SIN(D20+RADIANS(M20))=B21+J21*COS(D21+RADIANS(L21)+PI()) =C21+J21*SIN(D21+RADIANS(L21)+PI()) =B21+K21*COS(D21+RADIANS(M21)) =C21+K21*SIN(D21+RADIANS(M21))=B22+J22*COS(D22+RADIANS(L22)+PI()) =C22+J22*SIN(D22+RADIANS(L22)+PI()) =B22+K22*COS(D22+RADIANS(M22)) =C22+K22*SIN(D22+RADIANS(M22))=B23+J23*COS(D23+RADIANS(L23)+PI()) =C23+J23*SIN(D23+RADIANS(L23)+PI()) =B23+K23*COS(D23+RADIANS(M23)) =C23+K23*SIN(D23+RADIANS(M23))呵呵,这个就是传说已久的EXCEL自动计算曲线坐标.给大家研究研究.欢迎在此基础上开发增加新模块。

极坐标法圆曲线测设中Excel的应用

极坐标法圆曲线测设中Excel的应用

行, 提高工作效率。针对 Z Y点设 站极坐标法 圆曲 线的测设中, 用 E cl 采 xe 软件实 现放样数据计算进
行 了探 讨 。
l Z 点 设 站 极 坐 标 法 圆 曲 线 测 设 概 Y 述
应用 此方 法测 设 圆 曲线 时 , 仪器 可 以安 置 在 任 意控制点上 , 包括路线上的交点 、 转点等 已知点。其
测设数据主要是计算 圆曲线 主点和细部点的坐标 , 然后根据控制点和细部点的坐标 , 反算 出极坐标法 的测设 数据— — 测站 至待 测设 点 的方 位角 和水 平距 离。使用全站仪测设时 , 则可直接将已知点、 圆曲线 主点及细部点的坐标编辑成文本 文件 , 然后 上传到 仪器中进行测设。
34 . 0 10 0 0
2 , 9 7 18
哇 . 9 7 18
6 . 9 7 18
15 8 03 6 . 5 3 49
2 7 4 19 7 . 0 2 98 3 0 35 7 . 5 1 57
2. 9 7 14
4. 8 7 10
6 .哇 7 17
27 4 59 6 7。 3 23



条件限制, 不能连续测设大型曲线 或测设 时误差积
累较大等不足 ; 第二类则是 随着全站仪 的普及而发 展起 来 的极 坐标 放 样法 , 此种 方 法设 站灵 活多样 , 选 择余 地较 大 , 并且 坐 标 独 立计 算 , 误 差 积 累 , 无 测设
精度 较高 , 曲线 主点 测 设 与 曲线 详 细 测 设 可 同 时进

要: 公路 和铁路圆曲线测设 的计算工 作量大 , 测设 数据计算 采用 E cl xe 编程处 理 , 以简 化复杂 的计 算工 作 , 可 提

EXCEL电子表格在公路测量施工中的应用——海滨大道路基、桥梁中桩坐标计算及放样

EXCEL电子表格在公路测量施工中的应用——海滨大道路基、桥梁中桩坐标计算及放样
在 上述 特 定 坐 标 系 中 的坐 标 。
为i 点
求 出 i 的路 线 坐 标 后 ,根 据 o 在 线 路 坐 标 系 中 的 方 点 轴 位角 T 和 Z 。 Y点 的坐 标 对 、y进 行 平 移 、旋 转 , 即 : )iX + i o T +y ×sn 0 ( 转取 上 面 符号 ) ; ( 。 x Xc s o i iT 右 = Y= ox iT ±y ×c s 0 ( 转 取 下 面符 号 ) 。 iY + i sn o X i ot 左
徐 刚 , 王 继 刚
( 中交 一航 局 第 一 工 程 有 限 公 司 , 天 津 3 0 5 0 4 6)

要:以海滨大道路基 、桥梁施工为范例 ,通过计算机的应用简化施 工放样计 算的方法 。
文献 标 识 码 :A 文章 编 号 : 10 — 9 3 ( 0 2 4 0 2— 2 0 6 7 7 2 1 )0 — 2 3 0 方 法 二 :用 积 分 坐 标 方 程直 接 求 圆 曲线 上 任 意 i点 的 线 路坐标 ,即:
x=i 1/ R )+ ( 1 0 il i 6 。 一(3 1 / R ); i 2
Y= (2 2 i 1/ R)一 ( 2 R ) + (i 7 0 5 ; i 1/ 4 3 i 1/ 2 R ) 6
坐标 系下 的坐标 ,转换公式与 圆曲线类 同。
缓 和 曲线 上任 意 一 点 i 的切 线 方 位 角 可 用 下 式 求 得 : T= 0 ( / RL ) × ( 8 ) , iT + 1 2 o 2 1 O/
式中:, _ 特定坐标系 x轴 的方 位角。 r_ 0一
同 上 ,可 根 据 T 求 得 任 意 一 点 i的法 线 方 向上 的 距 离 点 i 的坐 标 。

Excel VBA在公路路线坐标计算中的应用

Excel VBA在公路路线坐标计算中的应用

Excel VBA在公路路线坐标计算中的应用摘要:通过分析公路路线坐标计算原理,创建Excel VBA的对象模型,可通俗易懂,方便准确地完成公路路线坐标计算,值得推广应用,文中以作者编写的“Excel公路坐标计算程序”为算例,说明介绍。

关键词:坐标计算,Excel VBA,坐标转换,数据读取传输引言作为公路测量工作者,公路路线坐标计算是一件最基础和最重要的工作之一。

虽然目前有部分公路坐标计算软件,但往往价格不低,而且通常操作复杂。

Microsoft 的常用办公软件Excel提供的VBA程序,功能强大,且与Excel工作表实现无缝接合,只要灵活应用,即可方便、快捷地解决测量中大量的、机械的数据处理过程。

文中介绍道路曲线坐标计算三种基本形式—直线、圆曲线、缓和曲线的中边桩计算公式,分析利用Excel表格及其VBA程序计算公路坐标的一般方法和关键节点,同时以两个不同类型的路线为实例具体说明计算过程和精度分析。

1 公路路线坐标计算基本原理1.1 中线坐标计算一般公路的路线坐标计算普遍采用三种线型:直线、圆曲线和缓和曲线。

其相应的中线坐标计算公式如下:1)直线(见图1)x=x0+S0×cos(a0)y=y0+S0×sin(a0)2)圆曲线(见图2)x=x0+S0×cos(a0+β)y=y0+S0×sin(a0+β)其中β为偏角,S0为弦长,其值为:β=90×L0/(R×π)S0=2×R×sin(β)切线方位角:a= a0+2×β3) 缓和曲线(见图3)Xi’=L-L5/(40A2)+L9/(3456A8)-L13/(599040A12)+……Yi’=L3/(6A2)-L7/(336A6)+L11/(42240A10)-……L=|Li-L0| A=上述直线段和圆曲线段可直接计算出中桩坐标,但缓和曲线由于采用切线正支距法,是以直缓或缓直为原点的直角坐标系,还必须用坐标平移和旋转计算出该点在大地平面直角坐标系XOY中的坐标(x,y),公式为:x= x0+ Xi’cos(a0)- Yi’sin(a0)y= y0+ Yi’sin(a0)+ Yi’cos(a0)其转换后的切线方位角为:a=a0+180±L2/(3A2)1.2边桩坐标计算边桩坐标计算利用计算出来的中线坐标及其切线方位角,按az=a-90……左边桩方位角ay=a+90……左边桩方位角以及边桩至中桩距离Sb,推算边桩坐标:Xz(y)=x中+Sb×cos(az(y))Yz(y)=y中+Sb×sin(a z(y))2Excel VBA与Excel工作表的关联Office Excel工作簿中包含若干工作表,各工作表之间既相互独立,又相互关联,同时各工作表与Excel VBA又相互关联,因此只要在工作表上输入路线要素及计算桩号,通过VBA编程,就可通过VBA宏坐标计算将计算结果导入工作表。

圆曲线在excel中函数

圆曲线在excel中函数

圆曲线在excel中函数符号说明:■x—起点X坐标值所在单元格■y—起点Y坐标值所在单元格—起点方位角所在单元格◆—起点里程所在单元格◇—计算点里程所在单元格注:EXCEL中π=PI() Lo2=Lo^2= POWER(Lo,2) 弧度=RADIANS(度)一.方位角计算公式1.直线段方位=(PI()*(1-SIGN(□x-$■x)/2)-ATAN((A3-$A$1)/(□y-$■y)))*180/PI()2.缓和曲线上方位角(α) =$?±90*POWER(◇-$◆,2)/(P()*R* Ls)3.圆曲线上方位角(α) =$?±180°*(◇-$◆)/(PI()*R)二.坐标值计算公式1.直线段坐标值计算公式:X= $■x+(◇-$◆)*COS(RADIANS($?))Y= $■y+(◇-$◆)*SIN(RADIANS($?))2.缓和曲线及圆曲线上坐标值计算公式:①缓和曲线坐标值计算公式:X=$■x+((◇-$◆)-(◇-$◆)^5/(40*R^2*Ls^2)+(◇-$◆)^9/(3456*R^4*Ls^4)-(◇-$◆)^13/(599040*R^6*Ls^6)+(◇-$◆)^17/(175472640*R^8*Ls^8))*COS(RADIANS($▲))-((◇-$◆)^3/(6*R*Ls)-(◇-$◆)^7/(336*R^3*Ls^3)+(◇-$◆)^11/(42240*R^5*Ls^5)-(◇-$◆)^15/(9676800*R^7*Ls^7)+(◇-$◆)^19/(3530096640*R^9*Ls^9))*SIN(RADIANS($▲))Y=$■y+((◇-$◆)-(◇-$◆)^5/(40*R^2*Ls^2)+(◇-$◆)^9/(3456*R^4*Ls^4)-(◇-$◆)^13/(599040*R^6*Ls^6)+(◇-$◆)^17/(175472640*R^8*Ls^8))*SIN(RADIANS($▲))+((◇-$◆)^3/(6*R*Ls)-(◇-$◆)^7/(336*R^3*Ls^3)+(◇-$◆)^11/(42240*R^5*Ls^5)-(◇-$◆)^15/(9676800*R^7*Ls^7)+(◇-$◆)^19/(3530096640*R^9*Ls^9))*COS(RADIANS($▲))②圆曲线上坐标计算公式:X=$■x+2*R*SIN(RADIANS(90*(◇-$◆)/(PI()*R)))*COS(RADIANS($▲)+RADIANS(90*(◇-$◆)*/(PI()*R))) Y=$■y+2*R*SIN(RADIANS(90*(◇-$◆)/(PI()*R)))*SIN(RADIANS($▲)+RADIANS(90*(◇-$◆)*/(PI()*R)))或者X=$■x+2*R*SIN((◇-$◆)/2*R)*COS(RADIANS($▲)+((◇-$◆)/2*R))Y=$■y+2*R*SIN((◇-$◆)/2*R)*SIN(RADIANS($▲)+((◇-$◆)/2*R))。

曲线道路坐标计算(Excel)

曲线道路坐标计算(Excel)

曲线道路坐标计算§1 曲线要素计算缓和曲线是在不改变直线段方向和保持圆曲线半径不变的条件下,插入到直线段和圆曲线之间的。

其曲率半径ρ从直线的曲率半径∞(无穷大)逐渐变化到圆曲线的半径R ,在缓和曲线上任意一点的曲率半径ρ与缓和曲线的长度l 成反比,以公式表示为:l1∝ρ 或 C l =⋅ρ(C 为常数,称曲线半径变更率)。

当o l l =时,R =ρ,应有o l R l C ⋅=⋅=ρ以上几式是缓和曲线必要的前提条件。

在实际应用中,可采取符合这一前提条件的曲线作为缓和曲线。

常用的有辐射螺旋线及三次抛物线,我国采用辐射螺旋线。

为了在圆曲线与直线之间加入一段缓和曲线o l ,原来的圆曲线需要在垂直于其切线的方向移动一段距离p ,因而圆心就由'O 移到O ,而原来的半径R 保持不变,如图。

由图中可看出,缓和曲线约有一半的长度是靠近原来的直线部分,而另一半是靠近原来的圆曲线部分,原来圆曲线的两端其圆心角o β相对应的那部分圆弧,现在由缓和曲线所代替,因而圆曲线只剩下缓圆点(HY )到圆缓点(YH )这段长度即y l 。

o β为缓和曲线的切线角,即缓圆点或圆缓点切线与直缓点或缓直点切线的交角,亦即圆曲线HY→YH 两端各延长2ol 部分所对应的圆心角。

γ为缓和曲线总偏角,即从直缓点(ZH )测设缓圆点(HY )或从缓直点(HZ )测设圆缓点(YH )的偏角。

q 为切线增量(切垂距),即ZH (或HZ )到从圆心O 向ZH (或HZ )的切线作垂线垂足的距离。

p 为圆曲线内移值,即垂线(从圆心O 向ZH (或HZ )的切线作垂线)长与圆曲线半径R 之差。

§1.1 不等长缓和曲线要素计算:在铁路曲线测设中,线路曲线一般是由相等的两条缓和曲线中间加一个圆曲线构成,有时还会出现由两个不等长的缓和曲线中间加一个圆曲线构成的特殊情况,如图:缓和曲线长分别为1o l 、2o l , 切线长分别为1T 、2T ,曲线偏角(线路转角)为α,圆曲线半径为R ,圆曲线长为y l ,曲线长为L ,外矢距为E ,切曲差为J ,(缓和曲线后)圆曲线内移值分别为1p 、2p ,(缓和曲线)切线增量分别为1q 、2q ,缓和曲线偏角分别为1o β、2o β , 回旋线参数分别为121o Rl A =、222o Rl A =各曲线要素计算公式如下:231112402R ll q o o -=232222402Rll q o o -=341211268824R lR l p o o -=342222268824RlR l p o o -=ααsin )(2)(12111p p tgp R q T -+++=ααsin )(2)(21222p p tgp R q T -+++=Rl R l o o o ππβ111901802=⋅=Rl R l o o o ππβ222901802=⋅=︒--++=180)(2121Rl l L o o o o πββα从以上公式可以看出,当21o o l l =时,就是等长(对称)缓和曲线的情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EXCEL中计算公路圆曲线中、边桩坐标计算公式及计算实例
圆曲线中边桩坐标计算公式:L=F-H;
注:L---所求点曲线长;F---所求点里程;H---圆曲线起点(ZY点桩号里程)
X=XZY+2×R×SIN(L÷2R)×COS{α±(L÷2R)}+S×COS{α±(L÷R)+M};
Y =YZY+2×R×SIN(L÷2R)×SIN{α±(L÷2R)}+S×SIN{α±(L÷R)+M}.
注:
α---线路方位角;
M---所求边桩与路线的夹角;
S---所求边桩至中桩的距离;
"±"---曲线左偏取“-”右偏取“+”;
当S=0时为中桩坐标。

经高速公路施工一线使用效果很好。

记住在公式中加入Excel的Radians()函数将度转为弧度即可轻松方便地使用,从ZY点坐标准确快速推算地计算出整条圆曲线。

注意要分清左偏右偏两种情况。

相关文档
最新文档