高速公路平面坐标计算公式-定稿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标计算公式
A-回旋曲线参数”HXCS”
B-转角值”ZJZ”
C-判断是否继续计算?
D-直线段方位角”FWJ”
E-外矢距
F-缓圆点桩号”HY”
G-缓和曲线角
H-曲线段内点的切线角,如在缓和曲线段内β=(P-M)2/2A2
I-逐桩步长(即每多少米计算一个断面,用于逐桩计算。I=0表示单次计算)J-导线点N坐标”DXD-N”
K-导线点E坐标”DXD-E”
L-缓和曲线长
M-直缓点桩号”ZH”
N-缓直点桩号”HZ”
O-导线点桩号”DXD”
P-待求点桩号”DQD”
Q-曲线长
R-圆曲线半径”RAD”
S-切线加长
T-切线长
U-待求点边桩N坐标”BZ-N”
V-待求点边桩E坐标”BZ-E”
W-中边距”ZBJL”
X-待求点中桩N坐标”DQD-N”
Y-待求点中桩E坐标”DQD-E”
Z-圆曲线相对切线内移量
************************************************************ 计算方法:先根据桩号位置判断所在计算区间,然后调入相应区间的计算参数,进行计算。把各个区间的参数做成对应的子程序集,调入相应区间的计算参数其实就是调用相应的子程序,对计算参数进行初始化。注意:变量初始化和新的变量覆盖原变量的问题。(专用符号: )缓和曲线特征:ρl= RL=A 2
************************************************************ 计算过程:
一、第一直线段直接通过里程差和方位角计算待求点的中、边桩坐标。
二、第一缓和曲线段采用以ZH 点(直缓点)为原点,以通过该点的切线方向为Y
轴,法线为X 轴,建立直角坐标系,计算中桩坐标。边桩,以过待求点的切线方位角β=L 2/2A 2,(其中,L 为待求点到ZH 点的里程,A 为缓和曲线参数)可以计算出边桩的方位角和坐标,再转换成大地坐标系坐标。
三、圆曲线段采用以过HY 缓圆点的切线为Y 轴,以该点的法线为X 轴,建立直角
坐标系,计算圆曲线段内各点的中、边桩坐标,再转换成大地坐标系坐标。
四、第二缓和曲线段采用以HZ 点(缓直点)为原点,以通过该点的切线方向为Y
轴,法线为X 轴,建立直角坐标系,计算中桩坐标。边桩,以过待求点的切线方位角β=L 2/2A 2,(其中,L 为待求点到ZH 点的里程,A 为缓和曲线参数)可MAIN
CURVE HY-YH LINE
ZH-HY YH-HZ
PARAM-n
计算出边桩的方位角和坐标,(注意,Y坐标值的符号)再转换成大地坐标系坐标。
五、第二直线段以下一个导线点为基点,计算步骤同第一条,计算待求点坐标。
六、把各个ZH、HZ点坐标组合成数组,用于判断待求点位置和作为中间计算用。
七、曲线计算坐标与大地坐标转换公式:X=x o’+x p cosA-y p sinA Y=y o’+y p cosA+x p sinA
ZH-HY段:(注:A为以ZH点为原点的X轴方位角。向左转A为直线段方位角D-90°;向右转A为直线段方位角D+90°);HY-YH段:(注:A为以HY点为原点的X轴防卫角。向左转A为直线段方位角D-G-90°;向右转A为直线段方位角D+G+90°。);YH-HZ段:(注:A为以HZ点为原点的X轴方位角。向左转A为直线段方位角D+转角值B-90°;向右转A为直线段方位角D+转角值B+90°)
************************************************************
PARAM-n//初始化计算参数,每个程序存储一组参数。
LINE //待求点位置在直线段内的计算子程序,计算待求点的中桩、边桩坐标。CURVE //待求点位置在曲线段内的入口程序。判断在曲线的那部分,并调用相应的子程序进行计算。
ZH-HY //待求点位置在曲线段的直缓-缓圆内(第一缓和曲线段内),计算待求点的中桩、边桩坐标。
HY-YH//待求点位置在曲线段的圆曲线段内,计算待求点的中桩、边桩坐标。YH-HZ //待求点位置在曲线段的圆缓-缓直内(第二缓和曲线段内),计算待求点的中桩、边桩坐标。
************************************************************
Lbl 1: Defm 6 // 扩展6个字节的内存供数组变量使用即Z[1]~Z[6]用以存储ZH、HY、HZ点的坐标。
Z[1]=0:Z[2]=0:Z[3]=0:Z[4]=0:Z[5]=0:Z[6]=0:A=0:B=0:C=0:D=0:E=0: F=0:G=0:H=0:I=0:J=0:K=0:L=0:M=0:N=0:O=0:P=0:Q=0:R=0:S=0:T=0:U
=0:V=0:W=0:X=0:Y=0:Z=0//对所有变量初始化。
//以下为输入逐桩步长I、待求点P的桩号,并判断P点桩号是否小于0。
Lbl 2:{I,P}:I”ZZBC?”:P”DQD:”P<0=>Goto n+3≠=>Goto 3
Lbl 3:Prog “PARAMS-1”//调用子程序,初始化计算参数
Lbl 4:P≤N=>Goto n+1≠=>Prog “PARAMS-2”
Lbl 5:P≤N=>Goto n+1≠=>Prog “PARAMS-3”
Lbl 6:……
Lbl n:P≤N=>Goto n+1≠=>”ERROR”:Goto n+4 //n为第n个判断的行号,N为缓直点HZ桩号。调用相应的子程序对计算参数进行初始化,再与P点进行比对,确定P点的位置,主要是比较各个弯道的HZ点和P点的位置关系。
Lbl n+1:P≤M=>Prog “LINE”≠=>Prog “CURVE” //判断P点和ZH点的位置关系,并调用相应的子程序。
Lbl n+2:I=0=>Goto n+3≠=>Goto 2 //判断是否是逐桩计算。
Lbl n+3:{C}:C”CONTINUE? 1 YES / 0 NO:”:C=1=>Goto 2≠=>Goto n+4 Lbl n+4:Defm 0:”EXIT MAIN”//释放内存并退出程序