曲线任意里程中边桩坐标正反算(5800修订版)

合集下载

5800曲线道路全线坐标正反算(已验证)

5800曲线道路全线坐标正反算(已验证)

CASIO fx-5800P线元法坐标正反算程序V2.0说明:本程序适用于卡西欧计算器 CASIO fx-5800P,可对全线贯通坐标正反算、竖曲线高程计算。

该程序可计算任意线型,包含(直线、圆曲线、缓和曲线、卵形曲线)等,还可以能通过坐标反推该点里程和距中线距离,适用测量员专用。

主程序名:ABCYT第1步Deg:Fix 3:10→DimZ第2步Lbl 3:"1.DK=>XY":"2.XY=>DK":"Q"?W:"K0+"?S:Prog"ABCYTSJ":If P=0:Then 10^(45)→P:IfEnd:If R=0:Then 10^(45)→R:IfEnd第3步1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If W=1:Then Goto 1:Else Goto2:IfEnd第4步Lbl 1:"E"?Z90=N:Abs(S-O)→W:Prog "ABCYTZ"第5步Cls:"F=":Locate 3,1,F°:"X=":Locate 3,2,X:"Y=":Locate 3,3,Y◢第6步Prog"ABCYTSQX":Cls:"H=":Locate 3,1,H◢第7步1→W:90→N:Goto 3第8步Lbl 2:?X:?Y:X→I:Y→J:Prog"ABCYTF":O+W→S第9步Cls:"K=":Locate 3,1,S:"E=":Locate 3,2,Z◢第10步2→W:Goto 3正算子程序名:ABCYTZ第1步0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L第2步1-L→F:1-K→M第3步U+W×(A×cos(G+Q×E×K×W×(C+K×W×D))+B×cos(G+Q×E×L×W×(C+L×W×D))+B×cos(G+Q×E×F×W×(C+F×W×D))+A×cos(G+Q×E×M×W×(C+M×W×D)))→X第4步V+W×(A×sin(G+Q×E×K×W×(C+K×W×D))+B×sin(G+Q×E×L×W×(C+L×W×D))+B×sin(G+Q×E×F×W×(C+F×W×D))+A×sin(G+Q×E×M×W×(C+M×W×D)))→Y第5步G+Q×E×W×(C+W×D)→F:F+ N→Z[1]第6步X+Z×cos(Z[1])→X:Y+Z×sin(Z[1])→Y反算子程序名:ABCYTF第1步Lbl 2:(S-O)→W:0→Z:Prog "ABCYTZ":F-90→Z[9]:(J-Y)×cos(Z[9])-(I-X)×sin(Z[9])→Z[10]第2步If Abs(Z[10])>0.001:Then S+Z[10]→S:Goto 2:Else Goto 1:IfEnd第3步Lbl 1:(Y-J)÷sin(Z[9])→Z数据库名:ABCYTSJ第1步Goto1第2步Lbl 1:If S<7586.707 Or S>13346.96:Then Cls:Locate 2,2,"PQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢第3步Stop:IfEnd第4步Lbl 1:IF S<7946.707:Then 98°56′56″→G:7586.707→o:3378605.445→U:453648.704→V:0→P:4500→R:360→H:1→Q:Return:IfEnd第5步Lbl 1:IF S<11766.03:Then 101°14′26″→G:7946.707→o:3378544.714→U:454003.518→V:4500→P:4500→R:3819.323→H:1→Q:Return:IfEnd第6步Lbl 1:IF S<12126.03:Then 149°52′11″→G:11766.03→o:3376389.890→U:457018.324→V:4500→P:0→R:360→H:1→Q:Return:IfEnd第7步Lbl 1:IF S<13346.96:Then 152°09′41.68″→G:12126.03→o:3376073.846→U:457190.654→V:0→P:0→R:1220.93→H:0→Q:Return:IfEnd第n步……………………………………………………数据输入说明:第1步Goto1第2步Lbl 1:If S<本条线路起点里程S>本条线路止点里程Cls:Locate 2,2,"PQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢第3步Stop:IfEnd第4步Lbl 1:If S<本线元止点里程:Then线元起点切线方位角→G:线元起点桩号→O:线元起点坐标X→U:线元起点坐标Y→V:线元起点半径(直线为0、曲线为半径)→P:线元止点半径(直线为0、曲线为半径)→R:线元长度→H:线元转向(左转为-1、右转为1、直线为0)→Q:Return:IfEnd第n步Lbl 1:每增加一行则为增加一个线元要素。

5800交点法正反算程序

5800交点法正反算程序

