(4)5800全线贯通坐标计算(4个数据库)
卡西欧5800计算器工程应用程序.

卡西欧5800计算器测量专用程序一、程序功能主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本优化:1、优化程序语句、2、取消原线元法计算,化线元法为交点法。
3、高程计算修改,4、附计算坐标及高程参数设计要素输入实例二、源程序(绿色为程序名;蓝色为输入计算器内容)0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。
输入-2,返回选择线路。
程序名:0(数子0)ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY”:WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":WhileEnd: While Z[3]=33:Prog"9SD":WhileEnd:LpWhile Z[3]≠25:”XIE XIE SHI YONG”:1.主程序:一般坐标计算及放样程序程序名:1XYProg "DX":Prog"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z [1]:B→Z[9]: Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ? D: 0→L: "L0"?L:L→Z[10]: Porg"A":Z[2]+Z[1] →A :A-Z[9]→E:I+Dcos(A)+Z[10]cos(E→X:J+Dsin(A)+Z[10]sin(E→Y:Prog"XY": Prog"JS":LpWhile Z≠-12.主程序:由大概桩号及坐标反算桩号及距离程序名:2ZDProg"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-1(反算带显示设计高程和横坡.在2ZD程序中修改这:Prog"QX":"KM"?Z:Do: Prog"K":"XO"?X:X=-1=>Stop:X=-2=>Break:"Y0"?Y: Porg"B":Prog"H": Prog"ZD": " H=": Locate 6,4,H:" I=":Locate 6,4,I◢LpWhile X≠-1 )3.主程序:任意点高程计算及横坡程序名:3GCP rog"QX":0→B: "H-B"?B: B→Z[9]: Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:?D:Prog"H":Fix 3: " H=": Locate 6,4,H-Z [9]:" I=":Locate 6,4,I:LpWhile Z≠-14.主程序:任意桩号位置的标准路基宽度计算程序名:4GDProg"QX": Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:-1→D:Prog"C":L→P:1→D: Prog"C":Fix 3: " LGD=": Locate 6,4,P:" RGD=":Locate 6,4,L:LpWhile Z≠-15、主程序:路基开挖边线及填方坡脚线放样程序程序名:5BPProg "DX":Prog"QX":0.5→B: "TH-GD"?B: B→Z[7]: Do:"K M"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: Porg"B":D→P :Prog"C":If D<0:Then 0. 75-L→D:Else L-0.75→D: IfEnd: Prog“H”:H-0.03-Z[8] →G: Prog “W1”:If G>0:Then Goto T: IfEnd:-G→H:If H>E+F:Then L+M+N+U+C(H-E-F)+BF+AE→S:Goto 0:IfEnd:If H>E:Then L+M+N+ B(H-E)+AE→S:Goto 0:IfEnd:If H<E:Then L+M+HA→S:Goto 0:IfEnd:LbI T:If G>W:Then L+Z[7]+V+J(G-W)+IW→S:Else L+Z[7]+GI→S:IfE nd:LbI 0: Fix 2: P→D :Abs(D)-S→T: " LX=":Locate 6,4,T:Prog"ZD":" TW=": Locate 6,4,G◢LpWhile Z≠-16、主程序:定值放样路基桩计算填挖值程序名:6FMProg "DX":Prog"QX": Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: P rog"K": ?D: Porg"A":Z[2]+90→A :I+Dcos(A→X:J+Dsin(A→Y:P rog"XY":Prog"JS":Z[8]→M:”M0”?M:M→Z[8]:Prog “H”:” T W=”:Locate 6,4,H-Z[8]: LpWhile Z≠-17、主程序:桥梁锥坡计算放样程序名:7ZPProg"DX":Prog"QX":"Z0"?Z:"LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: D→Z[7]:R→Z[10]:Z→Z[9]:Prog”C”:L→Z[10]:Prog”K”: Do:Z[10]→Y:"L0:SZ+,DZ-"?Y: Y=-1=>Stop:Y=-2=>Break: √(Z[7]2(1-Y2/Z[10]2))→X:Z[9]+Y→Z: Prog”C”: If D>0:Then L+X→D:Else –L-X→D:IfEnd:Prog”A”: Z[2]+90→A :I+Dcos(A→X:J+Dsin(A →Y:Prog"XY":Prog"JS": LpWhile Y≠-18、主程序:由坐标计算方位角及距离程序名:8JSProg "DX":Do:?X: X=-1=>Stop:X=-2=>Break:?Y:Prog”JS”: LpWhi le X≠-19、主程序:隧道超欠挖放样计算程序名:9SDProg"DX":0.65→A:”CQHD”?A:A→Z[7]:Do:"KM"?Z:Z=-1=>Stop:Z =-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: Porg"B":D→Z[9]:0→D:Prog”H”:Prog”SD1”:Z[9] →D:Z[8]→M:Z[7]→X:Rcos(P→C:H+A→A:H+B→B:C+A→E:If M<E:Then R-V→S: S=0=>Goto 1:√(S2-(B-A)2)S÷Abs(S→T:Abs(D-Q)-T→T:√(T2+(M-B)2) -V-X→L:Goto 0:IfEnd:LbI 1:√((D-Q)2+(M-A)2)-R-X→L:LbI 0:Fix 2:” LX=”: Locate 6,4,L:Prog”ZD”:“ H0=”: Locate 6,4,M-H◢LpWhile Z≠-110. 交点法正算子程序(A)程序名:AP÷Abs(P→W:O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:H→C:0→M: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≤Q: Then 180(Z-O+T-0.5H)÷R÷Π→S : Prog”AB”:A+R(1-Cos (S→E:B+Rsin(S→A:E→B:R→M:G+WS→Z[2]:A-T→A:G→E:Goto 2: If End:If Z≤Q+N:Then Q+N-Z→S:N→H:Prog “HX”:G+P→E:E-WK→Z[2]:F-A→A:C→H:Goto 2:IfEnd:Z-Q-N+F→S:G+P→Z[2]: LbI 1:U+Scos(Z[2]→I:V+Ssin(Z[2]→J:Ret urn:LbI 2:U+Acos(E)-WBsin(E→I:V+Asin(E)+WBcos(E→J11. 交点法反算子程序(B)程序名:B0→D:Do:Z+D→Z:Prog”A”:Pol(X-I,Y-J+×10-9: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)>.001:Z+D→Z:S→D12.缓和曲线段直角坐标计算子程序(AB)程序名:ABH2÷R÷24-H∧(4)÷2688÷R∧(3)+H∧(6)÷506880÷R∧(5)- H∧(8)÷154 828800÷R∧(7)→A:H÷2-H∧(3)÷240÷R2+ H∧(5)÷34560÷R∧(4)- H∧(7)÷8386560÷R∧(6)+ H∧(9)÷3158507520÷R∧(8)→B13. 计算缓和曲线段坐标增量及偏角子程序(HX)程序名:HXS-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4)÷H∧(4)-S∧(13)÷599040÷R∧(6)÷H∧(6)+S∧(17)÷175472640÷R∧(8)÷H∧(8)→A:S∧(3)÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5)÷H∧(5)-S∧(15)÷9676800÷R∧(7)÷H∧(7)+S∧(19)÷3530097000÷R∧(9)÷H∧(9)→B:9 0S2÷Π÷R÷H→K:If S=0:Then 0→M:Else RH÷S→M:IfEnd14.高程计算子程序(H)程序名:HProg “S1”:N-I→A:A÷Abs(A→W:R×Abs(A÷2→T:If Z<C-T:Then G+ I(Z-C→H:Goto 0:IfEnd:If Z<C+T:Then G-TI+(I+(Z-C+T)W÷2÷R)×(Z-C+T→H:Goto 0: IfEnd:N→I: G+I(Z-C→H:LbI 0:If D=0:Then H→H:Return:Else Prog “I”:H+I(Abs(D)-K→H:IfEnd15.高程超高计算横坡子程序(I)程序名:IProg “I1”:If S=0:Then M→I: Return:Else If W=1:Then ((N-M)×(Z-C)÷S+M→I:Return:Else (((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M→I:IfEnd:16.路基宽度子程序程序名:C1→S: Prog “G1”:Z-C→E:(B-A)E÷S+A→L17:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSZ[5]→K:Z[6]→L:Pol(X-K, Y-L:IF J<0:Then J+360→J:IFEnd:Int(J) +0.01Int(60Frac(J))+0.006Frac(60Frac(J→J: Fix 4:” FWJ=”: Lo cate 6,4,J:Fix 3:” S=”:Locate 6,4,I◢18.导线点子程序(DX)程序名:DXZ[5]→K:Z[6]→L:“XZ”?K:”YZ”?L:K→Z[5]:L→Z[6]19.线路选择子程序(线路选择输0时。
5800计算器程序辛普森公式程序(通用)

1.”XLZB”:坐标计算主程序↓(与预留的自由变量数有关!){O}∶O“1.ZX 2.BX”↓Q=0↓LbI 1↓O≠1=>{QG}:Q”L”:G”XJJD”:△(显示“L”输入边桩宽度,均为正值,显示“XJJD”输入边桩测点与线路中线上点的连线与线路中线上点的切线的夹角,如右法线为90度,左法线为270度或者-90度,其余同理。
)Prog”ZB”:X=X+Rec(Q,T+G):Y=Y+J:”X=”:X :Pause 0 :”Y=”:Y▲(X”X=”:Pause 0 : Y”Y=”:▲)”T=”:T→DMS▲(T”T=”▲)Goto 1(注释:括号内写法为Casio4800P计算器显示方式) 2.“ZB”:坐标计算子程序↓(与预留的自由变量数有关!)(与预留的自由变量数有关!){K}:↓LbI 2↓F=0:△(注释:方框内数字27[第七段]为断链的段号;方框内数字39.903为断链值,短链输“+”,长链输“-”;如遇断链,依此增加即可!)E= Z[W+3a]+Z[W]+F:K≥Z[W+3a] =>K≤E =>V=W-1:≠>W=W+1: Goto 2△△↓K-F:△(方框为断链点的后桩号,即去向桩号,如遇断链,依此增加即可!)S=K-Z[V+3a+1]:P=(Z[V+2a+1] -Z[V+a+1])÷Z[V+1]:I=P*S:C=Z[V+4a+1]:D=Z[V+a+1]:J=C+(I+2D)*S*90/π:L=1:X=Z[V+5a+1]+S*(CosC+CosJ+4∑(Cos (C+((L+0.5)I/B+2D)×(L+0.5)*90*S/B/π),L,0,(B-1))+2∑(Cos (C+(L*I/B+2D)*L*90*S/B/π),L,1,(B-1)))/6/B:Y=Z[V+6a+1]+S*(SinC+SinJ+4∑(Sin (C+((L+0.5)I/B+2D)×(L+0.5)*90*S/B/π),L,0,(B-1))+2∑(Sin (C+(L*I/B+2D)*L*90*S/B/π),L,1,(B-1)))/6/B:T=J:3.“SJK.DAT”:数据库主程序Mcl:Defm(20+7a):Z[21]=?:……Z[21+3a]=?:Z[21+4a]=?:Z[21+5a]=?:Z[ 21+6a]=?:Prog”SJK”:(输入程序时,Defm后须换成相应数据,a为曲线元段数)4.“SJK”:数据库计算子程序a=?:V=20:T=0:B=?(a:曲线元段数;B:等分数,最少为2,一般为4就可以满足要求)LbI 0↓F=0:(注释:方框内数字6[第七段减一]为断链的段号减去1所得;方框内数字39.903为断链值,短链输“+”,长链输“-”;如遇断链,依此增加即可!)E= Z[V+3a+1]+Z[V+1]+F:Z[V+3a+2]=E:S=Z[V+1] :I=Z[V+2a+1] -Z[V+a+1]:C=Z[V+4a+1]: D=Z[V+a+1]:J= C+(I+2D)*S*90/π:Z[V+4a+2]=J:L=1:Z[V+5a+2]=Z[V+5a+1]+S*(CosC+CosJ+4∑(Cos (C+((L+0.5)I/B+2D)×(L+0.5)*90*S/B/π),L,0,(B-1))+2∑(Cos (C+(L*I/B+2D)*L*90*S/B/π),L,1,(B-1)))/6/B:Z[V+6a+2]=Z[V+6a+1]+S*(SinC+SinJ+4∑(Sin (C+((L+0.5)I/B+2D)×(L+0.5)*90*S/B/π),L,0,(B-1))+2∑(Sin (C+(L*I/B+2D)*L*90*S/B/π),L,1,(B-1)))/6/B:V=V+1:T=T+1:T>a-2 =>”END OF THE PROGRAM”▲△Goto 0为了使程序能够计算连续多个曲线元的坐标,减少计算过程中的数据输入,可利用CASIOfx-4800/4850P计算器提供的扩展变量设置曲线元数据库,假定某一段线路包含有a个曲线元,则可设置曲线元数据库如下表所示:曲线元数据库设置表扩展变量Z[1]~Z[20]用作自由变量,可以用来弥补字母变量的不足,此项设置可自由选择!因此,数据库的起点本程序从Z[21]开始,表中Z[21]~Z[21+3a]以及Z[21+4a]、Z[21+5a]、Z[21+6a]需预先置入,表中空白部分由程序自动计算生成。
卡西欧5800测量坐标计算程序

一.使用说明:1.规定:(1)以道路中线的前进方向区分线路的左右偏转方向,线路左偏Q=-1,线路右偏Q=1,直线Q=0。
(2)当所求点位于线路中线时,Z=0;当位于左侧时,Z取负值;当位于右侧时,Z取正值。
(3)当线元为直线时,其起终点的曲率半径为无穷大,取10的45次方代替。
(4)当线元为圆曲线时,起终点曲率半径为圆曲线半径。
(5)当线元为缓和曲线时,起终点曲率半径与直线相接取10的45次方代替,与圆曲线相接取圆曲线半径。
2.输入与显示说明:(1)输入部分:N?:选择计算方式,输入1表示由里程边距计算坐标,输入2表示由坐标计算里程边距。
X0?线元起点X坐标。
Y0?线元起点Y坐标。
S0?线元起点里程。
F0?线元起点切线方位角。
LS?线元长度。
R0?线元起点曲率半径。
RN?线元终点曲率半径。
Q?线元左右偏标志(左偏=-1,右偏=1,直线=0)S?正算时所求点里程。
Z?正算时所求点距中线边距。
位于线路左侧输入负值,在右侧输入正值。
AR?斜交角度。
(为线路右角,在0-180度之间)X?反算时所求点X坐标。
Y?反算时所求点Y坐标。
(2)显示部分:XS=计算结果,所求点X坐标。
YS=计算结果,所求点Y坐标。
FS=计算结果,所求点切线方位角。
S=计算结果,反算时所求点里程Z=计算结果,反算时所求点边距。
二.程序清单1(用于任意曲线元的坐标计算)1.主程序(TYQXJS)″1.SZ=>XY″:″2.XY=>SZ″:?N:″X0″?U:″Y0″?V:″S0″?O: ″F0″?G:″LS″?H:″R0″?P:″RN″?R:?Q:1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E:If N=1: THEN Goto 1:Else Goto 2:IfEnd:Lbl 1:?S:”D(Z-,Y+)=”?Z:90→T:”O=”?T:Abs(S-O) →W:Prog ″SUB1″:″XS″:X◢″YS″:Y◢″FS″:F◢Goto 1:Lbl 2:?X:?Y:I→X:J→Y:Prog ″SUB2″:″S″:O+W→S:◢″Z″:Z◢Goto 22.正算子程序(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) →F:X+Zcos(F+T) →X:Y+Zsin(F+T) →Y3.反算子程序(SUB2)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)<1E-6 :Then Goto 1:Else W+Z→W:Goto 0 : IfEnd:Lbl 1:0→Z:Prog ″SUB1″:(J-Y)÷sin(F)→Z 三.用于提前将曲线元要素输入子程序,计算时只输入里程桩号与边距。
卡西欧5800计算器程序全线正反算

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=":Loca te 6,4,Y:◢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=":Loca te 6,4,D◢Goto C2. 交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R÷S in(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:T hen 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 :G oto 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+Ssin(Z[2]→J: Return:LbI 2:U+Acos(E)-WBsin(E→I:V+ASin(E)+WBcos(E→J3. 交点法缓和段子程序(HX)程序名: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. 交点法反算子程序(ZX)程序名: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→D 5.线路选择子程序(线路选择输0时。
Casio5800交点法程序(线路任意中边桩坐标计算)

Casio5800交点法程序(输入版)(歪哥哥2009版)本程序由一个主程序JD和三个子程序(JDA、JDB、JDC)构成,运行时只需运行主程序即可!本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标计算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并为线元法程序提供起点坐标起点切线方位角等数据!当然本程序也可单独逐交点输入进行放样计算用!鉴于5800计算器的空间和以上所述本程序的主要目的,故此程序不修改为数据库版本!需要的自行修改结合XY框架自己修改为数据库反算程序等!主程序名:5.JD24→Dimz↙Cls :"XC"?U :"YC"?V :"K(JD)"?K :"X(JD)"?X :"Y(JD)"?Y :"LS1"?B :"LS2"?C : ?R :"(ZH)FWJ°"?M : "α(Z-,Y+)°"?O : M+O→N :Prog "JDA"↙Cls :"T1=":"T2=":"L=":"L Y=": Locate 4,1,S : Locate 4,2,T : Locate 4,3,L : Locate 4,4,Q◢Cls :"E=":"K(ZH)=": Locate 7,1,E : Locate 7,2,Z[1]◢Cls : "K(HY)=":"K(QZ)=":"K(YH)=":"K(HZ)=": Locate 7,1, Z[2] : Locate 7,2, Z[3] : Locate 7,3, Z[4] : Locate 7,4, Z[5]◢LbI 0 : "K×+×××"?P : "Z"?D : If D≠0 :Then "RJ"?H : IfEnd : Prog "JDB"↙If D<0 :Then Cls : "X(L)=":"Y(L)=": Locate 6,1,F : Locate 6,2,G◢Pol(F-U,G-V : Cls : "S(L)=": Locate 6,1,I : "F(L)=":360Frac((J+360)÷360▼DMS◢Goto 0 : IfEnd↙If D=0 :Then Cls : "X(Z)=":"Y(Z)=": Locate 6,1,F : Locate 6,2,G : "QXFWJ(Z)=": Z▼DMS◢Pol(F-U,G-V : Cls : "S(Z)=": Locate 6,1,I : "F(Z)=":360Frac((J+360)÷360▼DMS◢Goto 0 : IfEnd↙If D>0 :Then Cls : "X(R)=":"Y(R)=": Locate 6,1,F : Locate 6,2,G◢Pol(F-U,G-V : Cls : "S(R)=": Locate 6,1,I : "F(R)=":360Frac((J+360)÷360▼DMS◢Goto 0 : IfEnd↙子程序1名:JDAIf O<0 :Then -1→W : Else 1→W : IfEnd : WO→A ↙B2 ÷24÷R-B^(4)÷2688÷R ^(3) →Z[6] ↙C2 ÷24÷R-C^(4)÷2688÷R ^(3) →Z[7] ↙B÷2-B^(3)÷240÷R2 →Z[8] ↙C÷2-C^(3)÷240÷R2 →Z[9] ↙Z[8]+((R+Z[7]-(R+Z[6])cos(A))÷sin(A))→S↙Z[9]+((R+Z[6]-(R+Z[7])cos(A))÷sin(A))→T↙RAπ÷180+(B+C) ÷2→L↙RAπ÷180-(B+C) ÷2→Q↙(R+(Z[6]+Z[7])÷2)÷cos(A÷2)-R→E↙K-S→Z[1] ↙↙Z[1]+B→Z[2] ↙↙Z[2]+Q÷2→Z[3]↙Z[1]+L-C→Z[4]↙Z[4]+C→Z[5]↙子程序2名:JDBX-Scos(M)→Z[19]:Y-Ssin(M)→Z[20]↙X+Tcos(N)→Z[21]:Y+Tsin(N)→Z[22]↙If P>Z[1]:Then Goto 1 :IfEnd↙Z[1]-P→L↙X-(S+L)cos(M)+Dcos(Z+H)→F↙Y-(S+L)sin(M)+Dsin(Z+H)→G↙M→Z : Goto 5↙LbI 1 : If P>Z[2]:Then Goto 2 :IfEnd↙P-Z[1]→L:L→Z[12]:B→Z[13]:Prog"JDC"↙Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙M+90WL2 ÷(BRπ)→Z↙Goto 5↙LbI 2 : If P>Z[4]:Then Goto 3 :IfEnd↙P-Z[1]→L:90(2L-B)÷R÷π→Z[11]↙Rsin(Z[11])+Z[8]→Z[14]:R(1-cos(Z[11]))+Z[6]→Z[15]↙Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙M+WZ[11]→Z↙Goto 5↙LbI 3 : If P>Z[5]:Then Goto 4 :IfEnd↙Z[5]-P→L:L→Z[12]:C→Z[13]:Prog"JDC"↙Z[21]-Z[14]cos(N)-WZ[15]sin(N)+Dcos(Z+H)→F↙Z[22]-Z[14]sin(N)+WZ[15]cos(N)+Dsin(Z+H)→G↙N-90WL2 ÷(CRπ)→Z↙Goto 5↙LbI 4 : P-Z[5]→L↙X+(T+L)cos(N)+Dcos(Z+H)→F↙Y+(T+L)sin(N)+Dsin(Z+H)→G↙N→Z↙Goto 5↙LbI 5 : 360Frac((Z+360)÷360→Z↙子程序3名:JDCIf Z[12]=0 :Then 0→Z[14]: 0→Z[15]:Else↙Z[12]- Z[12]^(5)÷40÷(RZ[13])2+ Z[12]^(9)÷3456÷(RZ[13])^(4) →Z[14]↙Z[12]^(3)÷6÷(RZ[13])-Z[12]^(7)÷336÷(RZ[13])^(3)+ Z[12]^(11) ÷42240÷(RZ[13])^(5)→Z[15] ↙IfEnd↙程序说明:已知数据输入:XC ? 测站X坐标YC ? 测站Y坐标K(JD)?交点桩号X(JD)?交点X坐标Y(JD)?交点Y坐标LS1 ?第一缓和曲线长度LS2 ?第二缓和曲线长度R ? 圆曲线半径(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)K×+×××? 待求桩号Z ?待求桩号距中距离(左负值,右正值,中为0)RJ ?斜交右角(线路切线前进方向与边桩右侧夹角)计算结果显示:T1=第一切线长T2=第二切线长L=曲线总长L Y=圆曲线长E=曲线外距K(ZH)=直缓点桩号K(HY)=缓圆点桩号K(QZ)=曲中点桩号K(YH)=圆缓点桩号K(HZ)=缓直点桩号X= Y=待求点的坐标(其中:L-左Z-中R-右)QXFWJ(Z)=待求点的中桩切线方位角(当求中桩坐标时显示)S= F=测站至待求点的水平距离、方位角(其中L-左Z-中R-右)(歪哥哥郑重声明:代码无误,输入注意!使用者使用不当所造成的一切损失概不负责!!)。
5800计算器全线贯通桥梁隧道道路高程边坡程序

FX5800计算器公路测量常用程序集2.3 版一、程序功能主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本优化:1、优化程序语句、2、取消原线元法计算,化线元法为交点法。
3、高程计算修改,4、附计算坐标及高程参数设计要素输入实例二、源程序(绿色为程序名;蓝色为输入计算器内容)红色为网友调试后修改笔误。
0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。
输入-2,返回选择线路。
程序名:0(数子0)ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY”:WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":WhileEnd: WhileZ[3]=33:Prog"9SD":WhileEnd:LpWhile Z[3]≠25:”XIE XIE SHI YONG”:1.主程序:一般坐标计算及放样程序程序名:1XYProg "DX":Prog"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z [1]:B→Z[9]: Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ? D: 0→L: "L0"?L:L→Z[10]: Porg"A":Z[2]+Z[1] →A :A-Z[9]→E:I+Dcos(A)+Z[10]cos(E→X:J+Dsin(A)+Z[10]sin(E→Y:Prog"XY": Prog"JS":LpWhile Z≠-12.主程序:由大概桩号及坐标反算桩号及距离程序名:2ZDProg"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-13.主程序:任意点高程计算及横坡程序名:3GCP rog"QX":0→B: "H-B"?B: B→Z[9]: Do: "KM"?Z:Z=-1=>Stop: Z=-2=>Break:?D:Prog"H":Fix 3: " H=": Locate 6,4,H-Z [9]:" I=":Locate 6,4,I:LpWhile Z≠-14.主程序:任意桩号位置的标准路基宽度计算程序名:4GDProg"QX": Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:-1→D:Prog"C":L→P:1→D: Prog"C":Fix 3: " LGD=": Locate 6,4,P:" RGD=":Locate 6,4,L:LpWhile Z≠-15、主程序:路基开挖边线及填方坡脚线放样程序程序名:5BPProg "DX":Prog"QX":0.5→B: "TH-GD"?B: B→Z[7]: Do:"K M"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: Porg"B":D→P :Prog"C":If D<0:Then 0. 75-L→D:Else L-0.75→D: IfEnd: Prog“H”:H-0.03-Z[8] →G: Prog “W1”:If G>0:Then Goto T: IfEnd:-G→H:If H>E+F:Then L+M+N+S+C(H-E-F)+BF+AE→S:Goto 0:IfEnd:If H>E:Then L+M+N+ B(H-E)+AE→S:Goto 0:IfEnd:If H<E:Then L+M+HA→S:Goto 0:IfEnd:LbI T:If G>W:Then L+Z[7]+V+J(G-W)+IW→S:Else L+Z[7]+GI→S:IfE nd:LbI 0: Fix 2: P→D :Abs(D)-S→T: " LX=":Locate 6,4,T:Prog"ZD":" TW=": Locate 6,4,G◢ LpWhile Z≠-16、主程序:定值放样路基桩计算填挖值程序名:6FMProg "DX":Prog"QX": Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: P rog"K": ?D: Porg"A":Z[2]+90→A :I+Dcos(A→X:J+Dsin(A→Y:P rog"XY":Prog"JS":Z[8]→M:”M0”?M:M→Z[8]:Prog “H”:” T W=”:Locate 6,4,H-Z[8]: LpWhile Z≠-17、主程序:桥梁锥坡计算放样程序名:7ZPProg"DX":Prog"QX":"Z0"?Z:"LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: D→Z[7]:R→Z[10]:Z→Z[9]:Prog”C”:L→Z[10]:Prog”K”: Do:Z[10]→Y:"L0:SZ+,DZ-"?Y: Y=-1=>Stop:Y=-2=>Break: √(Z[7]2(1-Y2/Z[10]2))→X:Z[9]+Y→Z: Prog”C”: If D>0:Then L+X→D:E lse –L-X→D:IfEnd:Prog”A”: Z[2]+90→A :I+Dcos(A→X:J+Dsin(A →Y:Prog"XY":Prog"JS": LpWhile Y≠-18、主程序:由坐标计算方位角及距离程序名:8JSProg "DX":Do:?X: X=-1=>Stop:X=-2=>Break:?Y:Prog”JS”: LpWhi le X≠-19、主程序:隧道超欠挖放样计算程序名:9SDProg"DX":0.65→A:”CQHD”?A:A→Z[7]:Do:"KM"?Z:Z=-1=>Stop:Z =-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: Porg"B":D→Z[9]:0→D:Prog”H”:Prog”SD1”:Z[9] →D:Z[8]→M:Z[7]→X:Rcos(P→C:H+A→A:H+B→B:C+A→E:If M<E:Then R-V→S: S=0=>Goto 1:√(S2-(B-A)2)S÷Abs(S→T:Abs(D-Q)-T→T:√(T2+(M-B)2) -V-X→L:Goto 0:IfEnd:LbI 1:√((D-Q)2+(M-A)2)-R-X→L:LbI 0:Fix 2:” LX=”: Locate 6,4,L:Prog”ZD”:“ H0=”: Locate 6,4,M-H◢LpWhile Z≠-110. 交点法正算子程序(A)程序名:AP÷Abs(P→W:O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:H→C:0→M: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≤Q: Then 180(Z-O+T-0.5H)÷R÷Π→S : Prog”AB”:A+R(1-Cos (S→E:B+Rsin(S→A:E→B:R→M:G+WS→Z[2]:A-T→A:G→E:Goto 2: If End:If Z≤Q+N:Then Q+N-Z→S:N→H:Prog “HX”:G+P→E:E-WK→Z[2]:F-A→A:C→H:Goto 2:IfEnd:Z-Q-N+F→S:G+P→Z[2]: LbI 1:U+Scos(Z[2]→I:V+Ssin(Z[2]→J:Ret urn:LbI 2:U+Acos(E)-WBsin(E→I:V+Asin(E)+WBcos(E→J11. 交点法反算子程序(B)程序名:B0→D:Do:Z+D→Z:Prog”A”:Pol(X-I,Y-J+×10-9: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)>.001:Z+D→Z:S→D12.缓和曲线段直角坐标计算子程序(AB)程序名:ABH2÷R÷24-H∧(4)÷2688÷R∧(3)+H∧(6)÷506880÷R∧(5)- H∧(8)÷154 828800÷R∧(7)→A:H÷2-H∧(3)÷240÷R2+ H∧(5)÷34560÷R∧(4)- H∧(7)÷÷R∧(6)+ H∧(9)÷3158507520÷R∧(8)→B13. 计算缓和曲线段坐标增量及偏角子程序(HX)程序名:HXS-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4)÷H∧(4)-S∧(13)÷599040÷R∧(6)÷H∧(6)+S∧(17)÷175472640÷R∧(8)÷H∧(8)→A:S∧(3)÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5)÷H∧(5)-S∧(15)÷÷R∧(7)÷H∧(7)+S∧(19)÷3530097000÷R∧(9)÷H∧(9)→B:90S2÷Π÷R÷H→K:If S=0:Then 0→M:Else RH÷S→M:IfEnd14.高程计算子程序(H)程序名:HProg “S1”:N-I→A:A÷Abs(A→W:R×Abs(A÷2→T:If Z<C-T:Then G+ I(Z-C→H:Goto 0:IfEnd:If Z<C+T:Then G-TI+(I+(Z-C+T)W÷2÷R)×(Z-C+T→H:Goto 0: IfEnd:N→I: G+I(Z-C→H:LbI 0:If D=0:Then H→H:Return:Else Prog “I”:H+I(Abs(D)-K→H:IfEnd15.高程超高计算横坡子程序(I)程序名:IProg “I1”:If S=0:Then M→I: Return:Else If W=1:Then ((N-M)×(Z-C)÷S+M→I:Return:Else (((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M→I:IfEnd:16.路基宽度子程序程序名:C1→S: Prog “G1”:Z-C→E:(B-A)E÷S+A→L17:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSZ[5]→K:Z[6]→L:Pol(X-K, Y-L:IF J<0:Then J+360→J:IFEnd:Int(J) +0.01Int(60Frac(J))+0.006Frac(60Frac(J→J: Fix 4:” FWJ=”: Lo cate 6,4,J:Fix 3:” S=”:Locate 6,4,I◢如果要显示度分秒,可将粉色部分去掉,后面的改成:“FWJ=”:J►D MS◢” S=”:Locate 6,4,I◢18.导线点子程序(DX)程序名:DXZ[5]→K:Z[6]→L:“XZ”?K:”YZ”?L:K→Z[5]:L→Z[6]19.线路选择子程序(线路选择输0时。
卡西欧5800完整程序

卡西欧5800计算程序(请仔细核对)(程序输完毕后记得先在普通模式扩展变量,输入:35→Dimz,按EXE键,出现Done,扩展成功)ZHYHZ(不运行,该程序为主线坐标的计算程序)E2÷24÷R→Z[1]: E÷2-E^(3)÷(240R2) →Z[2]: F2÷24÷R→Z[3]: F÷2-F^3÷(240R2) →Z[4]: (R+Z[1])tan(H÷2)+Z[2]-(Z[1]-Z[3])÷sin (H)→Z[5]: (R+Z[3])tan (H÷2)+Z[4]+(Z[1]-Z[3])÷sin (H)→Z[6]: tan-1 ((R+Z[1])÷(Z[5]-Z[2]))→ Z[7]: tan-1 ((R+Z[3])÷(Z[6]-Z[4])) →Z[8]: E÷R×90°÷π→Z[9]: F÷R×90°÷π→Z[10]: G+DH→Z[11]: A-Z[5]→Z[12]: Z[12]+E→Z[13]: Z[13]+( 90°-Z[7]-Z[9])Rπ÷180°→Z[14]: Z[13]+(H-Z[9]-Z[10]) Rπ÷180°→Z[15]: Z[15]+F→Z[16]: B+Z[5]cos (G-180°)→Z[17]: C+Z[5]sin (G-180°)→Z[18]: B+Z[6]cos (Z[11])→Z[19]: C+Z[6]sin (Z[11])→Z[20] ←┚If K≤Z[14]:Then E→Q: K-Z[12] →L: Else F→Q: Z[16]-K→L:IfEnd ←┚If K≤Z[12]: Then Goto 1:Else If K>Z[12] And K≤Z[13]: Then Goto 2: Else If K>Z[13] And K≤Z[14]: Then Goto 3: Else If K >Z[14] And K≤Z[15]: Then Goto 4: Else If K>Z[15] And K≤Z[16]: Then Goto 5: Else If K>Z[16]: Then Goto 6:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI 1:G→Z[26]: Z[17]-Lcos (G-180°)→Z[21]: Z[18]-Lsin(G-180°) →Z[22]: Goto 9←┚LbI 2: L-L^5÷(40R2Q2) →Z[23]: L^(3)÷(6RQ)- L^(7)÷(336R^(3)Q^(3)) →Z[24]: G+DL2×90°÷(QRπ) →Z[26]: Goto 7←┚LbI 3: (L-Q)×180°÷(Rπ)+Z[9]→Z[25]: Rsin (Z[25])+Z[2]→Z[23]: R(1-cos (Z[25]))+Z[1]→Z[24]: G+DZ[25]→Z[26]: Goto 7←┚LbI 4: (L-Q)×180°÷(Rπ)+Z[10]→Z[25]: Rsin( Z[25])+Z[4]→Z[23]: R(1-cos (Z[25]))+Z[3]→Z[24]: Z[11]-DZ[25]→Z[26]: Goto 8←┚LbI 5: L-L^5÷(40R2Q2)→Z[23]: L^(3)÷(6RQ)- L^7÷(336R^(3)Q^(3))→Z[24]: Z[11]-DL2×90°÷(QRπ)→Z[26]: Goto 8←┚LbI 6: Z[11]→Z[26]: Z[19]-L×cosZ[11]→Z[21]: Z[20]-Lsin (Z[11])→Z[22]: Goto 9←┚LbI 7: Z[17]+Z[23]cos(G)+Z[24]cos(G+D×90°)→Z[21]: Z[18]+ Z[23]sin(G)+Z[24]sin(G+D×90°)→Z[22]: Goto 9←┚LbI 8: Z[19]+Z[23]cos(Z[11]+180°)+Z[24]cos(Z[11]+ D×90°)→Z[21]: Z[20]+Z[23]sin(Z[11]+180°)+Z[24]sin(Z[11]+D×90°)→Z[22]: Goto 9←┚LbI 9: "JJ"?N:"PJ"?P: "X=":Z[21]+Pcos(z[26]+N)→X◢"Y=": Z[22]+Psin(Z[26]+N)→Y◢"QXFWJ="DMS◢←┚ZXZB(该程序为主线程序,只运行该程序)"CZX"?S:"CZY"?W ←┚LbI 0: "K"?K: If K<54074.263(第1条曲线的终点桩号带大桩号,也就是是缓直点桩号,下面同上): Then Goto A:Else If K<56247.409 (第2条曲线的终点桩号带大桩号)And K≥54074.263(第1条曲线的终点桩号带大桩号): Then Goto B:Else If K<58007.266 And K ≥56247.409: Then Goto C:IfEnd:IfEnd:IfEnd←┚(有几条曲线就是几个IfEnd)LbI A: 53203.87266(第1条曲线的交点桩号)→ A: 3560815.660(第1条曲线交点的X坐标)→B:484158.7230(第1条曲线交点的Y 坐标)→ C:76°10'54.56"(计算方位角)→G: 16°49'2.2"(转角)→ H:-1(路线左右偏,左-,右+)→D:4500(半径)→R:430→(第1缓和曲线的长度)E:430(第2缓和曲线的长度)→F:Prog"ZHYHZ": GotoW←┚(下面同上)LbI B: 55278.9644→ A: 3561878.191→B: 485952.830→ C: 59°21'52.34"→G: 19°22'48.7"→ H:+1→D:4500→R:430→E:430→F:Prog"ZHYHZ": GotoW←┚LbI C: 57236.8579→ A: 3562263.305→B: 487888.000→ C: 78°44'41"→G:14°13'19.1"→ H:-1→D:4500→R:430→E:430→F:Prog"ZHYHZ": GotoW←┚LbI W:"PJ1"?T←┚If T=0:Then X→Z: Y→M: GotoP: Else GotoV: IfEnd←┚LbI V:"JJ1"?O←┚"X1=": X+Tcos(Z[26]+N+O)→U◢"Y1=":Y+Tsin(Z[26]+N+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢"FWJ="DMS◢Goto0显示:1、CZX?(输入仪站X坐标)2、CZY?(输入仪站Y坐标)3、K?(输入所求桩号,带大桩号)4、JJ?(输入夹角,正交输90°,斜交输夹角)5、PJ?(输入偏距,左负右正,中桩输0)6、X=(所求X坐标)7、Y=(所求Y坐标)8、QXFWJ(所求曲线方位角)9、PJ1?(输入左右边桩再偏距离,前负后正,不需要再偏输0)10、JJ1?(输入左右边桩再偏夹角,上面输0,该步不会显示)11、X1= (所求左右边桩再偏X坐标)12、Y1= (所求左右边桩再偏Y坐标)13、JL= (仪站点至所求点的距离)14、FWJ=(仪站点至所求点的方位角)再往下继续计算Z-ZBFSLbI 0"DQX"?W:"DQY"?S←┚"JDX"?A:"JDY"?B:"A0"?G:"ZJ"?H:"Z(-1)Y(1)"?D:"R"?R:"LS1"?E:"LS2"?F:"K"?K←┚LbI 1←┚Norm 1: Prog"ZHYHZ": Pol(W-Z[21],S-Z[22]): If J>0:Then J →J:I→I: Else J+360°→J: I=I:IfEnd←┚J-Z[26]→Z[27]:Icos(Z[27])→Z[28]:K+Z[28]→K: If Abs(Z[28]≥0.001:Then Goto1:Else Fix 3:IfEnd:Isin(Z[27])→Z[29]: Fix 3:"FSJL=":Z[29] ◢"FSK=":K◢Goto 0反算时要在反算区域正算一次,获取曲线要素显示1、DQX?(输入反算时的X坐标)2、DQY?(输入反算时的Y坐标)3、然后一直按"EXE"出现下面的字符4、FSJL= (所求反算左右偏距,左负右正)5、FSK= (所求反算的桩号)6、再按继续运算WN(不运行)"ZS=1,FS=2"?N: 1÷P→C:(P-R)÷(2HPH)→D:180÷π→E: If N=1: Then Goto 1: Else Goto 2: IfEnd←┚LbI 1:1→I:0→Z:Abs(K-O)→W: Prog"ZS"←┚F-90→F←┚"JJ"?K:"PJ"?L: "ZX=":Z[7]+Lcos(F+K)→Z[3]◢"ZY=": Z[8]+Lsin(F+K)→Z[4]◢"QXFWJ="DMS◢Abs(Z)→Z:Goto 8←┚LbI 2:"X"?I:"Y"?J: Prog"FS":"FSZH=":O+W→K◢"FSJL=":Z◢Lbl 8正算子程序(ZS)(不运行)1÷P→C:(P-R)÷(2HPR)→D: 180÷π→E0.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)))→Z[7]:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Z[8]:G+QEW(C+WD)+90→F:Z[7]+ZcosF→Z[7]:Z[8]+ZsinF→Z[8]3反算子程序(FS)(不运行)G-90→T:Abs((Z[8]-V)cosT-(Z[7]-U)sinT)→W:0→Z←┚Lbl 0←┚prog"ZS":T+QEW(C+WD)→L:(J-Z[8])cosL-(I-Z[7])sinL→Z:If Abs(Z)<0.001: Then Goto1:Else W+Z→W:IfEnd :Goto 0←┚Lbl 1:0→Z:Prog"ZS":(J-Y)÷sinF→ZZX-WN(运行主程序,该程序适用于匝道,对全段完整非完整曲线计算太过麻烦)"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)LbI 0: "K"?K: If K≤218.50(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤373.307 And K>218.50: Then Goto B:Else If K≤526.691 And K>373.307: Then Goto C:Else If K≤946.255 And K>526.691: Then Goto D IfEnd:IfEnd:IfEnd: IfEnd←┚LbI A:3803701.508(起点X坐标)→U:494281.813(起点Y坐标)→V:0起点桩号→O:293°47'49"(方位角)→G:218.50(曲线长度)→H:3990.75 (起点半径)→P:3990.75 (止点半径)→R:+1(路线左右偏,左负右正)→Q:Prog "WN":Goto WLbI B:3803795.099→U:494084.403→V:218.50→O:296°56'2.4"→G:154.807→H:10^45 →P:10^45 →R:0→Q:Prog "WN":Goto W LbI C:3803865.221→U:493946.388→V:373.307→O: 296°56'2.4"→G:153.384→H:10^45 →P:496.5 →R:+1→Q:Prog "WN":Goto W LbI D:3803941.562→U:493813.538→V:526.691→O: 305°47'3.15"→G:419.564→H:496.5 →P:496.5 →R:+1→Q:Prog "WN":Goto WLbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←┚LbI V:"JJ1"?O←┚(左右边桩再偏夹角,用180°减去路线夹角)"X1=": Z[3]+Tcos(F+K+O)→U◢"Y1=" :Z[4]+Tsin(F+K+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢(仪站至测点的距离)"FWJ="DMS◢(仪站至测点的方位角)Goto01.规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0°2.当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值:当位于中线右侧时,Z取正值°当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替°3.当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径°4.当线元为完整的缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替°与圆曲线相接时,曲率半径等于圆曲线的半径,止点跟直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径°5.当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线衔接时,曲率半径等于圆曲线的半径°止点与直线相接时,曲率半径等于设计规定的值;与圆曲线衔接时,曲率半径等于圆曲线的半径°二、输入与显示说明1.输入部分:2.. 输入3.ZS=1,FS=2,选择计算方式,输入1正算;输入2反算4.数据库的输入5.U?线元起点的X坐标6.V?线元起点的Y坐标7.O?线元起点的里程8.G?线元的起点切点方位角9.H?线元的长度10.P?线元起点的曲率的半径11.R?线元止点的曲率的半径.12.ZY?线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)13.计算时:14.K?正算时所求的里程15.JJ?夹角,(正交90°,斜交直接输角度)16.PJ?偏距(左负右正)17..结果18.ZX=正算时,计算得出的测点的X坐标19.ZY=正算时,计算得出的测点的Y坐标20.QXFWJ=正算时,测点对应中线点的切线方位角21.PJ1?:左右桩号再偏距离,不需要时输022.JJ1? :左右边桩再偏角度23.JL=仪站与测点的距离24.FWJ=仪站与测点的方位角25.反算时输入:26.X?反算时所求点的X坐标27.Y?反算时所求点的Y坐标28.结果29.FSZH=反算时,计算得出的所求点的里程30.FSJL=反算时,计算得出的所求点的边距(负为左偏,正为右偏)GCJSAbs(C-D)×R÷2→Z[1]: A-Z[1]→Z[2]: A+Z[1]→Z[3]:If D-C>0:Then 1→E:Else -1→E:IfEnd←┚If K≤Z[2] :Then Goto 1:Else If K>Z[2] And K≤A: Then Goto 2: Else If K>A And K≤Z[3]: Then Goto 3: Else IF K>Z[3]:then Goto 4:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI 1: Z[2]-K→L: B-(Z[1]+L)×C→H: Goto 5←┚LbI 2: K-Z[2]→L: B-(Z[1]-L)×C+E×L2÷R÷2→H: Goto 5←┚LbI 3: Z[3]-K→L: B+(Z[1]-L)×D+E×L2÷R÷2→H: Goto 5←┚LbI 4: K-Z[3]→L: B+(Z[1]+L)×D→H:Goto 5←┚LbI 5:"EL=":H◢←┚主线高程(ZXGC)LbI 0: "K"?K: If K≤552.156(第1条竖曲线的终点下面同上): Then Goto A:Else If K≤1352.805 And K>552.156: Then Goto B:Else If K≤2045.311 And K>1352.805: Then Goto C:Else If K≤2493.942 And K>2045.311: Then Goto D:Else If K≤3265.244 And K>2493.942: Then Goto E:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd←┚LbI A: 501.436(边坡点桩号)→ A: 226.395(边坡点高程)→B: -0.0257(边坡点前坡比)→ C: -0.005(边坡点后坡比)→D:4900(半径)→R: Prog"GCJS": Goto F←┚(下面同上)LbI B: 1303.305→A: 222.386→B: -0.005→ C: 0.04→D:2200→R: Prog"GCJS": Goto F←┚LbI C: 1985.311→A: 249.666→B: 0.04→ C: -0.04→D:1500→R: Prog"GCJS": Goto F←┚LbI D: 2425.578→A: 232.055→B: -0.04→ C: -0.0218→D:7500→R: Prog"GCJS": Goto F←┚LbI E: 2849.694→A: 222.823→B: -0.0218→ C: -0.03→D:6000→R: Prog"GCJS": Goto F←┚LbI F:If K≤309.562(第1条曲线的终点): Then Goto 1:Else If K≤1053.022 (第2条曲线终点)And K>309.562: Then Goto 2:Else If K≤1354.954 And K>1053.022: Then Goto 3:Else If K≤1613.025 And K>1354.954: Then Goto 4:Else If K≤1863.124 And K>1613.025: Then Goto 5:Else If K≤2937.433 And K>2312.560: Then Goto 6:Else If K≤3145.553 And K>2937.433: Then Goto 7:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:←┚LbI 1: -0.015(直线段横坡)→ F: -0.02(圆曲线线段横坡)→G: 126.9(第1缓和曲线起点)→ I: 176.9(第1缓和曲线终点)→J:259.562(原曲线终点)→L: 309.562(第2缓和曲线终点)→M: 1(方向,左负右正)→N :Goto G←┚(下面同上)LbI 2: -0.015→ F: -0.02→G: 860.749→ I: 920.749→J:993.022→L: 1053.022→M:-1→N :Goto G←┚LbI 3: -0.015→F: -0.02→G: 1248.441→I: 1283.441→J:1319.954→L: 1354.954→M:+1→N :Goto G←┚LbI 4: -0.015→F: -0.02→G: 1439.731→I: 1489.731→J:1563.025→L: 1613.025→M:-1→N :Goto G←┚LbI 5: -0.015→ F: -0.02→G: 1712.165→ I: 1757.165→J:818.124→L: 1863.124→M: 1→N :Goto G←┚LbI 6: -0.015→F: -0.02→G: 2121.544→I: 2121.544→J:2312.560→L: 2312.560→M: 1→N :Goto G←┚LbI 7: -0.015→F: -0.02→G: 2752.223→I: 2812.223→J:2877.433→L: 2937.433→M: 1→N :Goto G←┚LbI 8: -0.015→F: -0.02→G: 3060.515→I: 3060.515→J:3145.553→L: 3145.553→M:-1→N :Goto G←┚LbI G:IfK≤I:Then Goto H :Else If K≤J And K>I: Then Goto I: Else If K≤L And K>J: Then Goto J: Else If K≤M And K>L: Then Goto K: Else If K>M: Then Goto L: IfEnd:IfEnd:IfEnd:IfEnd: IfEnd←┚LbI H:F→Z:F→Y: Goto 9LbI I:J=I=>Goto J:((K-I)× (Abs(F)+ Abs(G)))÷(J-I) -Abs(F)→Z[1]:If N=-1: Then Goto M: Else Goto N: IfEnd←┚LbI M:Z[1]→Y:If Z[1]≤-F:Then F→Z:Else –Z[1]→Z: IfEnd :Goto 9LbI N:Z[1]→Z:If Z[1]≤-F:Then F→Y:Else –Z[1]→Y: IfEnd :Goto 9LbI J:If N=-1:Then G→Z:-G→Y:Else -G→Z: G→Y: IfEnd: Goto 9←┚LbI K: M=L=>Goto L: (M-K)×(Abs(F)+ Abs(G))÷(M-L)- Abs(F)→Z[2]: If N=-1: Then Goto P: Else Goto Q: IfEnd←┚LbI P:Z[2]→Y:If Z[2]≤-F:Then F→Z:Else –Z[2]→Z: IfEnd :Goto 9LbI Q:Z[2]→Z:If Z[2]≤-F:Then F→Y:Else –Z[2]→Y: IfEnd :Goto 9LbI L:F→Z:F→Y: Goto 9Lbl 9:"ZC=1,YC=2"?X:If X=1:Then Goto V:EIse Goto W: IfEnd Ibl V:” BJZ”?J:”BHZ=”:H+J×Z◢Goto 0Ibl W:” BJY”?S:”BHY=”:H+S×Y◢Goto 0显示K?输入桩号显示结果:EL= 所求点中桩高程显示“ZC=1,YC=2”?左侧边桩输1,右侧边桩输2显示“BJZ”或“BJY”输入左右边桩的距离显示结果:“BHZ=”或“BHY=”所求点左右边桩的高程。
CASIO 5800道路坐标计算器程序

CASIO 5800计算器程序一、程序功能:本程序由一个主程序(AK)及两个子程序:坐标正算程序(SUB1)、坐标反算程序(SUB2)平曲线数据库(PQX)构成,可以根据曲线段的组成部分:直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、止点坐标、起点切线方位角、线元长度、起点曲率半径、止点曲率半径、里程、边距或坐标),对该曲线段范围内任意里程中边桩坐标进行正反算。
二、源程序:1、主程序(AK)A排在前面,方便运行程序,不用往下翻页了。
Deg:“0→ZX,1→A,2→B”?Z :“1→JDF,2→XYF”?E:“X(CZ)”?A:“Y”?B 说明:设置角度模式,选择线路0为主线,1为A匝道。
可以自己再增加。
选择计算方法,交点法还是线元法计算坐标,1为交点法,2为线元法。
输入测站坐标,如不需要计算极坐标,即放样的时候需要输入坐标到仪器里面去,则X(CZ)输0,Y不用管可以为任何值,建议把测站坐标输进去,省了放一个点输一次坐标数据到仪器里面去。
只有一条线路可以不需要黄色部分。
“1.Ki→XY,2.XY→Ki”?N:Lbl 0:“Ki”?K:Prog“PQX”IfE=1:Then Prog“JD”:IfEndN=1=>Goto 1:N=2=>Goto 2Lbl 1?LK-O→W:Prog“SUB1”说明:1为正算,即知道桩号和偏距(注意只能计算边桩,不能计算斜交的点,构造物可以通过后面的ZHIXIAN程序计算),2为反算,即知道坐标,求桩号和偏距。
Ki为桩号,正算直接输,反算需要输入附近桩号,第一次计算最好输好桩号之后,把反算出来的桩号再输进去,重新反算下,如果和第一次反算的桩号一样,那就说明反算的桩号正确。
调用平曲线数据库,输入偏距L(偏距左输负数,右输正数),如果选择的是交点法计算,那需要输入是数据库是交点数据,调用正算子程序SUB1。
If A≠0:Then Pol(X-A,Y-B):“JULI=”:I◢J<0=>J+360→J:“FWJ=”:J ▶DMS◢Else “Xi=”:X◢“Yi=”:Y◢“FWJ=”:F ▶DMS◢If End :Goto0说明:正算,如果前面X(CZ)输0,则直接显示X、Y坐标和方位角,否则显示仪器到放样点的距离和方位角。
5800坐标计算程序+方位角计算方法

1.主程序TYQXJSDefm10:Lbl 0: “1.LC=>XY”: “2.XY=>LC”: {V}:V=1=>GOTO 1: ≠> GOTO 2 △Lbl 1: {DZG}:D:Z”JL=”:G”J=”:Z=0=>G=0:△Prog “QXYS”: Prog “ZSZB” : ”X=”:X ◢”Y=”:Y◢J>360=>J=J-360:△J<0=>J=J+360:△"FWJ=":J→DMS◢{HU}:H“XC”:U“YC”:I=0:J=0:Pol(X-H,Y-U):J<0=>J=J+360:△“FW=”:J→DMS◢“S=”:I◢Prog “SQX”←┘GOTO 0←┘Lbl 2: D=***:Z=0:G=0:{MI}:M”XO”:I”YO”: Prog “FSZB”:”D=”:D ◢”JL=”:Z◢Prog “SQX”←┘GOTO 0←┘D=有效里程即线路起点里程2. 正算坐标ZSZBN=5:P=(1\E-1\R)÷Abs(K-F):Q=Abs(D-F)÷N:S=90Q÷π:J=C+(NPQ+2\R)NS:L=1←┘X=A+Q÷6×(Cos C+Cos J +4∑(Cos (C+((L+0.5)PQ+2\R)×(L+.5)S),L,0,(N-1))+2∑(Cos (C+((LPQ+2\R)LS,L,1,(N-1)))+ZCos(J+G):←┘Y=B+Q÷6×(Sin C+Sin J +4∑(Sin (C+((L+0.5)PQ+2\R)×(L+.5)S),L,0,(N-1))+2∑(Sin (C+((LPQ+2\R)LS,L,1,(N-1)))+Z Sin(J+G):←┘3. 反算坐标:FSZBLbl 0:Prog “QXYS” :Prog “ZSZB”:O=J-90:←┘P= (I-Y)cosO-(M-X) sinO :D=D+P:←┘AbsP≥0.001=> GOTO 0 :≠> GOTO 1 △←┘Lbl 1: Z= (I-Y)cosJ-(M-X) sinJ: ←┘4. 《SQX》高程计算子程序Prog“SB”:W=Z[1]-Z[2]:W>0=>Z[6]=-1:≠>Z[6]=1△Z[3]:T“T”=Abs(Z[3]W/2) :E“E”=T^2÷2Z[3]:C=D-Z[4]:D≦Z[4]=>Z[7]=Z[1]:≠>Z[7]=Z[2]△Z[5]:AbsC≦T=> “H0”: Z[8]=Z[5]+CZ[7]+Z[6](T- Abs C)^2÷2Z[3] ◢≠> “H0”: Z[8]=Z[5]+CZ[7]5、曲线元要素数据库:QXYS◢D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△┘……………………………D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘(注:如有多个曲线元要素继续添加入数据库QXYS中)6、《SB》竖曲线数据库D≥竖曲线起点里程=>Z[1]=?:Z[2]=?:Z[3]=?:Z[4]=?:Z[5]=?△D≥?=>Z[1]=?:Z[2]=?:Z[3]=?:…………△TYQXJS(主程序名)LbI 0:4→Dimz:Cls"1.SZ→XY""2.XY→SZ"?→N:Cls"XO"?U: "YO"?V: "SO"?O:"FO"?G: "LS"?H: "RO"?P:"RN"?R:?Q1÷P→C:(P-R)÷(2HPR) →D:180÷π→EN=2=>Goto 2LbI 1:Cls:?SS=0=>Goto 0 (注:當S輸入0時,程序會由LbI 0開始重新運行)Z:Abs(S-O)→WProg"SUB1":Cls"XS=":X◢"YS=":Y◢"FS=":F-90 ?DMS◢Goto 1LbI 2:Cls:?XX=0=>Goto 0 (注:當X輸入0時,程序由會LbI 0開始重新運行)Y:X→I:Y→JProg"SUB2":O+W→S:Cls"S=":S◢"Z=":Z◢Goto 2注:紅色部可以不要,亦可以要,它的作用是將S或X輸入0時,程序會重新由頭開始運行,(即是可以計算下段線元)SUB1(子程序名)0.1739274226→A:0.3260725774→B0.0694318442→K:0.330009482→L1-L→F:1-K→MG+QEKW(C+KWD)→Z[1]G+QELW(C+LWD)→Z[2]G+QEFW(C+FWD)→Z[3]G+QEMW(C+MWD)→Z[4]A×cos(Z[1])→X (剩號可省略)X+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)→YSUB2(子程序名)G-90→T(Y-V)cos(T)-(X-U)sin(T)→WAbs(W)→W:0→ZLbI 4:Prog"SUB1"T+QEW(C+WD)→L(J-Y)cos(L)-(I-X)sin(L)→ZIf Abs(Z)<1E-6:Then 0→Z Prog"SUB1" (J-Y)÷sin(F)→ZElse W+Z→W:Goto 4:IfEnd计算器主程序:ZHU-CHENG-XULbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。
公路工程卡西欧5800坐标及高程计算程序(带超高计算程序)

本套程序包含的主程序及子程序:
1、主程序:0---ZXJS
2、坐标计算判断数据库:ZXDATA
3、坐标正算子程序:SUB1
4、坐标反算子程序:SUB2
5、竖曲线判断数据库程序:ZXGC
6、超高段判断数据库程序:ZXGC
7、竖曲线高程计算子程序:SUB3
8、竖曲线超高计算子程序:SUB4
H-Z((J-I)(3((S-O)÷A)^2-2((S-O)÷A)^3)+I)→H
Return
If Abs(Z)<1e^(-4):Then Goto 1:Else W+Z→W
Goto 0
Lbl 1
0→Z:Prog “SUB1”:(J-Y)÷sin(F)→Z
5:竖曲线判断数据库程序:ZXGC
参数含义:
B:变坡点桩号
G:变坡点高程
I:变坡点前坡度(区分正负,带符号)
J:变坡点后坡度(区分正负,带符号)
V+W(Z[1]sin(G+QKZ[3]W(C+Z[3]WD))+Z[2]sin(G+QKZ[4]W(C+Z[4]WD))+Z[2]sin(G+QKFW(C+FWD))+Z[1]sin(G+QKMW(C+MWD))→Y
G+QKW(C+WD)→Z[5]
Z[5]+E→F
X+Zcos(F)→X
Y+Zsin(F)→Y
Goto B
2、坐标计算判断数据库:ZXDATA
遵循 直线-缓和曲线-圆曲线-缓和曲线-直线 法则 无缓和曲线可以省略缓和曲线参数
卡西欧5800计算器全线坐标计算放样正反算(线路测量必备)

5800计算器全线坐标计算放样正反算(定稿)5800计算器全线坐标计算放样正反算程序(定稿)彭赐明主程序坐标正反算程序名称:ZBZFSLB1 A↙Cls : Fix 4 : 30→Dim Z :"0=ZS,1=FS,2=FY"?Z ↙If Z=0:Then Goto B:IfEnd↙(Z=0进入里程点坐标正算)If Z=1:Then Prog"FSLCBZ ": Goto A:IfEnd↙(Z=1进入反算里程边桩)If Z=2:Then Goto C:IfEnd↙Lb1 B ↙“K=”?K :(计算里程)Prog"SJK1 ":”XI=”:Locate6,4,Z[18]:”YI=”: Locate6,4,Z[19]◢“PJ=”?P:”PD=”?D:Z[18]+D*Cos(T+P)→Z[20]:Z[19]+D*Sin(T+P)→Z[21]:Z[18]- D*Cos(T+P) →Z[22]: Z[19]-D*Sin(T+P)→Z[23]:”XLP=”:Locate6,4,Z[22]:”YLP=”: Locate6,4,Z[23]: ”XRP=” :Locate6,4,Z[20]:”YRP=”: Locate6,4,Z[21] ◢Goto B↙Lb1 C"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y): “XHS="?G(后视点X):"YHS="?L(后视点Y): Pol(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":J→DMS◢(后视方位角)Lb1 D ↙“K=”?K :(计算里程)Prog"SJK1 ": Prog" ZBFY " :Goto D子程序数据库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*SIN 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"SJK1":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:Goto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"DP(-Z+Y)=":I◢(偏距)(由于该程序不能准确判断边桩左右方向,暂作修改,取消左右边判定)"K=":K+S→K◢(里程)Return↙子程序坐标放样:ZBFYLB1 0 ↙“QXJ=”:T◢(计算里程点切线方位角,可以不显示)Pol(Z[18]-M,Z[19]-N):"DI=":I(后视距)◢J<0=>J+360→J:"FI=":J→DMS◢(后视方位角)“XI=”: Z[18] ◢(中线X)“YI=”: Z[19] ◢(中线Y)“PJ=”?P:”PD=”?D:Z[18]+D*Cos(T+P)→Z[20]:Z[19]+D*Sin(T+P)→Z[21]Pol(Z[20]-M,Z[21]-N):"DP=":I◢J<0=>J+360→J:"FP=":J→DMS◢“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)Return↙。
Fx-5800计算器程序(含定向及放样方位角、距离计算)

Fx-5800计算器程序一、道路放样(含定向及放样方位角、距离计算)1、主程序:1JDZB(利用第一交点坐标,第二交点坐标,第三交点坐标及里程,偏角,半径,缓和曲线长度计算)20→DimZ“JD1X=”:?X:X→Z[1]:“JD1Y=”:?Y:Y→Z[2]: 输入JD1坐标“JD2X=”:?X:X→U:“JD2Y=”:?Y:Y→V: 输入JD2坐标“JD3X=”:?X:X→Z[3]:“JD3Y=”:?Y:Y→Z[4]: 输入JD3坐标I=PoI(U-Z[1],V-Z[2]):If J<0:Then J+360→J:EIse J→J:IfEnd:J→F:"F12=":F►DMS▲显示起始边方位角I=PoI(Z[3]-U,Z[4]-V):If J<0:Then J+360→J:EIse J→J:IfEnd:J→Z[5]:"F23=":Z[5]►DMS▲显示结束边方位角F-Z[5]→A:If A<-180:Then A+360→A:EIse A→A:If End:"A=":A►DMS▲显示偏角Prog“2FJDA”2、次主程序:2FJDA(利用起始方位角,交点坐标及里程,偏角,半径,缓和曲线长度计算)"HX="?X:"HY="?Y: 输入定向(后视点)坐标"ZX="?H:"ZY="?K: 输入测站点坐标Prog“J”显示定向(后视点)距离和方位角“A=”?A:输入偏角(左“-”右“+”),当利用1JDZB程序时,不用再次输入“R=”?R:输入平曲线半径“LS=”?L:输入缓和曲线长度“JDL=”?N:输入平曲线交点里程“JDX=”?U:输入交点X坐标,当利用1JDZB程序时,不用再次输入“JDY=”?V:输入交点Y坐标,当利用1JDZB程序时,不用再次输入“F=”?F:输入起边方位角,当利用1JDZB程序时,不用再次输入180/R/π→Z:ZL/2→B: “B=”:B►DMS▲缓和曲线角“P=”:L^(2)/(24R)-L^(4)/(2688R^(3))→P▲内移距“Q=”:L/2-L^(3)/(240R^(2))+L^(5)/(34560R^(4))→Q▲切线增长“T=”:(R+P)tan(Abs(A/2))+Q→T▲显示平曲线切线长度“E=”:(R+P)/Cos(Abs(A/2))-R→E▲显示平曲线外距值“L=”:(Abs(A)-2B)/Z+2L→o▲显示平曲线曲线长度“D=”:2T-o→D▲显示球曲差30→DimZ“ZH=”:N-T→Z[1]▲显示直缓点里程“HY=”:Z[1]+L→Z[2]▲显示缓圆点里程“QZ=”:Z[1]+o/2→Z[3]▲显示曲中点里程“YH=”:Z[1]+o-L→Z[4]▲显示圆缓点里程“HZ=”:Z[1]+o→Z[5]▲显示缓直点里程“ZHX=”:U+Tcos(F+180)→Z[7]▲显示直缓点X坐标“ZHY=”:V+Tsin(F+180)→Z[8]▲显示直缓点Y坐标“HZX=”:U+Tcos(F+A)→Z[15]▲显示缓直点X坐标“HZY=”:V+Tsin(F+A)→Z[16]▲显示缓直点Y坐标0→C:0→W:L-L^(3)/(90R^(2))→C:ZL/6→W:If A<0:Then -W→W: EIse W→W: If End:“HYX=”:Z[7]+Ccos(F+W)→Z[9]▲显示缓圆点X坐标“HYY=”:Z[8]+Csin(F+W)→Z[10]▲显示缓圆点Y坐标“YHX=”:Z[15]+Ccos(F+A+180-W)→Z[13]▲显示圆缓点X坐标“YHY=”:Z[16]+Csin(F+A+180-W)→Z[14]▲显示圆缓点Y坐标If A<0:Then -B→B:EIse B→B:If End:0→S:0→C:0→W:o/2-L→S:SZ/2→W:2Rsin(W)→C:If A<0:Then -W→W: EIse W→W:If End:“QZX=”:Z[9]+Ccos(F+B+W)→Z[11]▲显示曲中点X坐标“QZY=”:Z[10]+Csin(F+B+W)→Z[12]▲显示曲中点Y坐标LbI8:“LP=”?→M:Prog“3ZBJS”:Goto8 输入放样点P里程3、子程序:3ZBJS20→DimZ0→S:0→W:0→D:0→G:If M≤Z[1]:Then F+180→W:F+90→G:N-M→S:U→P:V→Q:Goto5: Else If M≤Z[2]:Then M-Z[1]→S:Z[7]→P:Z[8]→Q:Goto1:Else If M<Z[4]:Then M-Z[2]→S:Z[9]→P:Z[10]→Q:Goto2:Else If M<Z[5]:Then Z[5]-M→S:Z[15]→P:Z[16]→Q:Goto1: Else F+A→W:W+90→G:T+M-Z[5]→S:U→P:V→Q:Goto5:If End:LbI 1:ZS^(2)/(6L)→W:3W→G:S-S^(5)/(90R^(2)L^(2))→S:If A<0:Then -W→W:-G→G:EIse W→W:G→G:If End:If M<Z[2]:Then F+W→W:F+G+90→G:EIse F+A+180-W→W:F+A+180-G-90→G:If End:Goto5:LbI 2:SZ/2→W:2W→G:2Rsin(W)→S:If A<0:Then -W→W:-G→G:EIse W→W:G→G:If End:F+B+W→W:F+B+G+90→G:Goto5:LbI 5:“X=”:P+Scos(W)→Z[13]▲“Y=”:Q+Ssin(W)→Z[14]▲Z[13]→X:Z[14]→Y:Prog“J”:显示放样点(前视点)距离和方位角Goto6:LbI 6:“BZ=”?D: 输入偏距(左“-”右“+”)“X=”:Z[13]+Dcos(G)→Z[17]▲“Y=”:Z[14]+Dsin(G)→Z[18]▲Z[17]→X:Z[18]→Y:Prog“J”显示放样点(前视点)距离和方位角4、子程序:JI=PoI(X-H,Y-K):If J<0:Then J+360→J:EIse J→J:IfEnd:"S=":I▲"F=":J►DMS▲。
fx-5800p全线坐标正反算带高程计算程序(线元法)

曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能及原理1.功能说明:本程序由一个主程序(TYQXJS)和五个子程——正算子程序(SUB-ZS)、反算子程序(SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO fx-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。
二、源程序1.主程序(TYQXJS)Deg:fix 3119→DimZ“INPUT(0) Or DATA(Else)”?ILbl 0:“1.SZ=>XY,2.XY=>SZ,3.TF=>CK,4.SD=>FY,5.TW=>FY”?NIf N=1 Or N=5:Then Goto 1Else If N=2 Or N=3 Or N=4:Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“K(m)=”?SIf S<0:Then Goto 0:IfEnd“JL(m)=”?ZIf Z≠0:Then “ANGLE→R(Deg)=”?M:IfEndIf I=0:Then Prog “DAT1”:Else Prog “DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then Goto 0:IfEnd:IfEndProg “SUB-ZS”:Prog “SUB-GC”If Z<0:Then“XL(m)=”:X◢“YL(m)=”:Y◢If N=5:Then Prog “SUB-TW”:IfEndElse If Z>0:Then “XR(m)=”:X◢“YR(m)=”:Y◢If N=5:Then Prog “SUB-TW”:IfEndElse “X(m)=”:X◢“Y(m)=”:Y◢“Hs(m)=”:L◢“FWJ=”: F►DMS◢IfEnd:IfEndGoto 1Lbl 2:“X(m)=”?X:If X<0:Then Goto 0:IfEnd“Y(m)=”?YIf N=3 Or N=4:Then “H(m)=”?→Z[2]:IfEndX→Z[4]:Y→Z[5]:90→MIf I=0:Then Prog “DAT1”G+QEH(C+HD)→F:1→J:U→Z[8J]:V→Z[8J+1]G-M→A:F-M→B:Prog “SUB-ZX1”:Goto BG+M→A:F+M→B:Prog “SUB-ZX1”:Goto B:IfEnd0→J:Lbl A: Isz JZ[8J+3]-M→A:Z[8(J+1)+3]-M→B:Prog “SUB-ZX1”If Z[6]Z[7]<0:Then J→J:Prog“DAT1” :Goto B:IfEndZ[8J+3]+M→A:Z[8(J+1)+3]+M→B:Prog “SUB-ZX1”If Z[6]Z[7]<0:Then J→J:Prog “DAT1” :Goto B:Else Goto A:IfEndLbl B:Prog“SUB-FS”O+W→S:Prog “SUB-GC”“K(m)=”:S◢“Hs(m)=”:L◢“JL(m)=”:Z◢If N=3:Then Prog “WIDE”:IfEndIf N=4:Then Prog “SDFY”:IfEndGoto 2Lbl 3:“TYQXJS→END”2. 正算子程序(SUB-ZS)0.1184634425→A: 0.2393143352→B:0.2844444444→Z[1]:0.0469100770→K:0.2307653449→L:0.5→Z[3]U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Z[1]cos(G+QEZ[3]W(C+Z[3]WD))+Bcos(G+QE(1 -L)W(C+(1-L)WD))+Acos(G+QE(1-K)W(C+(1-K)WD)))→XV+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Z[1]sin(G+QEZ[3]W(C+Z[3]WD))+Bsin(G+QE(1-L)W(C+(1-L)WD))+Asin(G+QE(1-K)W(C+(1-K)WD)))→YG+QEW(C+WD)+M→FX+Zcos(F)→X:Y+Zsin(F)→YF-M→F:If F<0:Then F+360→F:IfEndReturn3. 反算子程序(SUB-FS)G-M→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→ZLbl C:Prog “SUB-ZS”T+QEW(C+WD)→L:(Z[5]-Y)cos(L)-(Z[4]-X)sin(L)→ZIf Abs(Z)<10-6:Then Goto D:Else W+Z→W:Goto C:IfEndLbl D:0→Z:Prog “SUB-ZS”:(Z[5]-Y)÷cos(F)→Z:Return4.高程计算子程序(SUB-GC)Prog “DAT3”0.5RAbs(0.01(E-D))→TIf E>D:Then 1→C:Else -1→C:IfEndIf S<A:Then -0.01D→W:Else 0.01E→W:IfEndAbs(A-S)→LIf L>T:Then B+WL→L:Else B+WL+C(T-L)2÷2÷R→L:IfEndReturn5. 垂距计算子程序(SUB-ZX1)(Z[5]-Z[8J+1])cos(A)-(Z[4]-Z[8J])sin(A)→Z[6](Z[5]-Z[8(J+1)+1])cos(B)-(Z[4]-Z[8(J+1)])sin(B)→Z[7]Return6.曲线元要素数据库:DAT1(两条线路,可扩充为多条线路)If I=0:Then Goto E: Else If I=2:Then Goto F:IfEnd:IfEndJ=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEndJ=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→Z[23]:IfEndJ=3=>***→Z[24]***→Z[25]:***→Z[26]:***→Z[27]:***→Z[28]:***→Z[29]:***→Z[30]:***→[31]:IfEnd………………………………………………..Goto HLbl F: J=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEndJ=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→Z[23]:IfEndJ=3=>***→Z[24]***→Z[25]:***→Z[26]:***→Z[27]:***→Z[28]:***→Z[29]:***→Z[30]:***→[31]:IfEnd(注:如有多个曲线元要素继续添加入数据库DAT1中)Goto GLbl E:“X0=”?U:“Y0=”?V:“S0=”?O:“F0=”?G:“LS=”?H:“R0=”?P:“RN=”?R:“Q=”?Q Lbl G:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:Return7.隧道放样子程序:SDFY5.5→A:8.5→B:L+1.5→CIf I=1:Then -1→K:Else 1→K:IfEnd 给左右隧道符号赋值1.25K→F:4.25K→L:7.25K→K 给各圆心距路线的偏距赋值Z[2]-C→D 计算测点至圆心的高差D,If D>A:Then Goto 1:Else If D<0:Then Goto 2:IfEnd:IfEndZ-L→E:Abs(E)→E:√(D2+E2)→W:W-A→T: 计算测点至圆心的平距E,实测半径W “R(m)=”:W◢“DR(m)=”:T◢If E≤A:Then D-√(A2-E2)→C:E-√(A2-D2)→L 计算测点水平偏移量L、垂直偏移量C “Dh(m)=”:C◢显示测点垂直偏移量C“DL(m)=”:L◢显示测点水平偏移量LElse E-√(A2-D2)→L“DL(m)=”:L◢IfEnd:ReturnLbl 1Z-L→E:Abs(E)→E:√(D2+E2)→W:W-A→T: 计算测点至圆心的平距E,实测半径W “R(m)=”:W◢“DR(m)=”:T◢If E≤A:Then D-√(A2-E2)→C“Dh(m)=”:C◢IfEnd:ReturnLbl 2:Abs(D)→D:Abs(Z)→Z:Abs(K)→K:Abs(F)→FIf Z>K:Then Z-F→E:Else Z+K→E:IfEnd√(D2+E2)→W:W-B→T“R(m)=”:W◢“Rc(m)=”:T◢If E≤B:Then D-√(B2-E2)→C:E-√(B2-D2)→L 计算测点水平偏移量L、垂直偏移量C “Dh(m)=”:C◢显示测点垂直偏移量C“DL(m)=”:L◢显示测点水平偏移量LElse E-√(B2-D2)→L“DL(m)=”:L◢显示测点水平偏移量LIfEnd:Return8.曲线元要素判断数据库:DAT2(两条线路,可扩充为多条线路)If I=2:Then Goto A:IfEndIf S<第一线元终点里程:Then 1→J:Prog “DAT1”:ReturnElse If S<第二线元终点里程:Then 2→J:Prog “DAT1”:ReturnElse If S<第三线元终点里程:Then 3→J:Prog “DAT1”:ReturnElse If S<第四线元终点里程:Then 4→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndIf S≥第四线元起点里程And S<第五线元终点里程:Then 5→J:Prog “DAT1”:Return .................................Else If S<第n线元里程:Then n→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndLbl AIf S<第一线元终点里程:Then 1→J:Prog “DAT1”:ReturnElse If S<第二线元终点里程:Then 2→J:Prog “DAT1”:ReturnElse If S<第三线元终点里程:Then 3→J:Prog “DAT1”:ReturnElse If S<第四线元终点里程:Then 4→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndIf S≥第四线元起点里程And S<第五线元终点里程:Then 5→J:Prog “DAT1”:Return Else If S<第n线元里程:Then n→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEnd .................................9.高程数据库子程序:DAT3(两条线路,可扩充为多条线路)If I=0:Then Goto A:Else If I=2:Then Goto B:IfEnd:IfEndIf S≤46500:Then 46150→A:361.26→B:40000→R:-0.3→D:-1.2→E:ReturnElse If S≤47200:Then 46800→A:353.46→B:20000→R:-1.2→D:1→E:ReturnElse If S≤48400:Then 47500→A:360.46→B:20000→R:1→D:-1.6→E:ReturnElse If S≤49600:Then 48700→A:341.26→B:10000→R:-1.6→D:2.45→E:Return IfEnd:IfEnd:IfEnd:IfEndIf S>49600 And S≤50300:Then 49840→A:369.19→B:100000→R:2.45→D:2.8→E:Return Else If I=2:Then49800→A:368.21→B:150000→R:2.45→D:2.7→E:ReturnIfEnd:IfEndLbl A:“C PEG(m)=”?→A“C H(m)=”?→B“R(m)=”?→R“I1=”?→D“I2=”?→EReturnLbl B49800→A:368.21→B:150000→K:2.45→D:2.7→E:Return10.填方路基宽度检查子程序(WIDE)“WIDTH CHECK”◢“H→MID(m)=”?→A 起坡点与中桩高差常数“DIST→MID(m)=”?→B 起坡点与中桩距离常数“i=”?→C 路基填筑坡度CAbs(Z[2]-L+A)→DAbs(Z)-B-D→E“DL(m)=”:E◢显示实有宽度与应有宽度之差值Return11.坡口坡脚线坐标计算子程序:SUB-TW“TIANWA LINE”◢“DIST→MID(m)=”?A 起坡点与中桩距离常数“H→MID(m)=”?B 起坡点与中桩高差常数“T(1) Or W(Else)=”?C 填方边坡为1,其它为挖方边坡“i=”?E 填方或挖方边坡坡度Abs(Z)-A→D: DE→KIf C=1:Then L-B-K→W:Else L+B+K→W:IfEnd“JS H(m)=”:W◢计算出应有高程“SC H(m)=”?→D 输入实测高程D-W→T“GC(m)=”:T◢显示实测高程与计算高程的差异Return三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
卡西欧5800公路坐标正反算程序

卡西欧5800公路坐标正反算程序(总19页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除目录一、坐标正算基本公式 (02)二、坐标反算原理 (04)三、高程数据库录入变换 (05)四、计算器程序 (07)01、ZBZS(坐标正算) (07)02、ZBFS(坐标反算) (08)03、GCJF(高程积分) (09)04、PJFY(坡脚放样) (10)05、JFCX(积分程序) (11)06、ZBFY(坐标放样) (11)07、DT(递推) (12)08、HP(横坡) (13)09、LK(路宽) (14)10、SJK1(平面数据库) (14)11、SJK2(纵面数据库) (14)12、SJK3(左路宽度数据库) (15)13、SJK4(右路宽度数据库) (15)14、SJK5(横坡数据库) (16)15、SJK6(下边坡数据库) (16)16、SJK7(左上边坡数据库) (17)17、SJK8(右上边坡数据库) (18)五、后记 (19)CASIO 5800计算器公路工程测量程序一、正算所涉及的计算公式 X R i d XαβBd Y d l d βI图表 1在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标点。
设:A 点的X 坐标为X A ,Y 坐标为Y A ,A 点的切线方位角为α,A 点的曲率为ρA ,A 点的里程为L A ,B 点的曲率为ρB ,B 点的里程为L B ,I 点的曲率为ρI ,I 点的里程为L I 。
I 点的切线角为β。
由于回旋线上各点曲率半径R i 和该点至曲线起点的距离L 成反比。
故此任意点的曲率为;CL R i i ==1ρ (c 为常数) (1) 由式(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为L i 点的曲率为;AB A i A B A i L L L L --⨯-+=)(ρρρρ (2) 当曲线右偏时ρB 、ρA 取正值,反之取负值。
坐标计算、标高计算和桩号计算CASIO5800程序汇总

根据施工需要,我标段测量组编辑了三大CASI0 fx-5800p计算程序,分别为任意点坐标计算程序“XXGS”、任意点标高计算程序的扩充程序“BGJS”、任意点桩号计算程序“ZHJS”此三个程序为独立开发程序,有较高的借鉴意义。
下面介绍程序的编辑与使用“XXGS”主程序,坐标计算程序Deg:Fix4 定义四位有效小数“XJ=”?W 输入右夹角,垂直为90°、三都河为75°Lbl 1:“DKI=”?H:“L=”?O:Prog“ROAD-DATA1”第一循环开始,输入变量桩号与边距,进入子程序调取参数(E-D)÷Abs(G-F)→P:Abs(H-F)→Q:P×Q→I 计算参数P、Q、I“J=”:C+(I+2D) ×Q×90÷π→J◢计算切线方位角并显示方位角C+(I÷4+2D)Q×45÷(2π) →M:C+(3I÷4+2D)Q×135÷(2π) →N 计算参数M、NC+(I÷2+2D)Q×45÷π→K 计算参数KA+(Q÷12)(cosC+4(cosM+cosN)+2cosK+cosJ)→X:B+(Q÷12)(sinC+4(sinM+sinN)+2sinK+sinJ)→Y:“XL=”:X+Ocos(J+W)→U◢“YL=”:Y+Osin(J+W)→V◢计算中桩坐标,显示相应边桩坐标Goto1 循环结束“ROAD-DATA1”数据库子程序84994.506→F:86081.185→G:If H≤G:Then 3094440.1858→A:498527.6831→B:264°45′56.83″→C:0→D:0→E:Return:IfEnd上述的意思是,定义84994.506为起点桩号,86081.185为终点桩号,假如输入的桩号H小于等于86081.185时,则3094440.1858为起点的X坐标,498527.6831为起点的Y坐标,264°45′56.83″为起点的切线方位角,0为起点的曲率,0为终点的曲率,此段结束。
fx-5800计算器编程(原创)-40页文档资料

第 1 页卡西欧Fx-5800P计算器一、Fx-5800P编程命令1、基本操作命令(1)分隔语句。
不停止程序的执行。
(2)(3)(4)2、关系运算子3、转移命令(1) n。
第 2 页(2)及后面的所有见容。
<变量>值为零,则会跳过语句1和语句2以及执行该命令后的所有内容。
(3)<变量>值非零,则执行语句1,然后执行语句2以及后面的所有见容。
<变量>值为零,则会跳过语句1和语句2以及执行该命令后的所有内容。
(4)4、控制结构命令:(1)(2)之间语句的执行重复进行,每次执行控制变量都加1(从始值开始)。
当控制变量的值到达终值时,执行会跳至Next后面的语句。
如果Next后面没有语句,则停止程序的执行。
(3)第 3 页(4)5、子程序调用命令(1)从当前程序(主程序)执行另一个其它程序(子程序)。
最多可以嵌套10层子程序。
6、程序控制命令(1)(2) 从子程序返回调用此子程序的程序。
在主程序中,此命令会终止程序。
(3) 强制终止程序执行。
在子程序中执行此命令会终止所有执行,包括所有子程序和主程序。
7、输入/输出命令(1) 返回如下代码之一(对应按的最后一个键)。
如果未按键,则返回0。
8、显示屏幕命令(1) 显示为注释文本。
(2) 清除显示器中的所有表达式和计算结果。
(3)在指定的屏幕位置显示指定值或字符串。
9、逻辑运算子命令(1)运算两端的表达式(相等或不相等),并基于它们的逻辑积返回真或假。
(2)运算两端的表达式(相等或不相等),并基于它们的逻辑积返回真或假。
(3)运算后面紧邻的表达式(相等或不相等),并返回其非值。
10、清除命令(1)清除所有列表数据。
(2)将所有变量清零。
(3)清除所有矩阵存储器的内容。
(4)清除所有公式变量。
二、Fx-5800P涵数命令1、绝对值2、正弦涵数3、余弦涵数4、正切涵数第 4 页三、fx-5800P计算器编程1、线路坐标计算[XLJS](主程序)使用说明(1)功能计算线路中桩、边桩坐标。
5800计算器全线坐标计算放样程序(修改第三版)

5800计算器全线坐标计算放样程序(修改第三版)5800计算器全线坐标计算放样程序(修改版)“XLZBJSCX” ◢LB1 0 ↙CLS : FIX 4 : 30→DIM Z ↙“XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y)0l(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":J→DMS◢(后视方位角)LB1 1 ↙“K=”?K ◢(计算里程)IF K<本段曲线终点里程AND K≥上段曲线终点里程:THEN 本段终点里程→Z[1] : 上段曲线终点里程→Z[2] :1→0 (注:左偏曲线输入-1→0,右偏曲线输入1→0): 偏角→A:半径→R : 第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : G0T0 2 : IFEND↙…………(曲线段分段输入)补充直线段输入如下IF K<本段直线终点里程 AND K≥本段直线起点里程:THEN 1→0:本段直线终点里程→Z[2]:终点X→Z[16]:终点Y→Z[11]:方位角→E:G0T0 4:IFENDLB1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1)Z[7]/2- Z[6]^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[3]+ Z[2])→W ↙(曲线总长)90* Z[6]/(R*π) →Z[14] ↙(第一缓和曲线总偏角)90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)Z[8]+(R+Z[10])TAN(A/2)-(Z[11]-Z[11] )/SIN A→Z[11]↙(切线T1) Z[9]+(R+Z[12])TAN(A/2)+(Z[10]-Z[12] )/SIN A→Z[12]↙(切线T2) B+ Z[12]*C0S (E+180)→ Z[13] ↙(ZH点X)C+ Z[12]*SIN(E+180)→ Z[15] ↙(ZH点Y)Z[1]-S→Z[3] ↙ (ZH点里程)Z[3]+ Z[6]→Z[4] ↙(HY点里程)Z[1]- Z[7]→Z[5] ↙(YH点里程)G0T0 3 ↙LB1 3 ↙(判断里程点与曲线关系)IF K≤Z[3]AND K> Z[2] : THEN G0T0 4 : IFEND ↙IF K≤Z[4]AND K> Z[3] : THEN G0T0 5 : IFEND ↙IF K≤Z[5]AND K> Z[4] : THEN G0T0 6 : IFEND ↙IF K≤Z[1]AND K> Z[5] : THEN G0T0 7 : IFEND ↙LB1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →X : 0→Y : E→T : PR0G“TYZBCX” :G0T0 1 ↙LB1 5 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →X ↙H^3/(6*R* Z[6])-H^7/(3362*R^3* Z[6]^3) →Y ↙90*H^2/( R*π* Z[6]) →T ↙IF 0>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : I FEND ↙PR0G“TYZBCX” :G0T0 1 ↙LB1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*SIN T+ Z[8]→X ↙R*(1-C0S T)+ Z[13]→Y ↙IF 0>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙PR0G“TYZBCX” :G0T0 1 ↙LB1 7 ↙(第二缓和曲线独立坐标)Z[1] -K →H ↙H-H^5/(40*R^2* Z[7]^2)+H^8/(3456*R^4* Z[4]^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]C0S A+ Z[12]-U*C0S A-V*SIN A→X ↙Z[13]*SIN A-U*SIN A+V*C0S A→Y ↙IF 0>0 :THEN F-T→T : T<0=>360+T→T : ELSE F+T →T : IFEND ↙PR0G“TYZBCX” :G0T0 1 ↙子程序:“TYZBCX” ↙(统一坐标计算)IF 0<0 : THEN -Y→Y : IFEND ↙“QXJ=” :T◢(计算里程点切线方位角,可以不显示)Z[16]+X*C0S E-Y*SIN E→Z[15] ↙Z[17]+X*SIN E+Y*C0S E→Z[12] ↙“XI=” : Z[13] ◢(中线X)“YI=” : Z[19] ◢(中线Y)P0l(Z[18]-M,Z[13]-N):"DI=":I(中桩放样距)◢J<0=>J+360→J:"FI=":J→DMS◢(中桩放样方位角)“PJ=”?P◢(输入边桩与线路夹角,左-右+)“PD=”?D◢(输入边桩距)Z[12]+D*C0S(T+P) →Z[20] ↙Z[13]+D*SIN(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)P0l(Z[20]-M,Z[21]-N):"DP=":I◢(边桩放样距)J<0=>J+360→J:"FP=":J→DMS◢(边桩放样方位角)一、程序功能主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
卡西欧5800计算器坐标正反算程序(带详细说明)

卡西欧5800程序完整版"ZS=1,FS=2"?N: 1÷P →C:(P-R)÷(2HPH)→D:180÷π→E: If N=1: Then Goto 1: Else Goto 2: IfE nd←┚LbI 1:1 →I:0 →Z:Abs(K-O) →W: Prog"ZS"←┚F-90→F←┚"JJ"?K:"PJ"?L: "ZX=":X+Lcos(F+K) →Z[3]◢"ZY=": Y+Lsin(F+K) →Z[4]◢"QXFWJ=":F DMS◢Abs(Z) →Z:Goto 8←┚LbI 2:"X"?I:"Y"?J: Prog"FS":"FSZH=":O+W→K◢"FSJL=":Z◢Lbl 8正算子程序(ZS)(不运行)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+FWD))+Asin(G+QEMW(C+MWD)))→Y:G+QEW(C+WD)+90→F:X+ZcosF→X:Y+ZsinF→Y3反算子程序(FS)(不运行)G-90→T:Abs((Y-V))cos(T)-(X-U)sin(T)→W:0→Z←┚Lbl 0←┚prog"ZS":T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<0.001: Then Goto1:E lse W+Z→W:IfEnd :Goto 0←┚Lbl 1:0→Z:Prog"ZS":(J-Y)÷sinF→ZZX-WN(运行主程序,该程序适用于匝道,对全段完整非对称曲线计算太过麻烦)"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)LbI 0: "K"?K: If K≤126.9(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤176.9 And K>126.9: Then Goto B:Else If K≤259.562 And K>176.9: Then Goto C:Else If K≤309.562 And K >259.562: Then Goto D:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI A:92094.336(起点X坐标)→U:8287.962(起点Y坐标)→V:0起点桩号→O:145°11'54"(方位角)→G:126.9(曲线长度)→H:10^(45) (起点半径)→P:10^(45) (止点半径)→R:+1(路线左右偏,左负右正,直线输0)→Q:Prog "WN":Goto WLbI B:91990.134→U:8360.388→V:126.9→O:145°11'54"→G:50→H:10^(45) →P:150 →R:+1→Q:Pr og "WN":Goto WLbI C:91947.609→U:8386.570→V:176.9→O:154°44'51"→G:82.662→H:150 →P:150 →R:+1→Q:Pr og "WN":Goto WLbI D:91867.101→U:8399.992→V:259.562→O:186°19'19"→G:50→H:150 →P: 10^(45) →R:+1→Q: Prog "WN":Goto WLbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,可以直接出方位角、距离,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←┚LbI V:"JJ1"? O←┚(左右边桩再偏夹角,用180°减去路线夹角)"X1=": Z[3]+Tcos(F+N+ O)→U◢"Y1=":Z[4]+Tsin(F+N+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢(仪站至测点的距离)"FWJ=":J DMS◢(仪站至测点的方位角)Goto0备注:1.规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0。
卡西欧5800-9960系列计算器通用程序集

卡西欧5800-9960系列计算器通用程序集第一篇坐标正反算通用程序(终极篇)1. 坐标正算主程序(命名为ZBZS)第1行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B第2行:Prog “A”第3行:”X=”:N+Zcos(F+B)◢第4行:”Y=”:E+Zsin(F+B)◢第5行:”F=”:F◢第6行:Goto 0K——计算点的里程BIAN——计算点到中桩的距离(左负右正)α——取前右夹角为正更改红色字体部分可调用其他线路数据库,本程序调用A匝道数据显示X坐标显示Y坐标显示中线切线方位角,可省掉2. 坐标反算桩号和偏距主程序(命名为ZBFS) 第1行:”X1=”? C:”Y1=”?D: ”K1=”?K第2行:Lbl 0:Prog “A”第3行:Pol(C-N,D-E)第4行:List Ans[1]→I第5行:List Ans[2]→J第6行:Icos(F-J)→S:K+S→K第7行:Abs(S)>0.0001=>Goto 0第8行:”K1=”:K◢第9行:”BIAN=”:Isin(J-F)→Z◢X1——取样点的X坐标Y1——取样点的Y坐标K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号Z——偏距(左负右正)更改红色字体部分可调用其他线路数据库,本程序调用A匝道数据取出距离,在9860中,Pol和Rec函数结果存储在List Ans列表中取出方位角反算桩号反算偏距,为方便其他程序的调用,赋值到变量Z注:第4行和第5行为5800版本计算器以上特有的语句,在5800中不能增加此语句,其余程序语句均可与5800共用。
3. 计算坐标子程序(命名为XYF)为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1行:K-A→S:(Q-P)÷L→I第2行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→N 第3行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→E 第4行:F+S(2P+S I)×90÷π→F 反向计算时需改为Abs(K-A)→S 计算中桩的X坐标计算中桩的Y坐标计算中线切线方位角4. 数据库(命名为A)第1行:K≤175.191=>Stop第2行:175.191→A:428513.730→N:557954.037→E:92°26′40″→F:0→P:1/240→Q:70.417→L: K≤A+L =>GoTo 1(第一缓和曲线,圆半径为240)第3行:245.607→A: 428507.298→N:558024.092→E: 100°50′59.4″→F: 1/240→P:1/240→Q:72.915→L: K≤A+L =>Goto 1(第圆曲线,半径为240)第4行:318.522→A: 428482.988→N:558092.538→E: 118°15′25.2″→F: 1/240→P: 0→Q: 55.104 →L: K≤A+L =>Goto 1(第二缓和曲线,圆半径为240)第5行:373.627→A:428453.283→N:558138.912→E:124°50′4.5″→F:0→P:-1/180→Q:67.222→L:卡西欧fx-5800P程序集K≤A+L=>Goto 1:Stop(第一缓和曲线,圆半径为180)第6行:Lbl 1:Prog “XYF”A——曲线段起点的里程N——曲线段起点的x坐标E——曲线段起点的y坐标F——曲线段起点的坐标方位角P——曲线段起点的曲率(左负右正)Q——曲线段终点的曲率(左负右正)L——曲线段长度(尽量使用长度,为计算断链方便)说明:(1)在9860中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
公式全线贯通坐标正反算fx-5800P程序第一次坐标反算时最好计算两遍,再看结果,如果得出结果一样,取其结果,后面的就只算一次,取其结果。
正算主程序 A“X0=”?U:“Y0=”?V:LbI 0:“JS 4D=”?J:“K=”?K:J=1=>GoTo 1:J=2=>GoTo 2:J=3=>GoTo 3:J=4=>GoTo 4:LbI 4:Prog"D-4":GoTo 5:LbI 3:Prog“D-3”:GoTo 5:LbI 2:Prog “D-2”:GoTo 5 : LbI 1:Prog "D-1" :GoTo5:EXELbI 5:Prog "ZSCX”:Prog"FY":Goto 0 ←┘反算主程序 BLbI 0:"FD="?Z:Z=1=>Goto 1:Z=2=>Goto 2:Z=3=>Goto3:Z=4=>Goto 4:LbI 1:Prog "D-1":GoTo5:LbI 2:Prog"D-2":GoTo5:LbI 3:Prog "D-3":GoTo5:LbI 4:Prog "D-4":GoTo5:EXELbI 5:Prog” FSCX”:GoTo 0←┘1.正算子程序ZSCX(P-R)÷(2Abs(H-O)PR)→D←┘“L(-Z +Y)=”?L :”ANG(YJJ)=”?M ←┘Abs(K-O)→Z←┘Prog"ZSZCX"←┘F-M→F:"ZB X=":X◢"ZB Y=":Y◢"FWJ=":F►DMS◢2. 反算子程序FSCX"K="?K:"N="?N:"T="?T:(P-R)÷(2 Abs (H-O)PR) →D←┘Abs((T-S)cos(G-90)-(N-W)sin(G-90)) →Z:0 →L:90→M←┘Lbl 0:Prog " ZSZCX ":(T-Y)cos(G-90+QZ(1÷P+ZD)×180÷π)-(N-X)sin(G-90+QZ(1÷P +ZD)×180÷π)→L←┘If Abs(L)<0.0001:Then Goto1:Else Z+L→Z:Goto 0 IfEnd←┘Lbl 1:0→L:Prog " ZSZCX ":(T-Y)÷sinF→L←┘”K=”: O+Z→K◢L◢3. 正算子程序(ZSZCX)6→DimZ:0.1184634425→A:0.2393143352→B:0.2844444444→Z[4]:0.0469100770→C:0.2307653449→E:0.5→Z[1]←┘W+Z(Acos(G+QCZ(1÷P+CZD)×180÷π)+Bcos(G+QEZ(1÷P+EZD)×180÷π)+Z[4]cos(G+QZ[1]Z(1÷P+Z[1]ZD)×180÷π)+Bcos(G+Q(1-E) Z(1÷P+(1-E)ZD)×180÷π)+Acos(G+Q (1-C)Z(1÷P+(1-C)ZD)×180÷π))→Z[5] ←┘S+Z(Asin(G+QCZ(1÷P+CZD)×180÷π)+Bsin(G+QEZ(1÷P+EZD)×1 80÷π)+Z[4]sin(G+QZ[1]Z(1÷P+Z[1]ZD)×180÷π)+Bsin(G+Q(1-E)Z( 1÷P+(1-E)ZD)×180÷π)+Asin(G+Q (1-C)Z(1÷P+(1-C)ZD) ×180÷π))Z[6] ←┘G+QZ(1÷P+ZD) ×180÷π+M→F←┘Z[5]+Lcos(F) →X←┘Z[6]+LsinF→Y←┘4.极坐标放样子程序:FYPol(X-U,Y-V:If J ≤ 0 :When J+360→j:IfEnd EXE"JL=":I◢“FW=”:J►DMS◢X、Y----待求点坐标;U、V----测站点X、Y坐标;J、I----待放点至测站点方位角、水平距离5. 曲线元要素数据库:D-1(第一段线路的数据库)If K≥O And K<H: **→W:**→S:**→O:**→G:**→H:**→P:**→R:**→Q IfEnd←┘If K≥O And K<H: **→W:**→S:**→O:**→G:**→H:**→P:**→R:**→Q IfEnd←┘D-2(第二段线路的数据库)D-3(第三段线路的数据库)D-4(第四段线路的数据库)(注:如有多个曲线元要素继续添加入数据库D-1)说明:一、程序功能及原理1.功能说明:本程序由两个主程序——正算主程序(ZSCX)、反算主程序(FSCX)和两个子程——正算子程序(ZSZCX)、线元数据库(DAT-01)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、终点里程、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本程序可以在CASIO fx-4800计算器及CASIO fx-4850P计算器上运行。
由于加入了数据库(DAT-01),可实现坐标正反算的全线贯通。
组合程序ZBFY正算贯通,组合程序ZHFS可实现反算贯通,组合程序FY可实现坐标计算到放样一体化。
2.计算原理:利用Gauss-Legendre 5点通用公式计算线路中边桩坐标并计算放样数据。
利用待求点至线元起点切线作垂线,逐次迭代趋近原理反算里程及边距。
二、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,L=0;当位于中线左侧时,L取负值;当位于中线右侧时,L取正值。
(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
(7)曲线元要素数据库(DAT-01)可根据线型不同分为各个线元段输入到DAT-01中,即分为直线段、缓和曲线、圆曲线等逐段输入。
如有多条线路可每条线路建立一个数据库,数据库名称要有差别。
.(8)正算时可仅输入里程和边距及右交角可实现全线计算,但反算时只能通过首先输入里程K值读取数据库DAT-01,计算器自动将里程K所在线元数据赋给反算主程序GSFS进行试算,试算出的里程和边距须带入正算主程序GSZS中计算坐标,若坐标吻合则反算正确。
2、输入与显示说明(1)输入部分:W"X0" ?线元起点的X坐标YS"Y0" ?线元起点的Y坐标O"K0" ?线元起点里程G"F0" ?线元起点切线方位角H"KN" ?线元终点里程P"R0"?线元起点半径R"RN"?线元止点半径Q ?线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)K ?正算时所求点的里程L ?正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)M“ANG”正算边桩时左右边桩连线与线路中线的右交角N ?反算时所求点的X坐标T ?反算时所求点的Y坐标线元要素数据库中K≥O=>K<H=>中的O和H分别为该段线元起点里程和终点里程A、B、Z[4] 是Gauss-Legendre求积公式中的插值系数C 、E、Z[1] 是Gauss-Legendre求积公式中的求积节点(2)显示部分:X=×××正算时,计算得出的所求点的X坐标Y=×××正算时,计算得出的所求点的Y坐标K=×××反算时,计算得出的所求点的里程L=×××反算时,计算得出的所求点的边距补充说明部分:1、给程序为分段计算的(直线----ZH-----HY----YH----HZ------直线)之间均为一小段.2、线路若是首尾相连的可以都编在一个数据库里面:若中间有断开的部分数据库要分开编辑(一个数据库作为一个独立的子程序)本程序已经连接了4个数据库(还可以连很多个数据库,有兴趣的话可以自己连!)。