线路中线和边线点位坐标的万能通用程序
线路任意点坐标计算、及任意点对应桩号,左右偏距计算程序.tmp

线路任意点坐标计算、及任意点对应桩号,左右偏距计算程序.tmp线路任意点坐标计算、及任意点对应桩号,左右偏距计算程序卡西欧4800、4850系列计算器测量计算程序一、字母含义;K: 表示拟计算位置的线路桩号;H: 表示计算位置距路线中心线的偏距,左偏为正,右偏为负。
T: 各段线路上作为起算点处的切线方位角。
S: 拟计算点到起算点的曲线长。
L: 在圆曲线上表示曲线长,在缓和曲线上表示缓和段长度,在直线上为零。
R: 表示曲线半径,左偏为正,右偏为负E、F: 起算点的坐标值。
M”X1”N”Y1”: 已知点坐标,求其对应位置桩号及左右偏距。
二、程序1、坐标计算(COORD){K,H}:KH“L+,R-”:Prog “DATA”:”(X,Y)=”:X=X+HSinW :Pause 1:Y=Y-HcosW:2、坐标反算线路桩号(FS ZH)Fix 4:M”X1”N”Y1”:LbI 1:Prog “DATA”:PoI (M-X,N-Y):Fi xm:J<0=>J=J+360:≠>J=J⊿Abs(Sin(W-J ))=1=>”K=”:K: Pause 1 :“L+,R- =”: H=ISin(W-J):≠>K=K+Icos(W-J): Goto 13、子程序Prog “DATA”K<(第1段与第2段线路分界处的路线桩号)=> T=(第1段起算点处的切线方位角值):S=K-(第1段起算点处的路线桩号):L=(在圆曲线上等于S;在缓和曲线上等于缓和段长度;在直线上为零。
):R=(曲线半径):E=(第1段起算点的X坐标值):F=(第1段起算点的Y 坐标值)≠ >K<(第2段与第3段线路分界处的路线桩号):=>T=(第2段起算点处的切线方向角值):S=K-(第2段起算点处的路线桩号):L=(在圆曲线上等于S;在缓和曲线上等于缓和段长度;在直线上为零。
):R=(曲线半径):E=(第2段起算点的X坐标值)F=(第2段起算点的Y坐标值)≠ >K<(第3段与第4段线路分界处的路线桩号):=>T=(第3段起算点处的切线方向角值):S=K-(第3段起算点处的路线桩号):L=(在圆曲线上等于S;在缓和曲线上等于缓和段长度;在直线上为零。
公路工程坐标计算系统操作说明

公路工程坐标计算操作说明、程序运行平台:Win9X/ME/XP 。
二、程序开发平台:VC++.NET三、软件主要功能:本系统适用于公路主线、立交匝道及铁路的施工放样工作,可根据设计给定参数精确进行公路、铁路的线路坐标计算、导线平差计算等。
系统分为线元法坐标计算、交点法坐标计算、导线平差计算、交会定点计算、放样辅助计算、坐标转换程序六大模块。
( 一) 各模块主要功能1 、线元法及交点法坐标计算:可以对公路主线、立交匝道及铁路线路进行中线桩、边线桩施工放样工作。
可计算的线形包括直线、圆曲线、缓和曲线、单交点对称型曲线、单交点非对称型曲线、S 型曲线、 C 型曲线、卵形曲线、凸型曲线、复曲线、回头曲线等。
坐标计算时,可计算任意角度的边桩,同时系统在加桩时可一次计算多个边桩。
如果给定置镜点、后视点坐标还可计算出放样角度及放样距离。
2 、导线平差计算:适用于各等级各类型闭、附合单导线的严密、近似平差计算。
严密平差时可以提供完整的精度评定及各种所需报表。
3 、放样辅助计算:可进行两点坐标正反算、缓和曲线起点反算、桥涵放样坐标计算及竖曲线高程计算。
4 、交会定点计算:可进行前方交会、后方交会、侧方交会、测边交会计算。
5 、坐标转换程序:可进行高斯投影正反算、坐标换带、方向与边长改化计算。
( 二) 本系统主要特点1 、功能全面,包含了公路、铁路施工测量的各个方面,更新版本将根据用户需求随时完善、增强。
2 、表格式的数据操作,简单、方便,所输入的历史数据均可留在系统中,每次程序启动后均可显示以前的数据,包括计算结果。
本系统还可将用户输入资料保存为磁盘文件(*.stc) 以便交流及随身携带,也可将原始数据或计算结果输出为EXCEL 及文本文件。
3 、所见即所得的报表输出功能,支持报表设计,用户可根据自已的需要设计出适合的报表,先进的数据计算引擎,计算速度极快,在预览页面可将报表保存为同式样的EXCEL 或网页文件,在EXCEL 中真正体现了人性化的报表界面,支持数据的直接显示、打印。
2线路测量通用程序内置程序简介

打开模拟器,按HOME键,分别按T ( )键及执行键ENTER,进入线路测量通用程序主界面。
见下图:主界面按1键退出线路测量通用程序。
主界面按2键进入线路反算程序(工程测量,坐标反算等)。
见下图:此屏幕按幂号键返回主界面。
输入水平右角﹑水平距离后屏幕显示见上右图:主界面按3键进入线路正算程序(测量放线,坐标换算等)。
见下图:此屏幕按幂号键返回主界面。
输入里程﹑边距后屏幕显示见上右图:主界面按4键进入设置仪器界面。
见下图:此界面按1键返回主界面。
分别按2 3 4键进入设置全站仪三个程序(见后介绍)主界面按5键进入输入线路线元程序界面。
见下图:此界面按1键返回主界面。
分别按2 3 4 5键进入输入线元的四个程序(见后介绍)主界面按6键进入输入标准点测设点程序。
见下图:此屏幕按幂号键返回主界面。
主界面按7键进入数据库设置显示清空界面。
见下图:此界面按1键返回主界面。
按2键进入显示数据库界面(见后介绍)。
按3键进入清空数据库界面(见后介绍)。
按4键设置测量模式。
按5键恢复线路模式。
按6键为程序默认模式。
主界面按8键进入其他常用程序界面。
见下图:此界面按1键返回主界面。
按2键进入坐标换算程序。
按3键进入坐标法求面积程序。
按4键进入交点法求里程及参数程序。
按5键进入三点求园心坐标程序。
按6键进入求两直线交点坐标程序。
按7键进入求垂点坐标程序。
按8键进入线性回归计算程序(上述见后介绍)。
主界面按4 2键进入二点法设置全站仪程序。
见下图:此屏幕按幂号键返回上一界面。
二点法程序出口屏幕显示见上右图:主界面按4 3键进入三点法设置全站仪程序。
见下图:此屏幕按幂号键返回上一界面。
三点法程序出口屏幕显示见上右图:主界面按4 4键进入常规法设置全站仪程序。
见下图:此屏幕按幂号键返回上一界面。
常规法程序出口屏幕显示见上右图:主界面按5 2键进入输入平曲线线元程序。
见下图:此屏幕按幂号键返回上一界面。
输完单个线元结果屏幕显示见上右图:主界面按5 3键进入输入竖曲线线元程序。
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自动计算曲线坐标.给大家研究研究.欢迎在此基础上开发增加新模块。
fx5800P测量公式及程序汇总

卡西欧5800P 测量程序汇总CASIO fx5800P公路施工放线测量公式及程序一、已知座标,求平距和方位角(座标反算):公式:D=√(Xp-Xo)2+(Yp-Yo)2 α=arctg(Yp-Yo)/(Xp-Xo) 程序:“A”?→A:“B”?→B:Lbl 0:“X”?→X:“Y”?→Y:(X-A)→M:(Y-B)→N:“D=”:√(M2+N2)⊿ tan-1(N/M) →C:If M<0:Then “Q=”:180+C →Q ⊿ Else If N>0: Then “Q=”:C→Q ⊿ Else “Q=”:360+C→Q ⊿ If End : If End : Goto 0 说明:(A,B)为测站点坐标,(X,Y)为所求点坐标。
输出:D为平距,Q为方位角。
二、已知直线的坐标方位角Q和直线起点坐标(Xo,Yo),求直线上任一点的中桩坐标(X, Y),左右边桩坐标(XL,YL)、(XR,YR):公式:X =Xo+LcosQ Y=Yo+LsinQ程序:“A”?→A:“B”?→B:“Q”?→Q:“Z”?→Z:Lbl 1: “P”?→P:“J”?→J:“M”?→M:Abs(M-Z)→W:“X=”:A+W*cos(Q)+P cos(Q+J)→X ⊿“Y=”:B+W*sin(Q)+P sin(Q+J) →Y ⊿Goto 1 说明:(C,D)为直线起点坐标,Q为直线方位角,Z为起点桩号,L为所求坐标点桩号。
“U”为左边距,“T”为右边距,“V”为偏角;U=0时不算边桩坐标。
输出:(X,Y)为中桩坐标,(XL,YL)为左边桩坐标,(XR,YR)为右边桩坐标。
三、已知圆曲线起点坐标(U,V),切线方位角Q,桩号Z和圆半径R,求圆曲线上桩号为 L的点中桩坐标(X,Y),左右边桩坐标(XL,YL)、(XR,YR):公式:ψ=90L/(лR) (偏角公式) C=2Rsin ψ (对应弧的弦长公式)弦的方位角:Q=Qo±ψ(曲线左转时为“-”)程序:“U”?→U:“V”?→V:“Q”?→Q:“R”?→R:“Z”?→Z:“W=-1,1”:?→W:“ZJ=”:?→Z[1]:“YJ=”:?→Z[2]:“PIAN JIAO”:?→T:Lbl 2: “M”?→M:180*(M-Z)/(2π*R)→J:R*2sin(J)→K:If W=-1:Then“X=”:U+K*cos (Q-J)→X⊿ “Y=”:V+K*sin(Q-J)→Y ⊿“Q=”:Q-180*(M-Z)/(πR)→O⊿ Else If W=1:Then“X=”:U+K*cos(Q+J)→X⊿“Y=”:V+K*sin(Q+J)→Y ⊿ “Q=”:Q+180*(M-Z)/(πR)→O⊿ IfEnd:IfEnd:T=0=>Goto 2:“XL=”:X+Z[1]*cos(O-T)→F⊿“YL=”:Y+Z[1]*sin(O-T)→P⊿“XR=”:X+Z[2]*cos(O+T)⊿“YR=”:Y+Z[2]*sin(O+T) ⊿ Goto 2 说明:W=-1时曲线左转, W=1时曲线右转。
线路中线及相关点位坐标计算

线路中线及相关点位坐标计算的快捷方法及桥梁主要点的坐标计算1 前言在二十一世纪的今天,使用传统的铁路测量方法已越来越不适应发展趋势的需要,用坐标控制、全站仪测量已越来越适应今天的发展。
在渝怀线的施工控制测量中,在原有坐标公式的基础上把一些公式加以发展,使坐标计算更快、更方便,缩短了计算时间。
下面就铁路中线及与线路成任意夹角相关点位点的坐标计算及桥梁上的应用进行探讨,特别是对线路垂线及任意夹角的相关点的坐标计算进行着重探讨。
2 公式的分类铁路线路线型包括:直线、缓和曲线、圆曲线。
又因在坐标计算此两点距、方位角及已知一点坐标、方位角、距离计算另一点坐标两种情况。
所以把公式分为:(1)已知两点坐标求两点距及方位角。
(2)已知一点坐标、方位角、距离求另一点坐标。
(3)直线上中线及相关点坐标公式。
(4)缓和曲线上中线及相关点坐标公式。
(5)圆曲线上中线及相关点坐标计算。
3 坐标系的建立通常数学坐标系是以X 轴为横轴、Y 轴为纵轴(如图1)。
但为了满足坐标计算的需要,通常把Y 轴反向(如图2)。
再逆时针旋转90°即得以Y 轴为横轴、X 轴为纵轴的坐标和纱(如图3)。
以X 轴方向为线路走向方向,Y 轴为线路垂直方向,由(图3)可以看出线路左偏时Y 值逐渐减小,右偏时Y 值逐渐增大。
4 已知两点坐标计算两点距及方位于角(如图4) 4.1 公式在CASIO 计算器中的输入在CASIO 计算器中输入公式要进入编程状态需按MODE 再按EXP 即可,然后输入文件名再按EXE 进入编程行即可编程。
CASIO 计算器的功能控制键有SHIFT 、2DNF 、ALPHA 三种分别A ,按键ALPHA 再按(一)键即右输入。
4.1.1 第一步:输入LBI 0 4.1.2 第二步:输入变量(Y )4.1.3 第三步:输入Y ≥N=〉A=90-tan -1((X-M )/(Y-N )◢ L= √((X-M )2+(Y-N )2)◢ ≠)A=270-tan -1((X-M )/(Y-N )◢ L= √((X-M )2+(Y-N )2)◢4.2 说明:(1)M 、N 为置镜点坐标。
线路中、边桩坐标计算通用公式

现阶段我国公路工程中已普遍使用大地坐标进行线型的控制及测设,在施工中经常要对中线坐标进行复核、加密,才能满足公路工程施工的需要。
本文是结合公路工程的实际需要,用于由直线、圆曲线、缓和曲线组成的一般公路线型中桩、边桩等计算的公式。
一、采用公式1 直线段1.1 中桩坐标计算公式1.2 边桩坐标计算公式2 缓和曲线段2.1 中桩坐标计算公式:以ZH点为原点,当曲线左转是Y=(-Y)Xp= X1+X*COSαA→B - Y*SINαA→B,Yp= Y1+X*SINαA→B + Y*COSαA→B以HZ点为原点,当曲线右转是Y=(-Y)Xp= X1-X*COSαB→A + Y*SINαB→A,Yp= Y1-X*SINαB→A - Y*COSαB→A(X=L-L5/40/R2/L s2, Y=L3/6/R/L s)2.2 边桩坐标计算公式:以ZH点为原点以HZ点为原点边桩坐标计算公式:以ZH点为原点坐标中的中桩左侧的“-90°”改为“+90°”,中桩右侧的“+90°”改为“-90°”就OK了。
3 圆曲线段3.1 中桩坐标计算公式当E点位于顺时针方向时取“+”,当E点位于逆时针方向时取“-”。
3.2 边桩坐标计算公式XP、YP——未知点P的坐标X1、Y1——各线型起点的坐标(第二曲线段为终点)XA、YA、XB、YB——P点边桩A点、B点的坐标(A为左侧、B为右侧)α1→2——直线段起点的方位角αA→B——各线形起点的切线方位角(第二曲线段为终点)L——P点距各线形起点的长度LS——缓和曲线段缓和曲线长R——各曲线段的半径β——P点的切线角(曲线左转时取“-”、曲线右转时取“+”)T1、T2——P点至边桩A、B的距离(A为T1、B为T2)边桩与路线切线方向的夹角设定为90°,实际应用中可根据需要进行修改。
5800公路线路计算万能程序

5800公路线路计算万能程序本程序以高斯四节点法为计算内核,多条线路正反算,中桩,边桩高程计算,超高计算,超高缓和计算,加宽计算,加宽缓和计算,边坡开口线计算,挡土墙坡脚线计算,考虑了中间绿化带的影响,适用与国家高速公路至乡村四级公路计算和放样,路基路面工程可以直接得出中边桩的设计三维坐标,去掉加宽和超高影响的计算困难,边坡和坡脚线计算可直接在边坡上提取坐标带入程序,经过所有设计因素的综合,得出更改边距并显示修改偏差后的坐标.反算速度明显提高,只需要3秒.程序无错,可放心输入,另本程序可以增加隧道超欠挖计算子程序,非常方便,因为每个隧道的断面数据不一样,所以在此没有明确写出.计算器主程序:ZHU-CHENG-XULbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。
”?U:U=1=>Prog”ZS-FS”: 进入公路三维程序U=2=>Porg”ZS”: 进入坐标正算程序U=3=>Porg”FS”: 进入坐标反算程序U=4=>Porg”XY =>SG”: 进入大地坐标转施工坐标程序…………Goto0:说明:计算器总的主程序,进入选择各种分支计算程序。
1为公路三维计算,2为普通正算,3为普通反算,4为大地坐标转施工坐标。
选择错误重新选择。
此程序可以不用输入,只为给大家一个思路,可以把计算器所有程序集中到一个主程序内管理.公路三维部分正反算选择程序:ZS-FSDeg: //设置角度模式20→DimZ: //扩展变量“1LZ=>XY,2XY=>LZ,3BIANPO-FY”?U: //正反算选择,正算选1,反算选2,坡口坡脚选3If U=1: ThenProg”ZS-XH”:IfEnd: //进入正算循环主程序IfU=2:Then Prog”F S-XH”:IfEnd: //进入反算循环主程序IfU=3:ThenProg”BIANPO-XH”:IfEnd: //进入边坡开挖主程序正算循环主体程序ZS-XH“1PT-2SJ”?W: //普通计算和设计边距计算选择“XL-XZ“?U: //选择线路 1~NIf W=1: Then //运行普通计算模式边踞自由输入Lbi0:”L=”?L:”Z=”?Z: //输入桩号和边距Porg”ZS-XH-1“:Goto0:IfEnd:运行正算循环子程序If W=2:Then //运行设计计算模式边距按设计输入Lbi1:”L=”? L: //输入桩号Porg”0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1线路中线和边线点位坐标的万能通用程序Lb1Ø: { E G }:A“XØ”:B“YØ”:C“FWJ”:D“1/R-QD”:E“1/R-ZD”:F“QD-ZH”:G“ZD-ZH”:Lb1 1:{ H O }:H“JS-ZH”:O“JZ-JL”:H > G Goto 2 ΔProg 1: X“X-JS”=X+Ocos(J+9Ø)▲Y“Y-JS”=Y+Osin(J+9Ø)▲Goto1ΔLb1 2:L=H:H=G:“WARING>JS-FW”▲“SR…SUJU”▲ Prog 1: A=X:B=Y:D=E:F=G:C=J:H=L: Goto ØΔ子程序1:P= (E-D)/ABS(G-F):Q=ABS(H-F):I=PQ:J=C+9ØQ(I+2D)/π:M=C+45Q(I/8+D)/π:N=C+135Q(3I/8+D)/πK=C+45Q(I/2+2D)/πX=A+Q(cosC+4(cosM+cosN)+2cosK+cosJ)/12:Y=B+Q(sinC+4(sinM+sinN)+2sinK+sinJ)/12:注释:A“XØ”:B“YØ”:-起点的xy坐标C“FWJ”:-起点的方位角D“1/R-QD”:起点的 1/半径,如直线为1/e50E“1/R-ZD”:终点的 1/半径,如半径100为1/100(如左转为负,右转为正)“QD-ZH”:G“ZD-ZH”:起点、终点的桩号H“JS-ZH”:O“JZ-JL”:输入计算的桩号,距中距离、如大于计算范围则显示“WARING>JS-FW”▲“SR…SUJU”▲只需继续输入下一点的终点的 1/半径和终点桩号即可连续计算下一线型。
X“X-JS”、y“y-JS”显示计算点的xy坐标2 4800-4850直线、曲线、螺旋线、匝道中边桩坐标计算程序直线、曲线、螺旋线、匝道中边桩坐标计算程序主程序名称(4800-4850)A“XA”:B“YB”:C“CA”:D“RA”:E“RB”:F“DKA”:G“DKB”换行D≠0=>D=1÷D:换行E≠0=>E=1÷E:换行Lb1 1:{H,O,R}换行H“DKI”:O“DL”:R“DR” 换行Lb1 0 换行P=(E-D)÷Abs(G-F)换行Abs(H-F)>Abs(G-F)=>Q= Abs(G-F):≠=>Q= Abs(H-F):换行I=P×Q 换行J=C+(I+2D)×Q×90÷π 换行M=C+(I÷8+2D)×Q×45÷(4π)换行N=C+(3I÷8+2D)×Q×135÷(4π)换行U=C+(5I÷8+2D)×Q×225÷(4π)换行V=C+(7I÷8+2D)×Q×315÷(4π)换行K=C+(I÷4+2D)×Q×45÷(2π)换行W=C+(I÷2+2D)×Q×45÷π 换行Z=C+(3I÷4+2D)×Q×135÷(2π)换行X=A+Q÷24×(cosC+4×(cosM+cosN+cosU+cosV)+2×(cosK+cosW+cosZ)+cosJ)换行Y=B+Q÷24×(sinC+4×(sinM+sinN+sinU+sinV)+2×(sinK+sinW+sinZ)+sinJ)换行U=X+O×cos(J-90)换行V=Y+O×sin(J-90)换行W=X+R×cos(J+90)换行Z=Y+R×sin(J+90)换行Abs(H-F)>Abs(G-F)=> Goto 3:换行H“DKI=” ◢ fx4850输入改为“DKI=”:H ◢X“X=” ◢ fx4850输入改为“X=”:X ◢Y“Y=” ◢ fx4850输入改为“Y=”:Y ◢U“XL=” ◢ fx4850输入改为“XL=”:U◢V“YL=” ◢ fx4850输入改为“YL=”:V◢W“XR=” ◢ fx4850输入改为“XR=”:W◢Z“YR=” ◢ fx4850输入改为“YR=”:Z◢Goto 1 换行Lb1 3 换行A=X:B=Y:D=E:F=G:C=J 换行{E,G}换行E“RB”:G“DKB”换行E≠0=>E=1÷E:换行Goto 0计算器显示及输入方法:XA?线型起算点的X坐标。
YA?线型起算点的Y坐标。
CA?线型起算点切线方位角。
RA?第一曲线曲率,输入0。
匝道及螺旋线时输入上段曲线半径左负右正。
RB?第二曲线曲率,输入所要计算曲线的半径,左传为负右转为正,直线输0 。
DKA?线型的起点里程。
DKB?线型的终点里程。
DKI?要求点的里程。
DL?输入左边桩的距离。
可以0输入。
DR?输入右边桩的距离。
可以0输入。
DKI= 显示要求点里程。
X= 显示要求里程点的X坐标。
Y= 显示要求里程点的Y坐标。
XL= 显示要求里程点的左边桩X坐标。
YL= 显示要求里程点的左边桩Y坐标XR= 显示要求里程点的右边桩X坐标。
YR= 显示要求里程点的右边桩Y坐标说明:1、DKI?再次出现输入下一个要求的点的桩号,如果输入数据大于DKB?所输入的数据,则会再次出现RB?这时输入下一段线型的半径,直线输0,DKB?也会随后出现,这次出现输入下一段线型的终点里程桩号。
则可以正常运算其它桩号点的坐标。
2、本程序可以反复计算下一线型。
3、上述说明中线型是指曲线上的某一段,例如直缓点到缓圆点则为一段的线型。
如有不足之处请直出四、公路匝道坐标计算源程序L1 Lbl0:T“X1”U“Y1”C“AT”D“PA”E“PB”A“CH0”B“CHN”G“X0”I“Y0”:M:Lbl1:N=0:P=0:O=0:Q=0:S=0:{J}:J“CHI”L2 Lbl2:N=N+1:H=2(J-A)/M:F=NH/2+A:R=C+180/p´(D+(E-D)/2(B-A)´(F-A))(F-A):Int(N/2)=N/2=>O=O+cosR:P=P+sinR:¹>Q=Q+cosR:S=S+ sinRDL3 N=M=>Goto3:¹>Goto2DLbl3:X=G+H/6´(cosC+4Q+2O-cosR:Y=I+H/6´(sinC+4S+2P-sinR):X:“X=”ùY:“Y=”ù Pol(X-T,Y-U:Vù W<0=>W=W+360ù¹>WùDGoto1X1----测站点X坐标Y1----测站点Y坐标AT----曲线起点方位角PA----曲线起点曲率(当曲线右偏时,ρA取正;当曲线左偏时ρA取负。
)PB----曲线终点曲率(当曲线右偏时,ρB取正;当曲线左偏时ρB取负。
)CH0----曲线起点里程CHN----曲线终点里程X0----曲线起点X坐标Y0----曲线起点Y坐标M----求和累积次数n的2倍CH----曲线待测点里程X----曲线待测点X坐标Y----曲线待测点Y坐标V----测站至待测点间的距离W----测站至待测点间的方位角其中R=C+180/p´(D+(E-D)/2(B-A)´(F-A))(F-A)为(2)、(6)式的合并式,计算切线坐标方位角;O=O+cosR、P=P+sinR、Q=Q+cosR、S=S+ sinR、X=G+H/6´(cosC+4Q+2O-cosR、Y=I+H/6´(sinC+4S+2P-sinR)计算点位坐标。
由于累计时O=O+cosR、P=P+sinR分别多累加了一个cosR、sinR,所以在程序中(10)式最后一项前为负号。
五、坐标计算算例利用万家寨水利枢纽工程左岸上坝公路一段曲线验证复化辛普森公式坐标计算程序的正确性。
如图2:0+488.8~0+552.74为直线段,0+552.74~0+577.74及0+693.17~0+718.17为缓和曲线段,缓和曲线长为L0=25M,0+577.74~0+693.17为圆曲线段,R=85M。
在计算器中找到该程序,先输入直线段的起算数据,以里程0+488.8为起点,求得0+500.0点的坐标,然后分别以里程0+552.74、0+577.74为起点计算验证缓和曲线及圆曲线上各点的坐标。
与分别运用直线段、缓和曲线段、圆曲线段计算坐标的计算公式所计算的结果完全相同。
六、结论本文利用的式(10)是计算公路匝道点位坐标的通用公式。
当曲线的设计半径较小时,为保证点位计算精度,n(即程序中M的1/2倍)的取值可适当的大些。
利用上例验算的计算结果可以说明该程序对于公路的直线段、缓和曲线段、圆曲线段均实用。
上例在计算圆曲线起点(0+577.74)参数时,可利用计算缓和曲线终点(0+577.74)坐标后,在计算器中提取X、Y的数值即为圆曲线起点坐标值,提取R加360即为圆曲线起点方位角。
且程序中已算出待测点至测站的平距和方位角,可利用全站仪自由设站极坐标法放样,此方法放样速度快,准确率高。
参考文献:[1] 李孟山,李少元.计算公路匝道点位坐标的复化辛普森公式.测绘通报,2000.[2] 卡西欧FX-4500P计算器说明书.6CASIO4500缓和曲线、圆曲线、直线段坐标放样计算程序1、该程序适用于计算器CASVO fx-4500,可计算与线路中心成任意夹角的缓和曲线、圆曲线、直线段中、边桩坐标、切线方位角和放样计算程序。
2、PJ?输入转角:左转为负,右转为正3、R?输入圆曲线半径4、LS?输入缓和曲线长度5、A=?输入起始方位角6、XJ 、YJ?输入交点X、Y坐标7、X0、Y0?输入测站点X、Y坐标8、Z?输入交点桩号7、B?输入左右边距8、U 待求点切线方位角(大于360-360)9、W 放样点方位角10、XL、YL 放样点X、Y坐标11、如计算交角为60°时,则公式改为(U-60),(U+120)1 A“PJ”:R:C“LS”:D“JD”2 P=C∧2/24/R-C∧4/2688/R∧33 Q=C/2-C∧3/240/R∧24 B=90C/兀/R5 T=(R+P)tan(AbsA/2)+Q◢6 W=(R+P)/cos(A/2)-R7 L=(AbsA-2B)兀R/180+2C◢8 G=D-T◢9 H=G+C◢10 I=G+L/2◢11 K=G+L-C◢12 M=G+L◢13 N “A=” :E “XJ”:F“YJ”: X“X0=” : Y“Y0=”14 A<0=>S=-1:≠=>S=1⊿◢15 U=N+A/2+90S16 V=W+R17 J=N+VcosU18 O=E+VsinU19 Lbl 120 {Z}21 Z≤G=>L=T+G-Z22 V=F+18023 U=F24 Goto 2⊿25 Z≤H=>L=Z-G26 V=L-L∧5/(90R∧2C∧2)27 L=30L∧2S/(兀RC)28 W=N+18030 U=N+3L◢31 Goto 4⊿32 Z≤K=>L=N+A/2+90S+180+180(Z-I)S/R/兀33 U=L+90S◢34 Goto 5⊿35 Z≤M=>L=M-Z36 V=L-L∧5/(90R∧2C∧2)37 L=30SL∧2/(兀RC)38 W=N+A39 L=N+A+180-L40 U=N-3L+A◢41 Goto 4⊿42 Z>M=>L=Z-M+T43 U=F+A◢44 V=U45 Goto 2⊿46 Lbl 247 P=E+LcosV◢48 Q=F+LsinV◢49 Goto 3⊿50 Lbl 351 {B}52 P“XL”=P+Bcos(U+90) ◢53 Q“YL”=Q+Bsin(U+90) ◢54 Goto 655 Lbl 456 P=E+TcosW+ VcosQ◢57 Q=F+ TsinP+ VsinQ◢58 Goto 359 Lbl 560 P=J+R cosL61 Q=O+RsinL63 Lbl 664 L“L=”Po l((P-X),(Q-Y))65 W ≥0=>W“W=”W:≠=> W“W” =W+360⊿◢66 L=L◢67 Goto 1。