If N=1: T hen Goto 5: Else prog
“ Z:SXH”
Goto 6: If end ↙
LbI5: “ X” ?M: “ YP”rog?Z “ FSXH” : Goto 7: If en↙d选择反算后输入测点的 X,Y 假设里 程与正算输入一起,无需另输入 LbI6 : “ W” ?W求边桩输入边距 左=”◢:X显示所求 X 值 Y+WSin(P+90) → Y: “ Y=”◢ :Y显示所求 Y 值 P<0 => P+360 → P: “ FW=◢” :P显示所求点切线方位角 Goto 4 LbI7: “ KCD=” :◢K 显示反算出的里程 “ W=” :W◢ 显示反算出的边距 Goto 4↙
子程序 “C” X+Z[1]*cos( O) →X↙ Y+Z[1]*sin( O) →Y↙ Return↙
圆曲线要素计算子程序 “D” L*180 ÷ ( ∏ R) →↙N 2R*sin(N ÷ 2) → Z[1↙] P+(Abs(S) ÷ S)(N ÷ 2O)↙→ P+Abs(S) ÷ S→↙P Return↙。。。。。
反算循环子程序 “FSXH” LbI 0: prog “ ZSX↙H” PoL((M-X),(Z-Y)) ↙ I*cos(J- P) →N↙ I*sin(J- P) →W↙ If N<0.00 1: Then N+K → K:Return: Else K+N → K:Goto 0: If e↙nd Return↙
主程序 “ZS FS”
20→ Dim Z
“ 1→ NEW,2→ OLD”? Z ↙
IF Z=1:Then Goto 1: Else Goto 2 if end ↙ 选择输入 选一手动输入曲线要数 选二提取数 据库

5800计算对称缓和曲线任意里程中、边桩坐标及其反算并进行断面分析(修改)

5800计算对称缓和曲线任意里程中、边桩坐标及其反算并进行断面分析(修改)

