资源描述
5800 计算程序
主程序 QXJS
LbI 0: “1.SZ=>XY”:“2.XY=>SZ” “3.GC=>SQX”:? Q : Q=1=> Goto1:Q=2=>Goto2:Q=3 => Goto3
LbI 1: “CE:X”?G:“CEY:”?H:Prog“XLXY”: LbI A: “K = ” ?S: Prog“KM”:“-B,0,B=”? Z: “σ右交角=”?M:Prog“SUB1”: Fix 4:Cls
“X=”: Locate3,1,N◢
“Y=”: Locate3,1,E◢
Prog“JI”:Goto A
LbI 2: “X=”? B: “Y=”? C:B→N: C→E:Prog“SUB2”: “K =”:S◢
“-B,0,B=”:Z◢
Goto 0
LbI 3: 0→B: “H-B”?B:B→Z[9]: LbI D: Prog“XLXY”: “KM”?Z: Prog“KM”:“-B,0,B”?D:Prog“H”
Fix 5:“H=”:H-Z[9] →H◢
“I=”: I◢
Goto D
说明: Q: 代表正反算及竖曲线,其中 1 为正算, 2 为反算;3代表竖曲线; S: 代表里程; Z :代表偏移距离; M :代表偏移角度(以线路前进方向为 X 方向,顺时针转为正; N : X 坐标; E : Y 坐标; F :切线方位角;
SUB1 正算子程序
0.5 ( 1÷R-1÷P) ÷L→D:S-O→X
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N
V+∫( sin(A+(X÷P+DX2)×180÷π,0,X)→E
A+(X÷P+DX2)×180÷π→F
N+Zcos(F+M) →N:E+Zsin(F+M) →E
Return
SUB2 反算子程序
Lbl 1:0→Z : 1→Q : Prog“KM”: Prog“SUB1”
Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-90-J) →W:S+W→S
If Abs(W)>0.0001 :Then Goto1
Lbl 2: 0→Z : Prog“SUB1”:(C-E) ÷sin(F+90) →Z
次程序JI
Clstat
Pol(N-G,-E-H):Cls
If J<0:Then J+360→Y:Ease J→Y:Ifend
“F J L=”:I◢
“F W J=”:Y▲ DMS ◢
XLXZ(线路选择)
1→I:“XLXZ:Z=1:A=2,B=3,C=4,D=5,E=6,F=7,L=8”?I: I →Z[1]: IF I =0:Then Goto 0:Else Goto 1:IfEnd
LbI 0 : “F”?A: “QDZH”?O: “X”?U: “Y”?V: “R1”?P: “R2”?R:
“L”?L: Goto 1
LbI 1
SUB0 ( 数据库 )
Goto1 ↙
Lbl 1
IF S<157687.528:Then 157547.528→o :2884169.2517→U:471475.6573→V: 98 °32 ′43.08 ″→A:10^45→P:10000;→R:140→L: Return:IfEnd
说明: S :里程; O 为线元起点里程; U 为线元起点 X 坐标;V 为线元起点 Y 坐标; A 线元起点切线方位角; P 线元起点半径(左转为负右转为正); R 线元终点半径(左转为负右转为正)
高程计算子程序(H)
程序名:H
Prog “S1”:C-T→F:Z-F→S:C+T→E:G-TI→Q:If T=O:Then Q+SI→H:Goto 0:Else If Z<F:Then Q+SI→H:Goto 0:Else If Z≤E:Then Q+SI+S2÷2÷R→H:Goto 0:
LbI 0:H:If D=0:Then Goto I:Else Prog“I”:H+V→H:Goto I
LbI I
高程超高计算程序(I)
程序名:I
If Z[3]=1:Then Prog “I1”:Goto 1: IfEnd
LbI 1: If W=1:Then Goto Z:Else Goto X: IfEnd
LbI Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:
LbI X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEnd
LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V
②-1程序名:S1(线路1高程竖曲线要素子程序)
If Z[1]=1:Then Goto 1:Else If Z[1]=2:Then Prog“SA”: Else If Z[1]=3:Then Prog “SB”: Else If Z[1]=4: Then Prog“SC” : Else If Z[1]=5:Then Prog“SD”: Else If Z[1]=6: Then Prog“SE” : Else If Z[1]=7:Then Prog“SF”: Else If Z[1]=8:Then Prog“SL”:IfEnd
Goto 1
LbI 1
If Z≤26157.8:Then -200000→R:157.8→T:26000→C:37.1→G:0.01222→I:Return:IfEnd
程序字母说明:R-竖曲线半径(分正负:凹曲线为正,凸曲线为负);T-竖曲线切线长(标段结尾或开头没有竖曲线的输0);C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);I-竖曲线前纵坡
③-1程序名:I1(线路1高程超高参数子程序)
If Z[1]=1:Then Goto L:Else If Z[1]=2:Then Prog“IA”: Else If Z[1]=3:Then Prog “IB”: Else If Z[1]=4: Then Prog“IC” : Else If Z[1]=5:Then Prog“ID”: Else If Z[1]=6: Then Prog“IE” : Else If Z[1]=7:Then Prog“IF”: Else If Z[1]=8:Then Prog“IL”:IfEnd
1.5→K:If D<0:Then Goto L:Else Goto R:IfEnd:
LbI L
If Z≤26735.555:Then 1→W: 120→S:26615.555→C:-0.02→M:0.02→N:Goto 0:IfEnd
LbI R
If Z≤26735.555:Then 1→W:0→S:-0.02→M: Goto 0:IfEnd
LbI 0
字程序中字母表示说明:
K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0)本线路中为0;W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);S-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)
H (高程主程序)
Fix 3 : Lb1 3: “ K=” ?Z: Prog“SQX”:(P-Q) ÷ Abs(P-Q) →W
If Z<(H-T):Then(H-Z) × P →X:Goto 2:IfEnd
If Z ≥ (H-T) And Z<H:Then (H-Z) × P+(Z-H+T)2 ÷ (2WR) →X:Else (H+T-Z)2 ÷ (2WR)-(Z-H) × Q→X: Goto 2:IfEnd
Lb1 2: ” GAO CHENG= ” D-X →X ◢
Goto 3
SQX (竖曲线数据库)
Goto 1
Lb1 1
IfZ≤157893.75:Then25000→R:93.75→T:157800→H:421.977→D:-0.0045→P:0.003→Q:Return:IfEnd
说明: Z代表竖曲线终点里程, R 代表竖曲线半径; T 代表竖曲线切长; D 代表变坡点标高(未改正之前); P 代表前段坡度,上坡为正,下坡为负; Q 代表后段坡度,上坡为正,下坡为负;
展开阅读全文