主程序(自己给取个名吧)
2→Dimz
“1.SZ=﹥XY
2.XY=﹥SZ”◢
“N=”?N
If N=1:Then Goto 1:Else Goto 2:IfEnd
Lbl 1
“S=”?S
“Z=”?Z
“J=”?T
If S﹤0:Then Prog “SYL”:Else Prog “SYR”:IfEnd(可拿掉)
1÷P→C:(P-R) ÷(2HPR)→D:180÷∏→E:Abs(Abs(S)-O)→W:Prog “SUB1”
“QJ=”:Z[1]◣DMS◢
“X=”:X◢
“Y=”:Y◢
Goto 1
Lbl 2
“S=”?S
If S<0:Then Prog “SYL”:Else Prog “SYR”:IfEnd(可拿掉)
90→T
1÷P→C:(P-R) ÷(2HPR)→D:180÷∏→E
“X=”?X
“Y=”?Y
X→I:Y→J
Prog “SUB2”
O+W→S(红色加粗加下画线为字母,常规为零)
“S=”:S◢
Z→Z
“Z=”:Z◢
Goto 2
子程序(SUB1)
0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X
V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y
G+QEW(C+WD)→Z[1]
Z[1]+T→F
X+Zcos(F)→X
Y+Zsin(F)→Y
Return
子程序(SUB2)
G-90→Z[2]:Abs((Y-V)cos(Z[2])-(X-U)sin(L)→W:0→Z
Lbl 0
Prog “SUB1”
Z[2]+QEW(C+WD)→L
(J-Y)cos(L)-(I-X)sin(L)→Z
If Abs(Z)<10(-6):Then Goto 1:EIse W+Z→W:Goto 0:IfEnd
Lb1 1
0→Z:Prog “SUB1”
(J-Y)÷sin(F)→Z
Return
数据库(SYR)
If S>29599.031(本段线元计算范围起点里程) And S≤29759.031(本段线元计算范围终点里程):Then 3311072.206(本段线元起点X坐标)→U:502909.1014(本段线元起点Y坐标)→V: 29599.031(本段线元起点里程)→O:256-25-59.11(本段线元起点方位角)→G:160(本段线元长度)→H:1400(本段线元起点半径)→P:10(45)(本段线元终点半径)(直线段为10的45次方)→R:-1(线元转向标识)(左偏为-1,右偏为1,直线为0)→Q:IfEnd
输入说明
正算 1 输入 N:输入1进入计算坐标模式
S:里程桩号
Z:偏距
J:与线路角度
2 显示 QJ:切线方位角
X:X坐标
Y:Y坐标
反算 1 输入 N:输入2进入坐标反算里程偏距模式
S:输入相近里程
X:输入X坐标
Y:输入Y坐标
2 显示 S:反算出的里程桩号
Z:反算出的偏距