5800计算对称缓和曲线任意里程中、边桩坐标及其反算并进行断面分析一、数据准备1(SUB1)178°14′25.7″→A …起始方位角24834.9621→M …交点X坐标122263.0203→N …交点y坐标33240.160→D …直缓点桩号49°35′8″→B …转角411.172→L …曲线总长65→G…缓和曲线长217.461→T…切线长400→R…半径-1→C…转向左转曲线为-1右转曲线为1-0.16→E…偏移值左偏为-1右偏曲线为133686.189→H…来桩桩号33700.000→K …去桩桩号12.583→Z[20]…变坡点高程33800→Z[21]…变坡点桩号5000→Z[22]…竖曲线半径-0.025→Z[23]…前坡坡度-0.0058→Z[24]…后坡坡度Prog”JS”左线数据2(SUB2)178°14′25.7″→A24831.3338→M122246.4239→N33243.277→D49°35′8″→B411.172→L65→G217.461→T400→R-1→C-0.16→E0→H0→K12.238→Z[20]33800→Z[21]5000→Z[22]-0.025→Z[23]-0.005→Z[24]Prog”JS”右线数据3(SUB3)2.88→Z[31]…第一部分圆弧半径5.43→Z[32]…第二部分圆弧半径1.58→Z[33]…第三部分圆弧半径3.29123→Z[34]…第四部分圆弧半径180°→Z[35]…第一部分圆弧夹角21°27′25″→Z[36]…第二部分圆弧夹角31°24′13″→Z[37]…第三部分圆弧夹角37°08′22″→Z[38]…第四部分圆弧夹角0→Z[39]…第一部分圆弧X坐标0→Z[40]…第一部分圆弧Y坐标-2.55→Z[41]…第二部分圆弧X坐标0→Z[42]…第二部分圆弧Y坐标1.033→Z[43]…第三部分圆弧X坐标-1.408→Z[44]…第三部分圆弧Y坐标0→Z[45] …第四部分圆弧X坐标-0.044→Z[46]…第四部分圆弧Y坐标断面数据二、计算部分QXJS(程序引导部分)“1.SZ=>XY”“2.XY=>SZ”50→DimZ“N”?Q“1→Z”“2→Y”“M”?TIf I=1:Then Prog “1”:Else Prog”2”:IfEndJS(主程序)“FWJ”?A …起始方位角“X→JD”?M …交点X坐标“Y→JD”?N …交点Y坐标“ZHDZH”?D …直缓点桩号“A”?B …转角“L”?L …曲线总长“LS”?G …缓和曲线长“T”?T …切线长“R”?R …半径“CC”?C …转向左转曲线为-1右转曲线为1 “PYZ”?E …偏移值“LZ”?H …来桩桩号“QZ”?K …去桩桩号If Q=1:Then Goto 1:Else Goto 2:IfEndLb1 1“ZHUANGHAO”?FIf (K-H)>0 And F≧K:Then F-(K-H) →F:IfEndIf (K-H)<0 And F<0:Then Abs(F) →F:IfEndIf (K-H)≦0 And F≧K:Then F-(K-H) →F:IfEnd“PIANJU”?O …负值表示左偏,正值表示右偏Prog“SUB1-1”“QXFWJ=”:Z[16]◤DMS◢If O>0:Then“XR=”:Z[10]◢“YR=”:Z[11]◢IfEndIf O<0:Then“XL=”:Z[10]◢“YL=”:Z[11]◢IfEndIf O=0:Then“X=”:Z[10]◢“Y=”:Z[11]◢IfEndGoto 1Lb1 2“X”?JJ→Z[1]“Y”?II→Z[2]“Z”?JJ→Z[49]Prog“SUB1-2”If F>H And (K-H)>0: Then F+(K-H) →F: IfEndIf F>K And (K-H)<0 And F<H: Then -F →F: IfEndIf F≧H And (K-H)<0: Then F+(K-H) →F: IfEnd“S”:F◢“PIANJU”:I-Z[9]◢“QXFWJ=”:Z[16]◤DMS◢Prog“SQXJS”Prog“CQFX”“GMGC”:Z[28] ◢1.995→Z[30]“QGXBG”:Z[28]+Z[30] ◢“C OR Q”:Z[47]Goto 2SUB1-1(正算程序部分)If F<D:ThenGoto 5:IfEndIf F>D+L:ThenGoto 6:IfEndF-D→Z[12]If Z[12]≦G:ThenGoto 1:IfEndIf Z[12]<(L-G) And Z[12]>G:ThenGoto 2:IfEndIf Z[12]≧(L-G):ThenD+L-F→Z[12] Goto 1:IfEndLb1 1Z[12]-Z[12]^5÷(40×R^2×G^2)+Z[12]^9÷(3456×R^4×G^4)-Z[12]^13÷(599040×R^6×G^6)→Z[1 7]Z[12]^3÷(6RG)-Z[12]^7÷(336×R^3×G^3)+Z[12]^11÷(42240×R^5×G^5)-Z[12]^15÷(8985600×R ^7×G^7)→Z[18]If (F-D)<(L-G):ThenGoto 3:ElseGoto 4:IfEndLb1 2Rsin((Z[12]-0.5G)÷R×180÷PI)+G÷2-G^3÷240÷R^2→Z[17]R(1-cos((Z[12]-0.5G)÷R×180÷PI))+G^2÷24÷R→Z[18]E→Z[9]Goto 3Lb1 3M+Tcos(A+180)+Z[17]cos(A)-CZ[18]sin(A)→Z[13]N+Tsin(A+180)+Z[17]sin(A)+CZ[18]cos(A)→Z[15]IfZ[12]≦G:ThenA+CZ[12]^2÷(2RG)×180÷PI→Z[16]:ElseA+C×(Z[12]-0.5G)÷R×180÷PI→Z[16]:I fEnd(F-D)×E÷G→Z[19]Goto 7Lb1 4M+Tcos(A+CB)+Z[17]cos(A+CB+180)+CZ[18]sin(A+CB+180)→Z[13]N+Tsin(A+CB)+Z[17]sin(A+CB+180)-CZ[18]cos(A+CB+180)→Z[15]A+CB-C×Z[12]^2÷(2RG)×180÷PI→Z[16](D+L-F)×E÷G→Z[9]Goto 7Lb1 5M+(D+T-F)cos(A-180)→Z[13]N+(D+T-F)sin(A-180)→Z[15]A →Z[16]O→Z[9]Goto 7Lb1 6M+(F-D-L+T) cos(A+CB)→Z[13]N+(F-D-L+T) sin(A+CB)→Z[15]A+CB→Z[16]O→Z[9]Goto 7If O<0:Then-1→Z[14]:Else1→Z[14]:IfEndZ[13]+Abs(O+Z[9])cos(Z[16]+90Z[14])→Z[10]Z[15]+Abs(O+Z[9])sin(Z[16]+90Z[14])→Z[11]SUB1-2(反算程序部分)Pol(Z[1]-M-Tcos(A+180),Z[2]-N-Tsin(A+180))J→Z[7]Pol(Z[1]-M-Tcos(A+CB),Z[2]-N-Tsin(A+CB))I→Z[8]If Z[7]≦Z[8]:ThenGoto 1:ElseGoto 2:IfEndLb1 1M+Tcos(A+180)→Z[13]N+Tsin(A+180)→Z[15]D→FA→Z[16]Goto 3Lb1 2M+Tcos(A+CB)→Z[13]N+Tsi n(A+CB)→Z[15]D+L→FA+CB→Z[16]Z[16]≧360=>Z[16]-360→Z[16]Goto 3Lb1 3Pol(Z[1]-Z[13],Z[2]-Z[15])J→Z[5]I→Z[6]Z[5]≦0=> Z[5]+360→Z[5]Z[5]-Z[16]→Z[3]Z[6]×cos(Z[3])→Z[4]If Abs(Z[4])≧10^-6:Then F+ Z[4]→FProg“SUB1-1”Goto 3: IfEndZ[3]<0=>-1×I→ISQXJS(竖曲线计算部分)If F<H:Then F+(K-H)→F:IfEndAbs(0.5×Z[22]×Z[23]-Z[24])) →Z[26]If Z[23]-Z[24]>0:Then -1→Z[29]:Else 1→Z [29]:IfEndIf F≦Z[21]:Then Z[20]+Z[23]×(F-Z[21])→Z[25]:If F>Z[21]-Z[26]:Then Z[25]+Z[29]×(F-(Z[21]-Z[26]))2÷(2×Z[22]) →Z [28]:Else Z[25] →Z [28]:IfEndIf F>Z[21]:Then Z[20]+z[24]×(F-Z[21]) →Z[25]If F>Z[21]+Z[26]:Then Z[25]+Z[29]×(F-(Z[21]+Z[26]))2÷(2×Z[22]) →Z[28]: Else Z[25] →Z [28]: IfEnd: IfEndCQFX(超欠分析部分)Z[49]-(Z[30]+Z[28]) →Z[48]If Z[48]≧0:Then √((Abs(I-Z[9])-Z[39])2+(Z[48]-Z[40])2)-Z[31] →Z[47]:IfEndIf Z[48]≧-Z[32]×sin(Z[36]) And Z[48]﹤0:Then √((Abs(I-Z[9])-Z[41])2+(Z[48]-Z[42])2)-Z[32] →Z[47]:IfEndIf Z[48]≧-Z[34] ×cos(Z[38])+Z[46] And Z[48]﹤-Z[32]×sin(Z[36]): Then √((Abs(I-Z[9])-Z[43])2+(Z[48]-Z[44])2)-Z[33] →Z[47]: IfEndIf Z[48]﹤-Z[34] ×cos(Z[38])+Z[46] : Then √((Abs(I-Z[9])-Z[45])2+(Z[48]-Z[46])2)-Z[34] →Z[47]:IfEnd三、断面示意图说明:本程序可以进行曲线上的正反算及竖曲线上的标高计算,支持长、短链,自动计算曲线上内移部分,能进行断面的超欠分析。

