100→DimZ:”ZS=1,FS=2”?Q:”K+”?M
If Q=1:Then Goto A:Else Goto S:IfEnd
Lb1 S
“X1=”?S
“Y1=”?T
Lb1 A
If M<23285.856(第一缓和曲线起点):Then 22396.61(起点交点)→Z:3049173.247(起点X坐标)→A:121°1°16.97°(起点方位角)→C: C:236818.413(起点Y坐标)→B:1×1020(起点半径)→R:0(右转输入0,左转输入1)→F:0(起点缓和曲线长)→L:Goto 0:IfEnd
If M<23647.847(第二缓和曲线起点或圆曲线终点):Then 23285.856(第一缓和曲线起点)→Z:3048706.061(起点X坐标)→A:121°1°16.97°(起点方位角)→C:237595.285(起点Y坐标)→B:640(起点半径)→R:0(右转输入0,左转输入1)→F:180(缓和曲线长)→L:Goto 0:IfEnd
If M<23827.847(第二缓和曲线终点):Then 3048473.122(起点X坐标)→A:237868.071(起点Y坐标)→B: 145°22°16.81°(线元方位角)→C :(1÷640)(上一段曲率半径)→D: 1÷(1×1020)(下一段曲率半径)→E:23647.847(第二缓和曲线起点或圆曲线终点)→Z:23827.847→H:Goto H:IfEnd
If Q=2:Then 0→U:0→O: Else “U=”?U: “O=”?O:IfEnd
M-Z→Z[12]
If√(Z[12]2)<L:Then Goto 1:IfEnd
If√(Z[12]2)≥L:Then Goto 2:IfEnd
Lb1 1
Z[12]- Z[12]5÷40÷R2÷L2→Z[18]
(-1)F×((Z[12]3÷6÷R÷L)- Z[12] 7÷3366÷R3÷L3) →Z[19] A+ Z[18]cos(C)- Z[19]sin(C) →N
B+ Z[18]sin(C)+Z[19]cos(C) →W
C+90×(-1)F×Z[12]2◢(LRπ)→Z[14]
If Q=2:Then Goto F:IfEnd
N+Ucos(Z[14]+O) →X
W+Usin(Z[14]+O) →Y
“JSGC=1”?→Z[25]
If Z[25]=1:Then Prog “GAOCHEN”:IfEnd
“X=”:X◢
“Y=”:Y◢
Goto 3
Lb1 2
((Z[12]-L) ÷R+L÷(2R)) ×180÷π→Z[13]
Rsin(Z[13]+L÷2-L3÷240÷R2→Z[18]
(-1)F×(R×(1-cos(Z[13]))+ L2÷(24R)- L4÷2688÷R3) →Z[19] A+ Z[18]cos(C)- Z[19]sin(C) →N
B+ Z[18]sin(C)+Z[19]cos(C) →W
If R=1×1020:Then C→Z[14]:Else C+90×(-1) F×(2Z[12]-L) ÷R ÷π→Z[14]:IfEnd
If Q=2:Then Goto F:IfEnd
N+Ucos((-1)F×Z[13]+C+O) →X
W+Usin((-1)F×Z[13]+C+O) →Y
“JSGC=1”?→Z[25]
If Z[25]=1:Then Prog “GAOCHEN”:IfEnd
“X=”:X◢
“Y=”:Y◢
Goto 3
Lb1 H
(E-D)÷Abs(H-Z)→Z[15]
Abs(M-Z)→Z[16]
Z[15]×Z[16]→Z[17]
(C+90×Z[16](Z[17]+2×D)÷π)→Z[14]
(C+15×Z[16](Z[17]÷12+2×D)÷(2π)→Z[1]
(C+45×Z[16](3×Z[17]÷12+2×D)÷(2π)→Z[2]
(C+75×Z[16](5×Z[17]÷12+2×D)÷(2π)→Z[3]
(C+105×Z[16](7×Z[17]÷12+2×D)÷(2π)→Z[4]
(C+135×Z[16](9×Z[17]÷12+2×D)÷(2π)→Z[5]
(C+165×Z[16](11×Z[17]÷12+2×D)÷(2π)→Z[6]
(C+15×Z[16]( Z[17]÷6+2×D)÷π→Z[7]
(C+30×Z[16](2 Z[17]÷6+2×D)÷π→Z[8]
(C+45×Z[16]( 3Z[17]÷6+2×D)÷π→Z[9]
(C+60×Z[16](4 Z[17]÷6+2×D)÷π→Z[10]
(C+75×Z[16](5 Z[17]÷6+2×D)÷π→Z[11]
A+Z[16](cos(C)+4(cos(Z[1])+cos(Z[2])+cos(Z[3]+cos(Z[4])+cos(Z[ 5])+cos(Z[6]))+2(cos(Z[7])+cos(Z[8])+cos(Z[9]+cos(Z[10])+cos(Z[ 11]))+cos(Z[14]))÷36→N
B+Z[16](sin(C)+4(sin(Z[1])+sin(Z[2])+sin(Z[3]+sin(Z[4])+sin(Z[5] )+sin(Z[6]))+2(sin(Z[7])+sin(Z[8])+sin(Z[9]+ sin (Z[10])+ sin (Z[11]))+ sin (Z[14]))÷36→W
If Q=2:Then Goto F: Else “U=”?U: “O=”?O:IfEnd
Rec(U,Z[14]+O)
N+I→X
W+J→Y
“JSGC=1”?→Z[25]
If Z[25]=1:Then Prog “GAOCHEN”:IfEnd
“X=”:X◢
“Y=”:Y◢
Goto 3
Pol(S-N,T-W)
If (T-W)<0:Then –I→G:Else I→G:IfEnd
If J<0:Then J+360→J:IfEnd
J-Z[14] →P
If P<0:Then P+360→P:IfEnd
If Abs(I×cos(P))>0.005:Then M+(I×cos(P)) →M:Goto A:IfEnd
“K=”:M◢
“D=”:G◢
“JSGC=1”?→Z[25]
If Z[25]=1:Then Prog “GAOCHEN”:IfEnd
“X=”:X◢
“Y=”:Y◢
Goto 9
Lb1 3
“CZX=”?S: “CZY=”?T:
Pol(X-S,Y-T)
If J≤0:Then J+360→J:IfEnd
“S1=”:I◢
“A1=”:J▽DMS◢
Goto 9
子程序
If M<24317:Then 724.99→Z[21]:22900→K:-2.6÷100→Z[22]:1×1020→Z[23]:Goto N:IfEnd
If M<25043:Then 689.468→Z[21]:24317→K:-2.6÷100→Z[22]:-22000→Z[23]:Goto N:IfEnd
If M<25830:Then 682.571→Z[21]:25043→K:0.7÷100→Z[22]: 1×1020→Z[23]:Goto N:IfEnd
Lb1 N
Z[21]+(M-K) ×Z[22]-(M-K)2÷(2 ×Z[23]) →Z[24]
“GC=”:Z[24]◢
“YXG=”:? →Z[26]
“SR=”:? →Z[27]
If Q=1:Then U→Z[29]:Else G→Z[29]:IfEnd
IF Z[27]=0:Then 0→Z[29]:IfEnd
Z[26]+Z[24]+√(Z[27]2-Z[29]2) →Z[28]
“FY GAO=”:Z[28]◢
说明
Z[22] 纵坡
Z[23] 半径(凹为“-”凸为“+”)Z[21] 起算点高程。