非对称型平曲线交点法坐标正算、桩号反算带数据库型计算程序
一、主程序prog "ROAD-2"
20→Dimz
"ZS=1,FS=2"?J
If J=1:Then Goto 0:Else Goto 4:IfEnd
Lbl 0 坐标正算
"KP"?P
Prog "ROAD-SUB2"
?D:"Angle"?H
"XB=":Z[11]+Dcos(Z+H)→X◢ 显示边桩坐标
"YB=":Z[12]+Dsin(Z+H)→Y◢ 显示边桩坐标
"BP=":Z◢ 显示切线方位角
Goto 0
Lbl 4 桩号反算
"KP"?P
Lbl 6
"XB"?U:"YB"?V
Lbl 5
Prog "ROAD-SUB2"
(V-Z[12])sinZ+(U-Z[11])cosZ→Z[13] 计算里程差
If AbsZ[13]≤0.001:Then
"K=":P◢
"D=":(V-Z[12])cosZ-(U-Z[11])sinZ→D◢ 计算左右偏距
Goto 6
Else P+Z[13]→P:Goto 5:IfEnd
二、子程序prog "ROAD-SUB1"
O/Abs(O)=W:Abs(O)=A
B^2/24/R-B^4/2688/R^3+B^6/506880/R^5→Z[6] 计算P1
C^2/24/R-C^4/2688/R^3+C^6/506880/R^5→Z[7] 计算P2
B/2-B^3/240/R^2+B^5/34560/R^4→Z[8] 计算q1
C/2-C^3/240/R^2+C^5/34560/R^4→Z[9] 计算q2
z[8]+(R+Z[7]-(R+Z[6])cosA)/sinA)→S 计算T1
z[9]+(R+Z[6]-(R+Z[7])cosA)/sinA)→T 计算T2
RAπ/180+(B+C)/2→L
L-B-C→Q
K-S→Z[1] ZH点桩号
Z[1]+B→Z[2] HY点桩号
Z[1]+L-C→Z[3] YH点桩号
Z[3]+C→Z[4] HZ点桩号
三、子程序prog "ROAD-SUB2"
Prog "ROAD-DATA1"
Prog "ROAD-SUB1"
M+O→N
F-ScosM→Z[11]:G-SsinM→Z[12]
If P≤Z[1]:Then F→Z[11]:G→Z[12]:P-K→Z[16]:0→Z[17]:M→A:M→Z:Goto 5:IfEnd (第一直线段中桩坐标和方位角)
If P≤Z[2]:Then P-Z[1]→L:L→Z[14]:B→Z[15]:Prog "ROAD-SUB3":WZ[17]→Z[17]:M→A:M+90WL^2/(BRπ)→Z:Goto 5:IfEnd(第一缓和段中桩坐标和方位角)
If P≤Z[3]:Then P-Z[1]→L:90(2L-B)/R/π→A:RsinA+Z[8]→Z[16]:W(R(1-cosA)+Z[6])→Z[17]:M+WA→Z:M→A:Goto 5:IfEnd (圆曲线段中桩坐标和方位角)
If P≤Z[4]:Then Z[4]-P→L:L→Z[14]:C→Z[15]:Prog "ROAD-SUB3":F+TcosN→Z[11]:G+sinN→Z[12]:-Z[16]→Z[16]:WZ[17]→Z[17]:N→A:N-90WL^2/(CRπ)→Z:Goto 5:IfEnd(第二缓和段中桩坐标和方位角)
F→Z[11]:G→Z[12]:P-Z[4]+T→Z[16]:0→Z[17]:N→A:N→Z(第二直线段中桩坐标和方位角)
Lbl 5 (坐标转换)
Z[11]+Z[16]cosA-Z[17]sinA→Z[11]
Z[12]+Z[16]sinA+Z[17]cosA→Z[12]
If Z<0:Then Z+360→Z:IfEnd
四、子程序prog "ROAD-SUB3"
If Z[14]=0:Then 0→Z[16]:0→Z[17]:Else
Z[14]-Z[14]^5/40/(RZ[15])^2+Z[14]^9/3456/(RZ[15])^4→Z[16]
Z[14]^3/6/(RZ[15])-Z[14]^7/336/(RZ[15])^3+Z[14]^11/42240/(RZ[15])^5→Z[17]
IfEnd
五、数据文件:
交点要素数据文件每行为一个交点范围段,逐句执行赋值,直至不满足、运行完成。
交点数据格式为If P≥HZ点或ZH点桩号:Then 交点桩号→K:交点X坐标→F:交点Y坐标→G:起始方位角→M:转角(左-右+)→O:半径→R:缓长1→B:缓长2→C
线路数据程序文件"ROAD-DATA1":
If P≥4695.549:Then 5065.776→K:2807696.195→F:475334.276→G:271°38′42.5″→M:-35°33′8.7″→O:950→R:130→B:150→C:IfEnd
李甲生
li