5800交点法正反算坐标(自己修改) 2

5800交点法正反算坐标(自己修改) 2

FX5800计算器交点法正反算程序输入图纸中的整个标段交点要素,输入桩号及距中桩距离正算本标段任意点坐标,及极坐标放样的方位角及距离;由输入大概桩号及实测坐标,反算准确桩号及距中桩距离。

(绿色为程序名,蓝色为输入计算器里的内容)1、主程序程序名:1XY-KMLbI 0:7→DimZ:Norm 2:1→A:"A:X,Y=1,KM,D=2"?A:A=1=>Goto 1:A=2=>Goto 2:LbI 1:LbI A:Prog"QX":90→B:"PJ"?B:B→Z[1]:LbI B:"KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A: Prog"X1":?D: Prog "Z":I+D×COS(Z[2]+Z[1]→X: J+D×Sin(Z[2]+Z[1]→Y: Fix 3:"X=":Locate 6,4,X:"Y=":Locate 6,4,Y:“FWJ”: Locate 6,4,Z[2]◢Goto B:LbI 2:Prog"QX":"KM"?Z:LbI C: Prog"X1": "XO"?X: X=-1=>Goto 0:X=-2=>Goto 2: "Y0"?Y:Prog "ZX": Fix 3:"KM=":Locate 6,4,Z:"D=":Locate 6,4,D◢Goto C2. 交点法正算子程序(JDF-ZS)程序名:JDF-ZSH2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R÷Sin(Abs(P))-((H∧(4)-N∧(4))÷2688÷R ∧(3))÷Sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B-E→T:P÷Abs (P→W:0→M:H→C: (R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan (Abs(P)÷2)+N÷2-N∧(3)÷240÷R2+E→Z[6]: O -T+ΠR×Abs(P)÷180+H÷2-N÷2→Z[7]:If Z≤O -T:Then Z-O→S:G→Z[2]:Goto 1: IfEnd: If Z≤O -T+H:Then Z- O +T→S:Prog “HX”:G+WK→Z[2]:A-T→A:G→E:Goto 2:IfEnd:If Z≤Z[7]:Then 180(Z- O +T-0.5H)÷R÷Π→S : A+R(1-Cos(S))→B:H ÷2-H∧(3) ÷240÷R2+Rsin(S)→A:R→M:G+WS→Z[2]: A-T→A:G→E :Goto 2: IfEnd:If Z≤Z[7]+N:Then Z[7]+N-Z→S:Z[6]→T :N→H:Prog “HX”: G+P→E:E-WK→Z[2]:T-A→A:C→H:Goto 2:IfEnd:Z-Z[7]-N+Z[6]→S:G+P→Z[2]: LbI 1:U+Scos(Z[2])→I:V+Ssi n(Z[2]→J: Return:LbI 2:U+Acos(E)-WBsin(E→I:V+ASin(E)+ WBcos(E→J3. 交点法缓和段子程序(JDF-HX)程序名:JDF-HXS-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4) ÷H∧(4→A:S∧(3) ÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5)÷H∧(5→B:90S2÷Π÷R÷H→K:RH÷S→M4. 交点法反算子程序(JDF-FS)程序名:JDF-ZX0→D:Do:Z+D→Z:Prog“Z”:Pol(X-I,Y-J+.000000001:J-Z[2]→J:Isin(J→S:Icos(J→D: If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D)>0.001:Z+D→Z:S→D5.线路选择子程序(线路选择输0时。

5800匝道通用中边桩正反算程序

5800匝道通用中边桩正反算程序

