2024年4月13日发(作者:旅友易)
1. 主程序TYQX
Lbl 0: 1÷P→C: (P-R) ÷(2HPR) →D: If N=1 Then Goto1:Else Goto2:
IfEnd
Lbl 1: "Z"?Z: Abs(S-O) →W:Prog "SUB1": "XS=":X◢
"YS=":Y◢360Frac((F-90+360) ÷360→Z[1]: “QXFWJ=”:Z[1]
DMS◢
Prog"FY"
Return
Lbl 2:"X"?X: "Y"?Y:X→I:Y→J: Prog“SUB2”: “S=” :O+W→S◢“Z=”:
Z→Z◢Return
2. 正算子程序SUB1
0.1739274226→A: 0.3260725774→B: 0.→K: 0.3300094782→L:
1-L→F: 1-K→M:
U+W(Acos(G+Q(180÷∏) KW(C+KWD))+Bcos(G+Q(180÷∏)LW(C+LWD))+Bcos(G+Q
(180÷∏)FW
(C+FWD))+Acos(G+Q(180÷∏)MW(C+MWD))) →X: V+W(Asin(G+Q(180÷∏)
KW(C+KWD))+Bsin(G+Q(180÷∏)LW(C+LWD))+Bsin(G+Q(180÷∏)
FW(C+FWD))+Asin(G+Q(180÷∏)MW(C+MWD))) →Y:
G+Q(180÷∏)W(C+WD)+E→F: X+Zcos(F)→X: Y+Zsin(F)→Y :Return
2. 反算子程序SUB2
G-E→T: Abs((Y-V)cosT-(X-U)sin(T) →W: 0→Z:Lbl 0:Prog "SUB1":
T+Q(180÷∏)W(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)
<1E-6:Then Goto1:Else W+Z→W: Goto0 :IfEnd
Lbl 1 0→Z:Prog "SUB1" :
(J-Y) ÷sin(F)→Z :Return
数据库子程序TYQX-EP
Lbl 0:" => XY":" => SZ":? N:“J”?E:?S
IF S≤***(线元终点里程):Then***→O(线元起点里程):***→U(线元起点
X):***→V(线元起点Y)::***→G(线元起点方位角): ***→H(线元起点
至终点长度)***→P(线元起点曲率半径):***→R(线元终点曲率半径): 0
或1、-1→Q:Prog "TYQX":Goto1:IfEnd
。
Lbl 1: Return
„„„„„..
三、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中
线右
侧时,Z取正值。
(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于
圆
弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10
的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲
率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半
径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
输入部分:
1. SZ => XY
2. XY = > SZ
N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐
标反算里程和边距。
J°?输入夹角(正交90、斜交角度输入与路线前进方向右夹角)
S ?正算时所求点的里程,反算时为所求点的近似里程,反算时输入的近似里程
不能夸线元,若夸线元的话,需进行第二次反算,并以第一次的结果做为近似里
程,否则反算的里程及边距不对, Z ?正算时所求点距中线的边距(左侧取负,
值右侧取正值,在中线上取零)
反算夹角输入90,否则计算不了或错误
X ?反算时所求点的X坐标
Y ?反算时所求点的Y坐标
显示部分:
XS=××× 正算时,计算得出的所求点的X坐标
YS=××× 正算时,计算得出的所求点的Y坐标
FWJ=××× 正算时,所求点对应的中线点的切线方位角
S=××× 反算时,计算得出的所求点的里程
Z=××× 反算时,计算得出的所求点的边距
2024年4月13日发(作者:旅友易)
1. 主程序TYQX
Lbl 0: 1÷P→C: (P-R) ÷(2HPR) →D: If N=1 Then Goto1:Else Goto2:
IfEnd
Lbl 1: "Z"?Z: Abs(S-O) →W:Prog "SUB1": "XS=":X◢
"YS=":Y◢360Frac((F-90+360) ÷360→Z[1]: “QXFWJ=”:Z[1]
DMS◢
Prog"FY"
Return
Lbl 2:"X"?X: "Y"?Y:X→I:Y→J: Prog“SUB2”: “S=” :O+W→S◢“Z=”:
Z→Z◢Return
2. 正算子程序SUB1
0.1739274226→A: 0.3260725774→B: 0.→K: 0.3300094782→L:
1-L→F: 1-K→M:
U+W(Acos(G+Q(180÷∏) KW(C+KWD))+Bcos(G+Q(180÷∏)LW(C+LWD))+Bcos(G+Q
(180÷∏)FW
(C+FWD))+Acos(G+Q(180÷∏)MW(C+MWD))) →X: V+W(Asin(G+Q(180÷∏)
KW(C+KWD))+Bsin(G+Q(180÷∏)LW(C+LWD))+Bsin(G+Q(180÷∏)
FW(C+FWD))+Asin(G+Q(180÷∏)MW(C+MWD))) →Y:
G+Q(180÷∏)W(C+WD)+E→F: X+Zcos(F)→X: Y+Zsin(F)→Y :Return
2. 反算子程序SUB2
G-E→T: Abs((Y-V)cosT-(X-U)sin(T) →W: 0→Z:Lbl 0:Prog "SUB1":
T+Q(180÷∏)W(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)
<1E-6:Then Goto1:Else W+Z→W: Goto0 :IfEnd
Lbl 1 0→Z:Prog "SUB1" :
(J-Y) ÷sin(F)→Z :Return
数据库子程序TYQX-EP
Lbl 0:" => XY":" => SZ":? N:“J”?E:?S
IF S≤***(线元终点里程):Then***→O(线元起点里程):***→U(线元起点
X):***→V(线元起点Y)::***→G(线元起点方位角): ***→H(线元起点
至终点长度)***→P(线元起点曲率半径):***→R(线元终点曲率半径): 0
或1、-1→Q:Prog "TYQX":Goto1:IfEnd
。
Lbl 1: Return
„„„„„..
三、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中
线右
侧时,Z取正值。
(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于
圆
弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10
的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲
率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半
径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
输入部分:
1. SZ => XY
2. XY = > SZ
N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐
标反算里程和边距。
J°?输入夹角(正交90、斜交角度输入与路线前进方向右夹角)
S ?正算时所求点的里程,反算时为所求点的近似里程,反算时输入的近似里程
不能夸线元,若夸线元的话,需进行第二次反算,并以第一次的结果做为近似里
程,否则反算的里程及边距不对, Z ?正算时所求点距中线的边距(左侧取负,
值右侧取正值,在中线上取零)
反算夹角输入90,否则计算不了或错误
X ?反算时所求点的X坐标
Y ?反算时所求点的Y坐标
显示部分:
XS=××× 正算时,计算得出的所求点的X坐标
YS=××× 正算时,计算得出的所求点的Y坐标
FWJ=××× 正算时,所求点对应的中线点的切线方位角
S=××× 反算时,计算得出的所求点的里程
Z=××× 反算时,计算得出的所求点的边距