正算
Fix 4:? S :?Z :Prog “PM-SJ ”: Abs(S-O) → W :Prog "SUB1": "XS=" :X ◢ "YS=" :Y ◢
F-90→F :Pro g “SQX-SJ ”: Prog “SQX ”:“H=”:H ◢
反算
Fix 4: ? S :? X :?Y :Prog “PM-SJ ”: X → I : Y → J :Prog "SUB2": "S=" :O+W→S ◢
"Z=" :Z ◢
Prog “SQX-SJ ”:Prog “SQX ” :“H=”:H ◢
子程序(ZCXZ)
1÷P → C : (P-R)÷(2HPR) → D : 180÷π→ E : 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+FW
D))+Asin(G+QEMW(C+MWD))) → Y : G+QEW(C+WD)+90→ F : X+ZcosF→ X : Y+ZsinF → Y
子程序(ZCXF)
G-90→T : Abs((Y-V)cos T-(X-U)sin(T )) → W : 0→ Z :Lbl 0:Prog "SUB1": T+QEW(C+WD) →L : (J-Y)cos L-(I-X)sin L → Z :if Abs Z
W :Goto 0:IfEnd ←┘
Lbl 1: 0→ Z :Prog "SUB1": (J-Y)÷sin F → Z
数据库 SJQ
If S ≥21000And S <24242.49(线元止点里程):Then 4688621.278→U (线元起点X 坐标):603512.559 →V (线元起点Y 坐标):47016.736→O (线元起点里程):143.47.22.47→G (线元起点方位角):1567.632→H (线元长度):1200→P (线元起点曲率半径):800→R (线元终点曲率半径):0 →Q (线元左右偏标志:左负右正):IfEnd←┘
If S ≥48971.454(线元起点里程)And S <50492.578(线元止点里程):Then 4686877.732 →U (线元起点X 坐标):604789.129→V (线元起点Y 坐标):48971.454→O (线元起点里程):29/56/38.28/→G (线元起点方位角):532.571→H (线元长度):800→P (线元起点曲率半径):1400→R (线元终点曲率半径):1→Q (线元左右偏标志:左负右正):IfEnd←┘
If S ≥806.748(线元起点里程)And S <919.527(线元止点里程):Then 19766.566→U (线元起点X 坐标):28594.574→V (线元起点Y 坐标):806.748→O (线元起点里程):120°25°54.07°→G (线元起点方位角):112.779→H (线元长度):221.75→P (线元起点曲率半径):221.75→R (线元终点曲率半径):-1→Q (线元左右偏标志:左负右正):IfEnd←┘
If S ≥919.527(线元起点里程)And S <999.812(线元止点里程):Then 19736.072 →U (线元起点X 坐标):28701.893 →V (线元起点Y 坐标):919.527→O (线元起点里程):91°17°30.63°→G (线元起点方位角):80.285→H (线元长度):221.75→P (线元起点曲率半径):9579.228→R (线元终点曲率半径):-1→Q (线元左右偏标志:左负右正):IfEnd←┘
If S ≥999.812(线元起点里程):Then 19744.038 →U (线元起点X 坐标):28781.659→V (线元起点Y 坐标):999.812→O (线元起点里程):80°40°50°→G (线元起点方位角):100→H (线元长度):10^(45)→P (线元起点曲率半径):10^(45)→R (线元终点曲率半径):0 →Q (线元左右偏标志:左负右正):IfEnd←┘
子程序(竖曲线数据库)SQX-SJ
If S ≤999.812(竖曲线终点里程):Then 0.0357(前坡度:上坡正下坡负)→E :0.0227(后坡度:上坡正下坡负)→F :600→R (竖曲线半径):780→G (变坡点里程):110→C (变坡点高程):IfEnd←┘
子程序(竖曲线计算公式)SQX
E-F →J :If J >0:Then -R →R :Else R →R :Abs (R*J÷2)→T :IfEnd←┘ If S ≤G-T :Then G-S →L :C-LE →H :IfEnd←┘
If S >G-T And S ≤G :Then G-S →L :(S+T-G)²÷2÷R →N :C-LE+N → H :IfEnd←┘ If S >G And S ≤G+T : Then S-G →L :(G +T- S)²÷2÷R →N :C+LF+N → H :IfEnd ←┘
If S >G+T :Then S-G →L : C+LF → H :IfEnd←┘
三、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z 取负值;当位于中线中线右 侧时,Z 取正值。
(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
ifS ≤26770:Then-0.02→E:-0.03→F:35000→R:26520→G:314.175:IFend
ifS ≤27420:Then0.016→E:-0.02→F:12000→R:27200→G:300.575:IFend
ifS ≤27920:Then0.039→E:0.016→F:15000→R:27740→G:309.215:IFend