卢海源5800计算器匝道中边桩万能正反算程序主程序匝道坐标正反算程序名称:ZDZBZFSLB1 A↙Cls : Fix 4 : 10→Dim Z :"0=ZS,1=FS"?Z ↙If Z=0:Then Goto B:IfEnd↙(Z=0进入里程点坐标正算)If Z=1:Then Prog"FSLCBZ 1": Goto A:IfEnd↙(Z=1进入反算里程边桩)Lb1 B ↙“K=”?K :(计算里程)Prog"SJK2 ":Prog” ZDZBFY1” :Goto A↙子程序数据库 SJK2If K<第一线元终点里程:THEN 线元起点X→A:线元起点Y→B:线元起点半径(直线为1045)→T:线元起点里程→D:线元起点方位角→E:线元终点半径(直线为10 45)→U:线元终点里程→G:线元偏向(左偏-1右偏+1)→W:Prog” ZDZBZS”: Return :IfEnd↙If………………………………Prog” ZDZBZS”: Return :IfEnd↙(匝道线元数据分段输入)子程序匝道坐标正算 ZDZBZSW*T→C:W*U→F:0→I:0→J:(C-F)/(2*C*F*(G-D))→H:K-D→Z[1]:E+( Z[1]/C+H Z[1]2)×180/π→V:V<0=>V+360→V:A+∫(Cos(E+( Z[1]/C+H Z[1]2)*180/π,0,Z[1])→Z[3] :B+∫(Sin(E+( Z[1]/C+H Z[1]2)*180/π,0,Z[1])→Z[4]:Return↙子程序匝道坐标放样ZDZBFY1"XZJ="?R◢ (输入置镜点X)"YZJ="?S◢ (输入置镜点Y)"XHS="?M◢(输入后视点X)"YHS="?N◢(输入后视点Y)Pol(M-R,N-S):J<0=>J+360→J:"HJ=":J→DMS◢(后视方位角)"HD=":I◢(后视距离)"XI=": Z[3]◢(计算点中心X)"YI=": Z[4]◢(计算点中心Y)"PJ="?P◢(输入计算点边桩偏角左-右+)"PD="?Q◢(输入计算点边桩偏距)Rec(Q,V+P): Z[3]+I→Z[7] : Z[4]+J→Z[8]:"XP=": Z[7]◢(计算点边桩X)"YP=": Z[8]◢(计算点边桩Y)Pol(Z[7]-R, Z[8]-S):J<0=>J+360→J:"FYJ=":J→DMS◢(放样方位角)"FYD=":I◢(放样距离)Return↙子程序反算里程边桩,名称:FSLCBZ1Lb1 1↙"XK="?X:"YK="?Y↙(输入任意测点的XY坐标):“K?=”?K (试算里程,输入匝道范围内任意里程点号,接近里程号可以加快反算速度)↙Lb1 2↙Prog"SJK2 ":V-90 →Z[2]: Z[2]<0=>360+ Z[2]→Z[2]:Abs((Y-Z[4])*Cos Z[2]-(X-Z [3])*Sin Z[2])→Z[5]↙If Z[5]<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+ Z[5]→K: Prog"SJK2": V-90 →Z[2]: Z[2]<0=>360+ Z[2]→Z[2]:Abs((Y-Z[4])*C os Z[2]-(X-Z[3])*Sin Z[2])→Z[6]↙If Z[6]<0.0001 :Then Z[6]→Z[5]: Go to 4:Else IF Z[6]< Z[5]: THEN K+ Z[6]→K: Goto 2 :Else IF Z[6]> Z[5] :THEN K- Z[6]→K:Goto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[3],Y-Z[4]:J<0=>J+360→J:(J-T)<0=>-I→I↙"DP(-Z+Y)=":I◢(坐标点与线路偏距,-左+右)"KP=":K+ Z[5]→K◢(里程)Return↙。

5800计算器曲线任意里程坐标正反算

5800计算器曲线任意里程坐标正反算

1.主程序"1.SZ → XY,2.XY → SZ "?N:Lbl 1:”S=”?S:Prog "SUB0":N≥2=>Goto 2:Abs(S-O)→W:”Z=”?Z:Prog "SUB1":"XS=”:X→X◢"YS=”:Y→Y◢"FS=”:(F-90) →F:F△DMS◢Lbl 2:”CX=”?X: X→I:”CY=”?Y: Y→J:Prog "SUB2":"S=":(O+W) →S◢"Z=":Z◢Goto 22正算子程序Lbl 1: 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:G+QEKW(C+KWD→Z[1]: G+QELW(C+LWD→Z[2]: G+QEFW (C+FWD) →Z[3]:G+QEMW(C+MWD) →Z[4]Acos(Z[1])→XX+Bcos(Z[2]) →XX+Bcos(Z[3]) →XX+Acos(Z[4]) →XU+WX→XAsin(Z[1]) →YY+Bsin(Z[2]) →YY+Bsin(Z[3]) →YY+Asin(Z[4]) →YV+WY→YG+QEW(C+WD)+90→FX+Zcos(F) →XY+Zsin(F) →Y3反算子程序G-90→T:(Y-V)cos(T)-(X-U)sin(T) →W:Abs(W) →W:0→ZLbl 0:Prog "SUB1"T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<0.000001:Then 0→Z:Prog "SUB1"(J-Y)÷sin(F)→ZElse W+Z→WGoto 0:IfEnd4 Z-SQX(竖曲线)O-S→L:A-B→W:Abs(R*W÷2) →T:O-T→M:O+T→PIf S≤M:ThenG-L*B→H:Goto 5:Else If S≤O:Then Goto 3:Else If S≤P:Then Goto 4:IfEnd: IfEnd: IfEndLbl3If W>0:Then G+(M-S)2÷2÷R-L*B→H:Goto5: Else If W<0: Then G-(M-S)2÷2÷R-L*B→H:Goto5: IfEnd: IfEndLbl4If W>0:Then G+( S-P)2÷2÷R-L*A→H:Goto 5: Else If W<0: Then G-( S-P)2÷2÷R-L*A→H:Goto 5: IfEnd: IfEndLbl 5 :H→H:”H”:H◢(为所求的高度)SQX(程序名)If S<下一竖曲线前变坡桩号And S≥前一竖曲线后变坡桩号:Then大里程坡度→A:小里程坡度→B:交点里程→O:交点高度→G:半径→R:Prog“Z-SQX”:IfEnd有多个竖曲线,依照上面的依次变更,每多一个,就增加一个。

(坐标正反算5800[数据库版]

(坐标正反算5800[数据库版]

曲线任意里程中边桩坐标正反算及高程、隧道断面超欠挖程序(CASIO fx-5800P计算器)程序(加数据库版)1.正算主程序[KP-XY]"DK="?K:"PJ="?P:Prog"SJK""XS=":X+P cos(Z[4]+90)→X◢"YS=":Y+P sin(Z[4]+90)→Y◢"QX-FWJ=":Z[4]►DMS◢Prog"SQX":O→I:O→J:"XC="?A:"YC="?B:Pol(X-A,Y-B)J<0=>360+J→J"FWJ=":J►DMS◢"P=":I◢2.反算主程序[XY-KP]"DK="?K:"X:"?U:"Y:"?VLbl 0Prog"SJK":O→I:O→J:Pol(U-X,V-Y):J<0=>J+360→JIcos(J-Z[4])→Z[5]If Abs(Z[5])≥0.001:Then K+Z[5]→K:Goto 0Else Isin(J-Z[4])→P:Ifend"DK=":K◢"PJ=":P◢Prog"SQX"Return3.隧道超欠挖主程序[CQW]Prog"XY-KP":"Q="?QIf Q≥H+6.471:Then "X=":Abs(P)-√(4.26²-(Q-H-4.34)²)→X◢"Y=":Abs(Q-H-4.34)-√(4.26²-P²)→Y◢Eles If Q≥H+2.17:Then "X=":Abs(P)-(√(7.41²-(H+2.77-Q)²)-2.73)→X◢Eles If Q≥H-0.415:Then "X=":Abs(P)-(4.65-(H+2.17-Q)×0.22÷2.58)→X◢"Y=":H-0.42-Q→Y◢Eles If Q≥H-3.2:Then "Y(YG)=":(H+5.2-Q)-√(7.1²-P²)→Y◢IfEnd:IfEnd:IfEnd:IfEnd4.综合洞超欠挖主程序(ZHD)Prog"XY-KP":K-302480→D:"Q="?QIf Q≥H+4.8:Then "X=":Abs(D)-√(2.5²-(Q-H-4.8)²)→X◢"Y=":Abs(Q-H-4.8)-√(2.5²-D²)→Y◢Else If Q≥H:Then "X=":2.5-Abs(D)→X◢"Y=":H-Q→Y◢说明:302480综合洞里程,2.5半径,4.8总高度5.竖曲线主程序[SQX]0.003(6.984/1000)→I:0.006(-6.4/1000)→J:20000(15000)→R:301420(42350)→L:R Abs(I-J)÷2→Z[2]:RAbs(I-J)÷(I-J)→RIf K≤L-Z[2]:Then 0→Z:Else If K≥L+Z[2]:Then 0→Z:J→I:Else K-L+Z[2]→Z IfEnd:IfEnd"H=":200.621(164.958 )-I(L-K)-Z²÷2÷R→H◢说明:0.003前坡坡度,0.006后坡坡度,20000竖曲线半径,301420竖曲线交点里程,200.621竖曲线交点高程(有竖曲线使用考虑后的高程)0.003→I:0.006→J:0→R:301420→L:RAbs(I-J)÷2→Z[2]:RAbs(I-J)÷(I-J)→RIf K≤L-Z[2]:Then 0→Z:Else If K≥L+Z[2]:Then 0→Z:J→I:Else K-L+T→Z: IfEnd:IfEnd"H=":200.621-I(L-K)→H◢未有竖曲线6.数据库程序[SJK]4500(4500)→R:340(120)→G:157°25′52.55″(220.350722°)→Z:300412.156(43227.29)→F:-23°37′53.48″(6.23477)→O1→Z[1]: 0<0=>-1→Z[1]K-F→SIf S≤0:Then S→I:Z+180→J:Z→Z[4]:2953202.491(3678.283)+Icos(J)→X:497703.0998(1696.445)+Isin(J)→Y:Else If S≤G:Then 30Z[1]S²÷(πRG)→W:√((S-S^5÷(40R²G²))²+(S^3÷(6RG))²)→I:Z+W→J:Z+3W→Z[4]:2953202.491(3678.283)+Icos(J)→X:497703.0998(1696.445)+Isin(J)→Y:Else If S≤2196.015(622.3879)-G:Then S-G→S:90Z[1]S÷(πR)→W:2Rsin(Abs(W))→I:Z+90Z[1]G÷π÷R+W→J:J+W→Z[4]:2952890.216(3587.499)+Icos(J)→X:497837.5235(1617.971)+Isin(J)→Y:Else If S≤2196.015:Then 2196.015-S→S:30Z[1]S²÷(πRG)→W:√((S-S^5÷(40R²G²))²+(S^3÷(6RG))²)→I:Z+0+180-W→J:Z+0-3W→Z[4]:2951406.6187(3229.258)+Icos(J)→X:498932.0473(1266.092)+Isin(J)→Y:Else If S>2196.015:Then S-2196.015→I:Z+O→Z[4]:2951406.6187(3229.258)+Icos(Z[4])→X:498932.0473(1266.092)+Isin(Z[4])→Y:IfEnd:IfEnd:IfEnd:IfEnd:IfEndReturn说明:4500→R曲线半径,340→G缓和曲线长度,157°25′52.55″→Z线路方位角,-23°37′53.48″→O转向角(沿线路方向左负右正),300412.156→F直缓点里程(ZH),2953202.491,497703.0998沿线路方向直缓点坐标(ZH),2196.015曲线长度,2952890.216,497837.5235沿线路方向缓圆点坐标(HY),2951406.6187,498932.0473沿线路方向缓直点坐标(HZ)。

5800计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序(定稿)彭赐明主程序坐标正反算程序名称:ZBZFSLB1 A↙Cls : Fix 4 : 30→Dim Z :"0=ZS,1=FS"?Z ↙If Z=0:Then Goto B:IfEnd↙(Z=0进入里程点坐标正算)If Z=1:Then Prog"FSLCBZ ": Goto A:IfEnd↙(Z=1进入反算里程边桩)Lb1 B ↙“K=”?K :(计算里程)Prog"SJK1 ":Prog”ZBFY” :Goto A↙子程序数据库 SJK1IF K<本段曲线终点里程 AND K≥上段曲线终点里程:THEN 本段终点里程→Z[1] : 上段曲线终点里程→Z[2] :1→O(注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R : 曲线偏角→A:第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Prog”XLZBJSCX”:Return: IFEND↙IF…………Prog”XLZBJSCX”:Return:IFEND(曲线段分段输入)↙补充直线段输入如下(单独直线段)IF K<本段直线终点里程AND K≥本段直线起点里程:THEN 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z[3])*COS E→Z[18]:Z[17]+ (K- Z[3])*SIN E→Z[19] : Return:IFEND子程序坐标正算,名称:XLZBJSCXLB1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1)Z[7]/2- Z[7]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙(M2)Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1)Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙(P2)π*A*R/180+0.5*( Z[6]+ Z[7])→Z[25] ↙(曲线总长)90* Z[6]/(R*π) →Z[14] ↙(第一缓和曲线总偏角)90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)Z[8]+(R+Z[10])TAN(A/2)-(Z[10]-Z[11] )/SIN A→Z[12]↙(切线T1)Z[9]+(R+Z[11])TAN(A/2)+(Z[10]-Z[11] )/SIN A→Z[13]↙(切线T2)B+ Z[12]*COS (E+180)→ Z[16] ↙(ZH点X)C+ Z[12]*SIN(E+180)→ Z[17] ↙(ZH点Y)Z[1]- Z[25]→Z[3] ↙(ZH点里程)Z[3]+ Z[6]→Z[4] ↙(HY点里程)Z[1]- Z[7]→Z[5] ↙(YH点里程)GOTO 3 ↙LB1 3 ↙(判断里程点与曲线关系)IF K≤Z[3] AND K> Z[2] : THEN GOTO 4 : IFEND ↙IF K≤Z[4] AND K> Z[3] : THEN GOTO 5 : IFEND ↙IF K≤Z[5] AND K> Z[4] : THEN GOTO 6 : IFEND ↙IF K≤Z[1] AND K> Z[5] : THEN GOTO 7 : IFEND ↙LB1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →Z[23] : 0→Z[24] : E→T : GOTO 8↙LB1 5 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →Z[23] ↙H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Z[24] ↙90*H^2/( R*π* Z[6]) →T ↙IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙GOTO 8 ↙LB1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*SIN T+ Z[8]→Z[23] ↙R*(1-COS T)+ Z[10]→Z[24] ↙IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙GOTO 8 ↙LB1 7 ↙(第二缓和曲线独立坐标)Z[1] -K →H ↙H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7]^4) →U↙H^3/(6*R* Z[7])-H^7/(336*R^3* Z[7]^3) →V ↙90*H^2/( R*π* Z[7]) →T ↙Z[13]COS A+ Z[12]-U*COS A-V*S IN A→Z[23] ↙Z[13]*SIN A-U*SIN A+V*COS A→Z[24]↙IF O>0 :THEN F-T→T : T<0=>360+T→T : ELSE F+T →T : IFEND ↙GOTO 8 ↙LLb1 8IF O<0 : THEN - Z[24]→Z[24] : IFEND ↙Z[16]+Z[23]*COS E-Z[24]*SIN E→Z[18] ↙Z[17]+Z[23]*SIN E+Z[24]*COS E→Z[19] ↙ReTurn↙子程序反算里程边桩,名称:FSLCBZLb1 1↙"XK="?X:"YK="?Y↙(输入任意测点的XY坐标):“K=”?K (试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)↙Lb1 2↙Prog"SJK1 ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"S JK1":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else IF Q<S: THEN K+Q→K: Goto 2 :Else IF Q>S :THEN K-Q→K:G oto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"DP(-Z+Y)=":I◢(偏距)(由于该程序不能准确判断边桩左右方向,暂作修改,取消左右边判定)"K=":K+S→K◢(里程)Return↙子程序坐标放样:ZBFYLB1 0 ↙“XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y):Pol(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":J→DMS◢(后视方位角) “QXJ=” :T◢(计算里程点切线方位角,可以不显示)“XI=” : Z[18] ◢(中线X)“YI=” : Z[19] ◢(中线Y)Pol(Z[18]-M,Z[19]-N):"DI=":I(中桩放样距)◢J<0=>J+360→J:"FI=":J→DMS◢(中桩放样方位角)“PJ=”?P◢(输入边桩与线路夹角,左-右+)“PD=”?D◢(输入边桩距)Z[18]+D*COS(T+P) →Z[20] ↙Z[19]+D*SI N(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)Pol(Z[20]-M,Z[21]-N):"DP=":I◢(边桩放样距)J<0=>J+360→J:"FP=":J→DMS◢(边桩放样方位角)Return↙。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

QXZFS(主程序)
3→DimZ↙
“1.SZ=>XY”:“2.XY=>SZ”:?N:If 1=N:Then Goto1:Else Goto 2:IfEnd↙Lbl 1:“DKF”?S:?Z: Abs(S-O)→W:Prog “SUB3”:Prog“SUB1”↙
“X=”:X◢
“Y=”:Y◢
“F=”:F-90◢
Goto 1↙
Lbl 2:?S:Prog“SUB3”:?X:?Y:X→I:Y→J:Prog“SUB2” ↙
If O +W>Z[1] Or O +W O :Then “>>>PASS ONE>>>”:Goto2:Else “DKF=”:O +W◢
“Z=”:Z◢
Goto 2:IfEnd
说明:
O为字母O,0为数字0
SUB1(正算子程序)
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(A cos(G+QEKW(C+KWD))+B cos(G+QELW (C+LWD))+B cos(G+QEFW(C+FWD))+A cos(G+QEMW(C+MWD)))→X:V+W(A sin(G+QEKW(C+KWD))+B sin(G+QELW(C+LWD))+B sin(G+QEFW(C+FWD))+A sin(G+QEMW(C+MWD)))→Y:G+QEW (C+WD)+90→F:X+Z cos(F)→X:Y+Z sin(F)→Y
SUB2(反算子程序)
G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W: 0→Z:Lbl0:Prog“SUB1”:T+QEW(C+WD)→L:(J-Y)cos(L)-(I-X)sin
-6
(L)→Z:If Abs(Z)<10 :Then Goto 1:Else W+Z→W:Goto 0:IfEnd↙
Lbl 1:0→Z:Prog“SUB1”:(J-Y)÷ sin(F)→Z
SUB3(数据库)
If S<线元终点桩号And S>线元起点桩号:Then线元终点桩号→Z[1]:线元起点桩号→O:线元起点桩号X坐标→U: 线元起点桩号Y坐标→V:线元起点桩号切线方位角→G: 线元起点曲率半径→P: 线元长度→H:线元止点曲率半径→R:线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)→Q:IfEnd …………………………………………………
说明:
O为字母O,0为数字0
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右
侧时,Z取正值。

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。

(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。

止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

(7)曲线元要素数据库(SUB3)可根据线型不同分为各个线元段输入到SUB3中,即分为直线段、缓和曲线、圆曲线等。

2、输入与显示说明
输入部分:
1. SZ => XY
2. XY = > SZ
N ? 选择计算方式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算里程和边距。

正算时:
DKF?正算时所求点的里程
Z? 正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
X=正算时,计算得出的所求点的X坐标
Y=正算时,计算得出的所求点的Y坐标
F=正算时,计算得出的所求点的切线方位角
S? 反算时假设所求点的桩号(这是为了调取数据库中的各个元素)
X ?反算时所求点的X坐标
Y ?反算时所求点的Y坐标
当显示>>>PASS ONE>>>时,S? (重新调取上一线路或者是下一线路数据库,输入上一路线中的里程桩号或者是输入下一路线中的里程桩号,直至出现DKF = …….. Z=……………)DKF=反算时所求点的里程
Z=反算时所求点的边距。

相关文档
最新文档