5800线元法程序
Casio 5800P计算程序3
Casio fx- 5800P 道路中边桩计算(线元法)主程序QZFix 3:Deg:Lbl 4:″1.SZ=>XY″:″2.XY=>SZ″:″1,2″?Q:″S=″?S:Prog″Z1″↙Lbl 0:If Q=1:Then Goto 1:IfEnd:If Q=2:Then Goto 2:IfEnd↙Lbl 1: ″B=″?Z: ″F=″?G:Prog ″Z2″: ″X=″:N→N◢″Y=″:E→E◢″QXFWJ″:F→F:F DMS◢Goto 4↙Lbl 2: ″XZB=″?→B: ″YZB=″?→C:B→N:C→E:Prog ″Z3″: ″LICHENG=″:S→S◢″OUT JL=″:Z→Z◢Goto 4↙数据库子程序Z1Lb l 1↙If S<5126.802:Then 34304.063→U:72029.684→V:5046.802→O:99°09′36″→A:80→L:220→P:10^(45) →R:Return:IfEnd↙If S<5239.113:Then 34281.903→U:72106.431→V:5126.802→O:109°34′38.5″→A:112.311→L: 10^(45)→P:10^(45) →R:Return:IfEnd↙If S<5319.113:Then 34224.270→U:72212.249→V:5239.113→O:109°34′30″→A:80→L: 10^(45)→P:-200 →R:Return:IfEnd↙If S<5444.453:Then 34222.582→U:72289.106→V:5319.113→O:98°07′05.2″→A:125.34→L: -200→P:-200 →R:Return:IfEnd↙If S<5524.453:Then 34243.645→U:72410.593→V:5444.453→O:62°12′40.3″→A:80→L: -200→P: 10^(45) →R:Return:IfEnd↙If S<5644.634:Then 34289.939→U:72475.663→V:5524.453→O:50°45′04.7″→A:120.181→L: 10^(45)→P:10^(45) →R:Return:IfEnd↙If S<5724.634:Then 34365.976→U:72568.732→V:5644.634→O:50°45′05.2″→A:80→L: 10^(45)→P:200 →R:Return:IfEnd↙正算子程序Z205(1/r-1/p)/L→D:S-O→X↙U+∫(cos(A+(X/P+DX^2)*180/pi(),0,X)→N↙V+∫(sin(A+(X/P+DX^2)*180/pi(),0,X)→E↙A+(X/P+DX^2)*180/pi()→F↙N+Zcos(F+G)→N:E+Zsin(F+G)→E↙Return反算子程序 Z3Lbl 1:0→Z:1→Q:Prog”Z1”:0.5(1/R-1/P)/L→D:S-O→X↙U+∫(cos(A+(X/P+DX^2)*180/pi(),0,X)→N↙V+∫(sin(A+(X/P+DX^2)*180/pi(),0,X)→E↙A+(X/P+DX^2)*180/pi()→F↙N+Zcos(F+90)→N:E+Zsin(F+90)→E↙Pol(N-B+10^(-46),E-C+10^(-46)):Isin(F-90-J)→W:S+W→S↙If Abs(W)>0.0001:Then Goto 1:IfEnd↙Lbl 2:0→Z: ″Z2″:(C-E)/sin(F+90)→Z↙Retun注:1:数据库里面的角度为线元起算方位角;2:L,P为线元起始半径,直线以及缓和段取10^45,左负右正;3:主程序1为正算,2为反算,S所需算的桩号,B边桩距离,F边桩起算夹角,左负右正;“SQXJS”↙“KBPO=”?J:”BG=”?B:”I1=”?C:”I2=”?D:”R=”?R↙“QIEXIAN=”:R*Abs(D-C)/2→T◢“QIDIAN=”:J-T→X◢“ZHONGDIAN=”:J+T→Y◢If D-C>0:Then 1→V:Else -1→V:IfEnd↙LBl 0↙“JSK=”?L↙If L≤X:Then B-(T-(L-X))*C+V*(L-X)^2/(2R)→W:Else B+(T-(Y-L))*C+V*(Y-L)^2/(2R) →W:IfEnd↙“JSGC=”:W◢Goto 0↙Return“J表示变坡点桩号,B为变坡点高程,C前纵坡坡度,D后纵坡坡度,R为竖曲线半径,T切线长,X起点桩号,Y终点桩号,V计算参数(凹形取1,凸形取-1),L 需要计算的桩号,W计算点高程“ZBFS”↙Deg:ClsStat:FreqOn:Fix 3↙Lbl 0↙“XA(m)=”?A: “YA(m)=”?B↙“XB(m)=”?C: “YB(m)=”?D↙Pol(C-A,D-B):Cls↙If J<0:Then J+360→R:Else J→R:IfEnd↙“DIST A→B(m)=”:I◢“BEAR A→B(DMS)=”:R DMS ◢ClrStat:FreqOn↙Lbl 1↙0→M↙“ANGEL(Deg)=”?→Q↙“DIST(m)=”?→S↙Q+R→M↙A+S*cos(M)→X↙B+S*sin(M)→Y↙“XC(m)=”:X◢“YC(m)=”:Y◢0→N↙“ANGEL2(Deg)=”?→P↙“DIST2(m)=”?→T↙P+R→N↙A+T*cos(N)→U↙B+T*sin(N)→Z↙“XD(m)=”:U◢“YD(m)=”:Z◢“FAN=”?W↙If W=0:Then Goto 0:Else Goto 1:IfEnd↙Return。
5800公路测量程序22版(7条路线)
FX5800计算器公路测量常用程序集2.2 版一、程序功能主要功能:采用线元法与交点法相结合计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本优化:1、调整一次显示结果;2、交点法中考虑了不对称缓和曲线;3、修改原版本部分地方笔误.(红色为修改处)二、源程序1.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后输入1~9数子则选择1至9的程序,返回时,在桩号输入-1,返回选择选择计算类型。
输入-2,返回选择线路。
坐标计算中输入-3,则显示本段曲线要素。
程序名:0ZCXLbl 0: 24→DimZ:Norm 2:1→A:"A:XY=1,ZD=2 ,GC=3,GD=4, BP=5,FM=6,ZP=7,JS=8,SD=9"?A:A=1=>Goto 1:A=2=>Goto 2:A=3=>Goto 3:A=4=>Goto 4:A=5=>Goto 5:A=6=>Goto 6:A=7=>Goto 7:A=8=>Goto 8:A=9=>Goto 9Lbl 1:Prog"DX":LbI A:Prog"QX":90→B:"PJ1"?B:B→C:"PJ2"?C:B→Z[1]:C→Z[8]:Lbl B:1→F:"KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A:Z=-3=>GotoX:Prog"KM":?D:Porg"THB":0→L:"L0"?L:Z[2]+Z[1]-Z[8] →E:X+L cos(E)→X:Y+Lsin(E) →Y:Prog"XY":Prog"JS":Goto BLbl 2:2→F:90→Z[1]:Prog"QX": Lbl C:"DKLC"?Z:Z=-1=>Goto 0:Z=-2=>Goto 2:Z=-3=>Goto X:Prog"KM": "X0"?X: "Y0"?Y:Prog"THB":Porg"ZD":Goto CLbI 3:Prog"QX":→B:"H-B"?B:B→Z[9]:"SXG"?L:Lbl D:"KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto 3:?D:"ZS"?P: Porg"H":Fix 3:"SJG=":Lcoate 6,4,H-Z[9]:"SCG=":Lcoate 6,4,F:"I=":Locate 6,4,I×100: If U<0:Then "W=": Locate 6,4, U: Else"T=": Locate 6,4, U : IfEnd◢Goto DLbl 4:Prog"QX":LbI E:"KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto 4:?D:Prog"GD":Fix 3:" SJGD=":Locate7,4,L: Goto ELbl 5:Prog"QX":0.5→B:"TH-GD"?B:B→Z[23]:Lbl F:2→F:90→Z[1]:"KM"?Z:Z=-1 =>Goto 0:Z=-2 =>Goto 5:Prog"KM":"X0"?X:"Y0"?Y:0→M:"M0"?M: M→Z[4]:Prog"FBX":Fix 2: P→D :Abs(D)-S→O: " L0=":Locate 6,4,O:Prog"ZD": Z[4]→T:" TW=":Lcoate 6,4,T◢ Goto FLbl 6:Prog"DX":LbI G:Prog"QX":LbI H:1→F:90→Z[1]:"KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto G:Prog"KM":?D:Prog"THB":Prog"XY":Prog"JS":Prog"H":0→M: "M0"?M:Fix 2:H-M→T:" TW=":Locate 6,4,T◢ Goto HLbl 7:Prog"DX":LbI I:Prog"QX": "Z0"?Z:0→D: "LD:Z-,Y+"? D:Abs(D) →R:"LR"?R: D→Z[6]:R→Z[7]:Z→Z[8]:LbI J:0→Y: "L0:DZH+,XZH-"?Y:Y=-1=>Goto 0:Y=-2=>Goto I:Prog"ZP":Goto JLbl 8:Prog"DX":Lbl K:?X:X=-1=>Goto 0:X=-2=>Goto 8:?Y:Prog"JS":Goto KLbl 9:Porg"DX":Lbl L:Prog”QX”:Lbl M:2→F:90→Z[1]: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto L:Z=-3=>Goto X: Prog"SD1": 0.5→A:"CQHD"?A:“X0"?X:"Y0"?Y:0→M:"M0"?M:M→Z[8]:A→Z[15]:Prog"SD": Goto M: Lbl X:Mat F◢ Goto 02、次程序:路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:FBXProg“THB”:D→P:Prog“GD”:If D<0:Then 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEnd:Lbl H:Prog“H”:H-0.03-Z[4] →Z[4]: Prog “W-1”:If Z[4]<0:Then –Z[4]→G:Goto W:Else Z[4] →G:Goto T:IfEnd:Lbl W: Z[10]+Z[11] +Z[12] +Z[13]→A: Z[10]+Z[11]+Z[12]→B:Z[10]+Z[11]→C: If G>A:Then Goto 1:Else If G>B:Then Goto 2:Else If G>C:Then Goto 3:Else If G>Z[10]:Then Goto 4:Else Goto 5:IfEnd:Lbl 1: L+Z[14]+Z[15]+Z[16]+Z[17]+Z[18]+(G-A)×Z[9]+Z[13]×Z[8]+Z[12]×Z[7]+Z[11]×Z[6]+Z[10]×Z[5]→S:Goto Z:Lbl 2: L+Z[14]+Z[15]+Z[16]+Z[17]+(G-B)×Z[8]+Z[12]×Z[7]+Z[11]×Z[6]+Z[10]×Z[5]→S:Goto Z:Lbl 3:L+Z[14]+Z[15]+Z[16]+(G-C)×Z[7]+Z[11]×Z[6]+Z[10]×Z[5]→S:Goto Z: Lbl 4:L+Z[14]+Z[15]+(G-Z[10])×Z[6]+Z[10]×Z[5]→S:Goto Z:Lbl 5:L+Z[14]+G×Z[5] →S:Goto Z:Lbl T:L+Z[23]→T:If G>Z[21]:Then T+Z[22] +Z[21]×Z[19]+(G-Z[21])×Z[20]→S:Goto Z:Else T+G×Z[19]→S:Goto Z: IfEnd:Lbl Z3.次程序3.隧道超欠挖值计算放样程序(输入隧道线路,大概桩号、输入衬砌厚度、测量三维坐标,计算准确桩号及位置、计算欠超挖值)程序名:SDProg “KM”:Prog“THB”: D→Z[13]:0→D:Prog“H”:Cos(Z[10])×Z[4] →E: H+Z[5] →Z[5]: H+Z[7] →Z[7]: E+Z[5] →Z[10]:If Z[8]>Z[10]:Then Goto R:Else Goto S:IfEnd:Lbl R:√((Z[13]-Z[9]) 2+(Z[8]-Z[5]) 2 )- Z[4]-Z[15] →L:Goto L:Lbl S:Z[4]-Z[6] →S:√(S 2-(Z[7]-Z[5]) 2 )×S÷Abs(S)→T:Abs(Z[13]-Z[9])-T→T:√(T 2+(Z[8]-Z[7]) 2 )- Z[6]-Z[15] →L:Goto L:Lbl L: Fix 2: “L0=”: Locate 6,4,L:Prog“ZD”:“H0=”: Locate 6,4,Z[8]-H◢4:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JS(一式)X:Y:Z[11]→K:Z[12]→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=”: Locate 6,4,J:Fix 3:“JL=”:Locate 6,4,I◢JS(二式)X:Y:Z[11]→K:Z[12]→L:Pol(X-K, Y-L):IF J<0:Then J+360→J:IFEndFix 3:“JL=”:Locate 6,4,I: J▲DMS◢5.路基宽度子程序:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名: GD1→S: Prog “G-1”:Z-C→E: E ×(B-A)/S+A→L:6.坐标计算次程序程序名:THBIf Q>1:Then Goto J: Else 1÷P→C:(P-R)÷(2HPR)→S:180÷π→E:IfF=1:Then Abs(Z-O) →W:Prog "A":Goto 2:Else X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 2: IfEnd:LbI J: If F=1:Then Prog "Z":Goto 1:Else Prog "ZX":Goto 2: IfEnd: LbI 1:I+D×COS(Z[2]+Z[1]) →X: J+D×Sin(Z[2]+Z[1]) →Y: LbI 27. 线元法正算子程序(A)程序名:A0.1184634425→A: 0.2393143352→B:0.2844444444→N:0.0→K:0.2307653449→L:0.5→M:U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+LWS))+Ncos(G+QEMW(C+MWS))+Bcos(G+Q E(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS)))→X:V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW(C+MWS))+Bsin(G+Q E(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)WS))) →Y:G+QEW(C+WS)→Z[2]:X+Dcos(Z[2]+Z[1])→X: Y+Dsin(Z[2]+Z[1])→Y8. 线元法反算子程序(B)程序名: B G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→D:Lbl 0:Prog "A":T+QEW(C+WS)→L:(J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto 1:Else W+D→W:Goto 0: IfEnd: Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]+90) →D9. 交点法正算子程序(Z)程序名:ZH2÷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:If Z≤O -T:Then Z-O→S:G→Z[2]:Goto 2: IfEnd:If Z≤O -T+H:Then Z-O +T→S:Prog “HX”:G+WK→Z[2]:Goto 4:IfEnd:If Z≤O -T+πR×Abs(P)÷180+H÷2-N÷2: 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]:Goto 4: IfEnd:O -T+πR×Abs(P)÷180+H÷2+N÷2-Z→S:(R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P)÷2)+N÷2-N∧(3)÷240÷R2+E→T :N→H:Prog “HX”:G+P→S:S-WK→Z[2]:U+(T-A)Cos(S)-WBSin(S)→I:V+(T-A)Sin(S)+WBcos(S)→J:Goto 3:Lbl 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G)→J: Goto 3:Lbl 2:U+Scos(Z[2])→I:V+Ssin(Z[2])→J: LbI 3:C→H10. 交点法缓和段转化子程序(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→M11. 交点法反算子程序(ZX)程序名:ZXZ:0→D:Lbl 0:Prog“Z”:Pol(X-I,Y-J):J-Z[2]→J:Isin(J)→S:Icos(J) →I:If Abs(I)<0.1:Then Z+I→Z:S→D:Goto 2:Else Goto 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:Eles Pol(M-WS,I):(JMπ)/180→I:Z+I→Z:Goto 0:IfEnd:LbI 212.高程计算子程序(H)程序名:HProg “S-1”: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:Lbl 0:If D=0:Then H→H: I→I:Goto I:Else Prog “I”:H+V→H:Abs(L-13.高程超高计算程序(I)程序名:IIf Z[3]=1:Then Prog“I-1”:Goto 1:Else If Z[3]=2:Then Prog“I-2” :Goto1: Else If Z[3]=3:Then Prog“I-3” :Goto 1: Else If Z[3]=4:Then Prog“I-4” :Goto 1: Else If Z[3]=5:Then Prog“I-5” :Goto 1: Else IfZ[3]=6:Then Prog“I-6” :Goto 1: Else Prog“I-7”:Goto 1: IfEnd:Lbl 1: If W=1:Then Goto Z:Else Goto X: IfEnd :Lbl Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:Lbl X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:Lbl 2:Abs(D)→E:V÷E→I:I(E-K)→V14.导线点子程序(DX)程序名:DXZ[11]→K:Z[12]→L:“XZ”?K:“YZ”?L:K→Z[11]:L→Z[12]15.线路选择子程序(线路选择输0时,则输曲线参数)(QX)程序名:QX1→A:“LX:XX-1,XA-2,XB-3,XC-4,XD-5,XE-6,XF-7”?A:A→Z[3]:If A=0:Then Goto 1:Else Goto 2: IfEnd:Lbl 1:“JDO”?O:“XO”?U:“YO”?V:“FW”?G:“LS”?H:?P:?R:“J=2,3;X=(0,1,-1)”?Q:If Q=2:Then H→N:Goto 2:Else If Q=3:Then“LS”?N:Lbl 216.线路中线元段判别子程序(KM)程序名:KMIf Z[3]=0:Then Goto 0:Else If Z[3]=1:Then Prog “XX-1”:Goto 0: Else If Z[3]=2:Then Prog “XA-2”:Goto 0: Else If Z[3]=3:Then Prog “XB-3”:Goto 0: Else If Z[3]=4:Then Prog “XC-4”:Goto 0: Else IfZ[3]=5:Then Prog “XD-5”:Goto 0: Else If Z[3]=6:Then Prog “XE-6”:Goto 0: Else Prog “XF-7”:Goto 0: IfEnd: LbI 017.坐标计算参数转化子程序(F)程序名:FMat F[1,1]→O:Mat F[1,2]→U:Mat F[1,3]→V:Mat F[1,4]→G:Mat F[1,5]→H:Mat F[1,6]→P:Mat F[1,7]→R: Mat F[1,8]→Q:Q=2=>H→N:Q=3=>Mat F[1,9]→N18.桥梁锥坡放样子程序(ZP)程序名:ZP√(Z[6]2(1-Y2/Z[7]2)) →X:Z[8] →Z:Prog“GD”:If D>0:Then L+X→D:Else –L-X→D:IfEnd:Z[8]+Y→Z:D:1→F:90→Z[1]:Prog“KM”:Prog“THB”:Prog“XY”:Prog“JS”19.显示子程序(XY)和(ZD)①程序名:XYFix 3:"XS=":Locate 6,4,X:"YS=":Locate 6,4,Y:②程序名:ZDFix 3:"KM=":Locate 6,4,Z:" D=":Locate 6,4,Z:20.数据子程序(附后示例)①-1程序名:X X-1(线路1坐标计算要素程序)If Z≤26615.555:Then [[25900,11587.421,1847.983, 101。
5800线元法修正版程序编写
5800线元法修正版程序编写1.2版本,添加了遗漏的标点符号,修改了竖曲线与隧道,让隧道测量步骤简化一些。
此程序根据4850线元法程序改编,本人第一次编写程序内容可能有些不尽人意敬请谅解.程序名称不可更改,包括符号,也不要擅自删减子程序,如需更改必须与各子程序相呼应,否则将无法调动程序进行计算。
1~16页为程序说明与应用步骤具体解释,17~26页为程序编写,所有S开头后面有横杠的为各项数据库,如换线路更改数据库即可完成各项计算。
注意:程序编写时有下划线字符为一次性输入字符,不可拆分。
置仪点X坐标输入时必须输入小数,如果无小数将默认调动导线点数据库(例如3843.000那么请输入3843.0001并不影响计算)程序名(0-0)主程序目录(U=1):数据库输入原始数据计算中边桩*(U=2): 数据库输入原始数据反算线外点垂桩距状态(线路任一点坐标反算桩号及偏距)*(U=3):计算平面位置检查记录表(U=4):人工输入原始数据计算中边桩(数据库计算线元方位角)* (U=5):人工输入原始数据推算开挖、填筑桩状态(不常用)(U=6):数据库输入原始数据推算开挖、填筑桩状态*(U=7/7.1):计算斜交斜做涵洞单跨桥、斜交正做涵洞七点放样状态并能避免曲线内单跨桥涵进出水口长度不一致,同时适用于曲线桥扇形布桩的盖梁放样,曲线桥扇形布桩的支座放样。
*(U=8): 数据库输入原始数据计算锥坡放样(U=9): 后方交会(U=10): 数据库输入原始数据求线外两点交路线的桩号与夹角(U=11): 圆心辐射法隧道断面超欠挖(适合各种隧道线型)*(U=12): 手动输入原始数据求多边型面积、亩数*(U=13): 数据库输入原始数据求设计高程(竖曲线)*(U=14): 坐标正反算小程序(U=1)数据库输入原始数据计算中边桩(Y)置仪点X坐标(也可输入导线点编号,输入导线点编号即可使用导线点数据库)(O)置仪点Y坐标(当X坐标输入导线点编号后则此行不显示,因数据库已装入X和Y坐标)(B)步长(步长就是间隔长度,当要计算大量有相同距离间隔且相同中边桩,步长就是好东西了,输入数量每次计算自动加减桩号距离)(Q)所求桩号(计算第二个桩开始Q已经自动加入步长不用手动输入,但仍然会显示给你看,并可修改成别的桩号)(V)中桩到边桩的方位角,即与中桩前进方向方位角的夹角(注意:左转为负数,右转为正数)(D)中桩到边桩的距离(中桩输入0)计算完成会显示四个成果:DMS放样方位角(置仪点与所求桩号的放样方位角)I放样距离(置仪点与所求桩号的放样距离)所求桩号的X坐标所求桩号的Y坐标按—号继续下一步放样计算(U=3)数据库输入原始数据计算中边桩(偏差检测、资料编写)(B)步长(步长就是间隔长度,当要计算大量有相同距离间隔且相同中边桩,步长就是好东西了,输入数量每次计算自动加减桩号距离)(MM)所允许的最大误差(毫米为单位,比如高速的中线最大误差是20MM,就输入20)(Q)所求桩号(计算第二个桩开始Q已经自动加入步长不用手动输入,但仍然会显示给你看,并可修改成别的桩号)(V)中桩到边桩的方位角,即与中桩前进方向方位角的夹角(注意:左转为负数,右转为正数)(D)中桩到边桩的距离(中桩输入0)计算完成会显示四行成果:DMS放样方位角(置仪点与所求桩号的放样方位角)I放样距离(置仪点与所求桩号的放样距离)所求桩号的X坐标所求桩号的Y坐标按(—)号显示偏差检测成果:所求桩号的X坐标所求桩号的Y坐标所求桩号的双轴偏差X轴偏差Y轴偏差按-号下一步计算(U=4)人工输入原始数据计算中边桩(线元角计算)(Y)置仪点X坐标(O)置仪点Y坐标(B)步长(H+)起算点桩号(E)起算点X坐标(F) 起算点Y坐标(A)起算点方位角(+-C)起算点曲率(即为半径分之一,也就是1/半径,直线为0,左转为负,右转为正)(+-Z)终算点曲率(即为半径分之一,也就是1/半径,直线为0,左转为负,右转为正)(G)终算点桩号(Q)所求桩号(既是起算点桩号,因程序内字符转换冲突只好再输入) (V)左右夹角(左转为负,右转为正,中桩输入0)(D)中边桩距离(中桩输入0)计算完成会显示四个成果:(此处可忽略,参照U=1计算成果)计算完成按(AC/on)一次,然后按(EXIT)将内容(Prog 0-0)清除输入字母(R),再按(EXE)显示为线元方位角数字(注:必须用度,分,秒抄记,因为计算结果为百进位,度分秒为60进位)注:此计算成果谨适用于数据库线元角输入(即:数据库曲线段线元角ZH~HY、HY~YH、YH~HZ段)(U=5):人工输入原始数据推算开挖、填筑桩状态(不常用)(Y)置仪点X坐标(O)置仪点Y坐标(H+)起算点桩号(E)起算点X坐标(F) 起算点Y坐标(A)起算点方位角(+-C)起算点曲率(即为半径分之一,也就是1/半径,直线为0,左转为负,右转为正)(+-Z)终算点曲率(同上)(G)终算点桩号(W)实测大地高程(S)变坡点设计高程(I) =变坡点设计高程与实测大地高程之高差(正为填方、负为挖方)(P) 填方或挖方的坡比(若1:0.75则输入0.75填挖坡比全为正)(B)中桩到变坡点的宽度(D)=推算的中桩到开挖、填筑桩距离(D?)采用的中桩到开挖、填筑桩距离(Q)所求开挖、填筑桩号(V)左右夹角(注:只能输入线路右边90和左边-90因为开挖、填筑桩总是垂直的)计算完成显示四个结果:(同U=6显示结果相同,按—号下一步计算)(U=6):数据库输入原始数据推算开挖、填筑桩状态(Y)置仪点X坐标(O)置仪点Y坐标(W)实测大地高程(S)变坡点设计高程(距离地面最近的那个平台或路面高程)(I)=变坡点设计高程与实测大地高程之高差(自动计算所得结果,此处不需输入。
fx-5800p匝道(线元法)测量程序
fx-5800p匝道(线元法)测量程序1.ZDZS(匝道正算程序)Do:〝1.AZD 2.BZD 3.CZD 4.DZD 5.EZ D↙ZD=〝?→Z[1]:Lpwhile Z[1]>6 Or Z[1]≤0(零):〝X0(零)=〞?J:〝Y0(零)=〞?N↙J→Z[2]:N→Z[3]↙LbI 0(零):〝K=〞?S:90→T(如将90→T改为〝Q°=〞?T可计算斜交):〝D=〞?Z:Z[1]=1=>Prog〝AZD〞: Z[1]=2=>Prog〝BZD〞: Z[1]=3=>Prog〝CZD〞: Z[1]=4=>Prog〝DZD〞: Z[1]=5=>Prog 〝EZD〞↙〝X=〞:X+Zcos(F+T)→X◢〝Y=〞:Y+Zsin(F+T)→Y◢Prog〝A〞:Goto 0(零)↙本程序中输入及显示说明:输入部分:ZD=? 输1为运行A匝道、输2为运行B匝道、输3为运行C匝道、输4为运行D匝道、输5为运行E匝道;X0=? 输入测站点X坐标;Y0=? 输入测站点Y坐标;K=? 输入待求点桩号;D=? 输入待求点距中桩距离。
(以线路前进方向区分左右、当待求点位于中桩时D=0(零);当待求点位于中桩左侧时D取负值;当待求点位于中桩右侧时D取正值。
)显示部分:X= 显示待求点X坐标;Y= 显示待求点Y坐标;FWJ= 显示测站点至待求点方位角(即水平角);HD= 显示测站点至待求点水平距离。
若测站X0坐标输入0(零)时、不论测站Y0坐标输入多少,都不显示FWJ=、HD=两项。
2.ZDFS(匝道反算程序)Do:〝1.AZD 2.BZD 3.CZD 4.DZD 5.EZ D↙ZD=〝?→Z[1]:Lpwhile Z[1]>6 Or Z[1]≤0(零)↙LbI 0(零):〝K=〞?S:〝X=〞?I:〝Y=〞?J: Z[1]=1=>Prog 〝AZD〞: Z[1]=2=>Prog〝BZD〞: Z[1]=3=>Prog〝CZD〞: Z[1]=4=>Prog〝DZD〞: Z[1]=5=>Prog〝EZD〞:Porg〝E〞:O(欧)+W→S:〝K=〞:S◢〝D=〞:Z◢Goto 0(零)↙本程序中输入及显示说明:输入部分:ZD=? 输1为运行A匝道、输2为运行B匝道、输3为运行C匝道、输4为运行D匝道、输5为运行E匝道;K=? 输入待求点大概桩号;X=? 输入待求点X坐标;Y=? 输入待求点Y坐标。
Casio5800交点法与线元法(积木法)匝道坐标正反算放样程序
Casio5800交点法与线元法(积木法)匝道坐标正反算放样程序(XUFENG 2011.2.14)本人一直以来想找一个交点法与线元法相结合的坐标正反算程序,在网上找了很久很久,没能找到一个较为满意的,有幸在测量空间看到大歪哥的《Casio5800交点法程序》与《线元法(积木法)匝道坐标正反算放样程序》,根据歪哥意见“需要的自行修改结合XY框架自己修改为数据库反算程序等”,本人不才,采用最笨的办法将两个程序综合了一下,使之能既能进行交点法正反算,又能进行线元法正反算。
在此特别感谢大歪哥!将程序发上来,愿与大家一同交流学习欢迎大家吐口水,只要能进步就行!程序由一个主程序ZBZFS和8个子程序(JS、XY-A、XY-B、JDYS、1、2、3、4)构成,运行时只需运行主程序即可!本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标正反算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并能对单一线元进行坐标正反算。
1主程序名:ZBZFS(功能:进入计算主程序)65→Dimz↙Deg:Fix 3↙"1.JD ZFS 2. ZHADAO ZFS"? I: I→Z[61]: "1.ZHONG SHU JS 2. JS"? I↙If I=1: Then Goto1: Else Goto2:IfEnd↙LbI 1 :If Z[61]=1: Then Prog"JDYS":Else Cls:"K0"?A:"KN"?L :"X0"?U :"Y0"?V :"F0"?W :"R0"?P :"RN"?Q:"ZX:-1,+1,0"?G:IfEnd↙LbI 2 :Prog"JS"2子程序名:JS(功能:选择正算或反算模式)Cls:"XC"?H:"YC"?Z↙Cls:"1.ZS 2.FS"? I: I=2=>Goto 3↙LbI 1 : Cls: If Z[61]=1: Then"JD ZS KX+XXX"?K :Prog"4": Else "ZHADAO ZS KX+XXX"?K :IfEnd↙LbI 2: Cls:90→B: Cls:"RJ Or 0 To K"?B:B=0 =>Goto 1:"Z"?T↙Prog "XY-A"↙X+Tcos(M+B)→X↙Y+Tsin(M+B)→Y↙360Frac((M+360)÷360→M↙Pol(X-H,Y-Z : 360Frac((J+360)÷360→J↙2→O: Prog "XY-B":Goto 2↙LbI 3 : Cls: If Z[61]=1: Then"JD FS KN+"?K:"X"?C:"Y"?D:Prog"4":Else Cls: "ZHADAO FS":"X"?C:"Y"?D:IfEnd↙LbI 4 :Prog "XY-A"↙(D-Y)sin(M)+(C-X)cos(M)→H↙If Abs(H)>X10-3 :Then K+H→K:Goto 4:IfEnd↙(D-Y)÷cos(M)→T↙3→O: Prog "XY-B":Goto 3↙3子程序名: XY-A(功能:坐标计算程序)5→N: G(Q-1-P-1)÷Abs(L-A)→F: Abs(K-A)÷N→R: 90R÷π→S:W+(FNR+2GP-1)NS→M:1→E↙U+R÷6×(Cos (W)+Cos (M) +4∑(Cos (W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(Cos (W+((EFR+2GP-1)ES,E,1,(N-1)))V+R÷6×(sin (W)+sin (M) +4∑(sin (W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(sin (W+((EFR+2GP-1)ES,E,1,(N-1)))→Y↙4子程序名: XY-B(功能:显示正算或反算结果)If O=2:Then↙Cls :"K×××=":"Z=":"X=":"Y=": Locate 6,1, K : Locate 4, 2, T : Locate 4,3, X : Locate 4,4, Y◢If T=0 :Then Cls :"QF(Z)=": Locate 8,1, M:M▼DMS◢I fEnd↙Cls :"K×××=":"S=": Locate 6,1, K : Locate 4, 2, I :"F=":J:J▼DMS◢IfEnd↙If O=3:Then "X=":"Y=":"K×××=":"Z=": Locate 4,1,C: Locate 4, 2, D : Locate 6,3,K :Locate 4,4,T◢IfEnd:Cls↙5子程序名:4(功能:将交点参数转为线元计算参数)LbI 1: IF Z[48]<0 :Then -1→Z[62] : Else:1→Z[62]:IfEndLbI 2: If K≥Z[57]:Then Z[57]→A:Z[1]→L:Z[23]→U:Z[24]→V : Z[31]→W : 10^45→P:10^45→Q : 0→G:IfEnd↙LbI 3:If K≥Z[1]:Then Z[1]→A : Z[2]→L : Z[19]→U : Z[20]→V:Z[29]→W : 10^45→P:Z[46]→Q : Z[62]→G: IfEnd↙LbI 4:If K≥Z[2]:Then Z[2]→A: Z[4]→L:Z[25]→U : Z[26]→V:Z[32]→W : Z[46]→P: Z[46]→Q : Z[62]→G: IfEnd↙LbI 5:f K≥Z[4]:Then Z[4]→A : Z[5]→L : Z[27]→U:Z[28]→V : Z[33]→W : Z[46]→P: 10^45→Q : Z[62]→G: IfEnd↙LbI 6:If K≥Z[5]:Then Z[5]→A : Z[5]+1000→L:Z[21]→U : Z[22]→V : Z[30]→W:10^45→P :10^45→Q : 0→G : IfEnd↙6子程序名:JDYS(功能:输入交点要素、显示交点要素及主点Cls : "BP"?H:H→Z[57]:"K(JD)"?K:K→Z[41] :"X (JD)"?X :X→Z[42]:"Y(JD)"?Y:Y →Z[43]:"LS1"?B:B→Z[44] :"LS2"?C:C →Z[45]: ?R:R →Z[46]:"(ZH)FWJ°"?M:M→Z[47] : "α(Z-,Y+)°"?O:O→Z[48] : Z[47]+Z[48]→Z[49]: Prog "1":Prog "2"↙Cls :"T1=":"T2=":"L=":"LY=": Locate 4,1, Z[50] : Locate 4,2, Z[51]: Locate 4,3, Z[52] : Locate 4,4, Z[53]◢Cls :"E=": Locate 7,1, Z[54]Cls :"K(QD)=": "X=": "Y=": "FWJ="Locate 7,1,Z[57] :Locate 7,2, Z[23] :Locate 7,3, Z[24] :Locate 7,4, Z[31] ◢Cls :"K(ZH)=": "X=": "Y=": "FWJ=":Locate 7,1,Z[1] : Locate 7,2, Z[19] :Locate 7,3, Z[20] :Locate 7,4, Z[29]◢Cls : "K(HY)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[2] : Locate 7,2, Z[25] :Locate 7,3, Z[26] :Locate 7,4, Z[32]◢Cls :"K(QZ)=": Locate 7,1,Z[3]◢Cls :"K(YH)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[4] : Locate 7,2, Z[27] :Locate 7,3, Z[28] :Locate 7,4, Z[33]◢Cls :"K(HZ)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[5] : Locate 7,2, Z[21] :Locate 7,3, Z[22] :Locate 7,4, Z[30]◢7子程序名: 1(功能:计算交点要素)If Z[48]<0 :Then -1→Z[55] : Else 1→Z[55] : IfEnd : Z[55]* Z[48]→Z[56] ↙Z[44] 2 ÷24÷Z[46]- Z[44]^(4)÷2688÷Z[46] ^(3) →Z[6] ↙Z[45] 2 ÷24÷Z[46]- Z[45]^(4)÷2688÷Z[46] ^(3) →Z[7] ↙Z[44]÷2-Z[44]^(3)÷240÷Z[46]2 →Z[8] ↙Z[45]÷2-Z[45]^(3)÷240÷Z[46]2 →Z[9] ↙Z[8]+(( Z[46]+Z[7]-( Z[46]+Z[6])cos(Z[56]))÷sin(Z[56]))→Z[50]↙Z[9]+(( Z[46]+Z[6]-( Z[46]+Z[7])cos(Z[56]))÷sin(Z[56]))→Z[51]↙Z[46]* Z[56]π÷180+( Z[44]+ Z[45]) ÷2→Z[52]↙Z[46]* Z[56]π÷180-( Z[44]+ Z[45]) ÷2→Z[53]↙(Z[46]+(Z[6]+Z[7])÷2)÷cos(Z[56]÷2)- Z[46]→Z[54]↙Z[41]-Z[50]→Z[1] ↙↙Z[1]+Z[44]→Z[2] ↙↙Z[2]+Z[53]÷2→Z[3]↙Z[1]+Z[52]-Z[45]→Z[4]↙Z[4]+Z[45]→Z[5]↙8子程序名: 2(功能:计算主点坐标及切线方位角)Z[42]-Z[50]cos(Z[47])→Z[19]: (直缓坐标)Z[43]-Z[50]sin(Z[47])→Z[20]↙Z[47]→Z : 360Frac((Z+360)÷360→Z[29] (方位角)Z[42]+Z[51]cos(Z[49])→Z[21]: (缓直坐标)Z[43]+Z[51]sin(Z[49])→Z[22]↙Z[49]→Z: 360Frac((Z+360)÷360→Z[30] (方位角)Z[1]-Z[57]→L↙(H→Z[57]为前直线起点桩号)Z[42]-( Z[50]+L)cos(Z[47])→Z[23]↙ (前直线起点坐标)Z[43]-( Z[50]+L)sin(Z[47])→Z[24]↙Z[47]→Z : 360Frac((Z+360)÷360→Z[31]↙(方位角)Z[44]→Z[12]:Z[44]→Z[13]:Prog"3"↙Z[4]-Z[1]→L:90(2L-Z[44])÷Z[46]÷π→Z[11]↙Z[46]sin(Z[11])+Z[8]→Z[14]:Z[46](1-cos(Z[11]))+Z[6]→Z[15]↙Z[19]+Z[14]cos(Z[47])-Z[55]Z[15]sin(Z[47])]→Z[27]↙(圆缓点坐标)Z[20]+Z[14]sin(Z[47])+Z[55]Z[15]cos(Z[47])]→Z[28]↙Z[47]+Z[55]Z[11]→Z: 360Frac((Z+360)÷360→Z[33]↙(方位角)Z[2]-Z[1]→L:90(2L-Z[44])÷Z[46]÷π→Z[58]↙Z[46]sin(Z[58])+Z[8]→Z[14]:Z[46](1-cos(Z[58]))+Z[6]→Z[15]↙Z[19]+Z[14]cos(Z[47])-Z[55]Z[15]sin(Z[47])]→Z[25]↙(缓圆点坐标)Z[20]+Z[14]sin(Z[47])+Z[55]Z[15]cos(Z[47])]→Z[26]↙Z[47]+Z[55]Z[58]→Z: 360Frac((Z+360)÷360→Z[32]↙(方位角)9子程序名: 3(主点坐标计算辅助程序)If Z[12]=0 :Then 0→Z[14]: 0→Z[15]:Else↙Z[12]- Z[12]^(5)÷40÷(Z[46]*Z[13])2+ Z[12]^(9)÷3456÷(Z[46]*Z[13])^(4) →Z[14]↙Z[12]^(3)÷6÷(Z[46]*Z[13])-Z[12]^(7)÷336÷(Z[46]*Z[13])^(3)+ Z[12]^(11) ÷42240÷(Z[46]*Z[13])^(5)→Z[15] ↙IfEnd↙程序说明:1、进入程序:1.JD ZFS 2. ZHADAO ZFS? 选1为交点法正反算(以后操作均为交点法计算),选2为线元法正反算(以后操作均为线元法计算)2、ZHONG SHU JS 2. JS?选1重输参数,选2直接进入交点法或线元法正反算(参数为已输过的参数)3、参数输入:一、交点法已知数据输入:BP?上一交点ZH桩号K(JD)?交点桩号X(JD)?交点X坐标Y(JD)?交点Y坐标LS1 ?第一缓和曲线长度LS2 ?第二缓和曲线长度R ? 圆曲线半径(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)交点法计算要素显示:T1=第一切线长T2=第二切线长L=曲线总长LY=圆曲线长E=曲线外距K(ZH)=直缓点桩号K(HY)=缓圆点桩号K(QZ)=曲中点桩号K(YH)=圆缓点桩号K(HZ)=缓直点桩号二、线元法已知数据输入:K0? KN? R0? RN?F0?X0? Y0?ZX? 分别为线元起点桩号、终点桩号、起点半径、终点半径、起点切线方位角、起点X坐标、起点Y 坐标、线元转向。
CASIO5800线元法程序
卡西欧5800P 线元法正反算程序1-JIN YU(主程序)Lbl 4: “1→ZS,2→FS?N(选择计算模式,1为正算,2为反算,3为超欠挖)N=1=>Goto 1:N=2=>Goto 2Lbl 1: “K=”?S:“P=”?Z:Prog “SJ-PM”: Abs(S-O) → W:Prog “SUB1-ZS”:“X=”:Locate4,4,X:“Y=”:Locate4,4,Y:F-90→F: “W=”: Locate4,4,F°◢Goto 4(正算-输入待求点里程K=、输入待求点偏距P=、显示待求点里程X=、显示待求点里程Y=、显示待求点里程设计高程H=)Lbl 2:“X=”?X:“Y=”?Y:Prog“SJ-PM”: X→ I: Y→J:Prog "SUB2-FS":O+W→S: “K=":Locate4,4, S:“P=":Locate4,4, Z:S→ K:Prog“SJ-GC”:“H=”:Locate4,4, H:F-90→F: “W=”: Locate4,4,F°◢Goto 4(反算-输入实测点X=、输入实测点Y=、显示实测点里程K=、显示实测点偏距P=、显示实测点的设计高程H=)SJ-PM(子程序名-平面线形数据库)If S ≥59227.681(线元起点里程):Then 2599818.013→U(线元起点X坐标):496887.918→V(线元起点Y坐标):59227.681→O(线元起点里程):208028’39”→G(线元起点方位角):100 →H(线元长度):1×1045→P(线元起点曲率半径):1×1045→R(线元终点曲率半径):0→Q(线元左右偏标志:左-1右1直0):IfEndIf S ≥59327.681(线元起点里程):Then 2599730.112→U(线元起点X坐标):496840.237→V(线元起点Y坐标):59327.681→O(线元起点里程):208028’39”→G(线元起点方位角):90 →H(线元长度):1×1045→P(线元起点曲率半径):750→R(线元终点曲率半径):-1 →Q(线元左右偏标志:左-1右1直0):IfEnd(注:有多个平面线形,依照上面的依次变更, 每多一个,就增加一个。
5800程序编写
FX-5800计算器公路测量常用程序一、程序功能本程序由6个主程序、5个次子程序及5个参数子程序组成。
主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。
程序坐标计算适应于任何线型.二、源程序1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XYLb1 0:Norm 2F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量)Z[1]=90(与路线右边夹角)Prog"THB":F=1=>Goto 1:F=2=>Goto 2Lb1 1:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 02.主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:” H=”:Locate 6,4,H◢“ I=”: Locate 6,4,I◢Goto 03.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:3JSX:Y:1268.123→K(置仪点X坐标)2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)Y-L→E:X-K→F:Pol(F,E):IF J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)Fix 3:” S=”:Locate 6,4,I◢4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)程序名:4JH-XYLbI 0:Norm 290→Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量)1→F:Prog”THB”:?L:Z[2]-Z[1] →E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3: "X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:5FBXLbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog “THB”:Z:D:”M0”?M:M→Z[4]:D →Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5] →G:Goto W:Else Z[5] →G:Goto T:LbI W:Prog “W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else If G>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z:LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:Goto Z:LbI 3:L+Z[12]+G×Z[7]:Goto z:LbI T:L+0.5→N:If G>Z[17]:Then (N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:Goto Z:Else (N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:” L0=”:L Locate 6,4,T◢"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢“ TW=”: Locate 6,4,Z[5]◢Goto 06.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名:6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7.坐标计算次程序(THB)程序名:THB18→DimZ:"KM"?Z:Prog "X0"1÷P→C: (P-R)÷(2HPR) →S: 180÷π→E:F=1=>Goto 1:F=2=>Goto 2←┘Lbl 1:?D: Abs(Z-O) →W:Prog "A":X:Y:Goto 3LbI 2:X:Y:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 3LbI 3:IF F=1Then X:Y:Else Z:D8. 正算子程序(A)程序名:A0.1184634425→A: 0.2393143352→B:0.2844444444→N 0.046910077→K:0.2307653449→L:0.5→M: U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+LW S))+Ncos(G+QEMW(C+MWS))+Bcos(G+QE(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS))) →X:V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W( C+(1-K)WS))) →Y:G+QEW(C+WS)+Z[1]→Z[2]:X+Dcos(Z[2])→X: Y+Dsin(Z[2])→Y9. 反算子程序(B)程序名:BG-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W: 0→D:Lbl 0:Prog "A":T+QEW(C+WS) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto1:Else W+D→W:Goto 0←┘Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]) →D:10.高程计算子程序(H)程序名:HProg “S0”:R:T:C:G:I:C-T→F:Z-F→L:C+T→E:G-TI→Q:If T=O:Then Q+LI→H:Goto 0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:Then Q+LI+L2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:LbI I:H:I:11.高程超高计算程序(I)程序名:IProg”I0”:W=1=> Goto 0:W=2=>Goto 1:LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷L+M)→V:Goto 2:IfEnd:LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V:12.数据子程序(附后示例)①程序名:X0(坐标计算要素程序)If Z≥25900 And Z≤26615.555:Then 25900→O:11587.421→U:1847.983→V:101。
FX5800线元积分正反算计算程序(可用)
FX5800线元积分正反算计算程序(桔梗花验证)(非本人原创)H 主程序“C ZX”? →W:“C ZY”? →T↙“NEW=0,Z1 =1” ?Z↙If Z=0: Then “X0=”?A: “Y0=”?B: “C0=”?C: “1/R0=”?D: “1/RI=” ?E: “QDK=”?F: “ZDK=” ?G:Ifend:↙"1.ZS,2.FS" ?→Q↙Q=2=>Goto 2↙Lbl 1 :“DK?=,<0 Stop”?H:H<0=>Stop:“PJ=”?O:“PI=”?L↙Lbl Z:Z=1=>Prog“H1”Z:Z =2=>Prog“H2”↙H- F→X:0.5(E-D)÷(G-F)→N↙C+(XD+NX2)*180÷π→P:P<0=>P+360→P:P>360=>P-360→P↙A+∫(cos(C+(XD+NX2)*180÷π),0,X)+Lcos(P+O)→U↙B+∫(sin(C+(XD+NX2)*180÷π),0,X)+Lsin(P+O)→V↙Q=2=>Goto 4:Cls:Fix 3↙“FWJ=”:P▶DMS◢显示方位角,"XP=":Locate 4,3,U:"YP=": Locate 4,4,V:Pol(U-W,V-T):J<0 => J+360→J:"J=":J▶DMS◢"I=":I◢Norm 2:Cls:Goto 1↙Lbl 2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S↙“DK=”?H :90→O:0→L:Goto Z ↙(H线路范围内的大约里程)Lbl 4:Pol(R-U,S-V):J<0 => J+360→J↙While abs(Icos(J-P))≤0.001:P-J>180=> J+360→J:P-J<-180=> P+360→P:IF P-J>0:then -I→L:else I→L Ifend↙Goto 3: Whileend:H+Icos(J-P)→H:Goto Z↙Lbl 3:Cls:Fix 3↙“KM=”: Locate 4,1,H:“PY=”: Locate 4,2,L◢Norm 2:Cls:Goto 2↙H1(第一条线路数据库子程序)If H<=第一曲线终点桩号:then 第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifendH2(第二条线路数据库子程序)If H<=第一曲线终点桩号:then 第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifend。
卡西欧5800测量实用程序(含直线、圆曲线、大地转施工程序)
卡西欧5800测量实用程序(含直线、圆曲线、大地转施工程序)卡西欧5800测量实用程序(含直线、圆曲线、大地转施工程序)一、直线计算程序0→I:0→J:”X0”?D:”Y0”?E:”X1”?B:”Y1”?C:Pol(B-D,C-E):J →A:If A<0:Then A+360→A:Else A→A:IfEnd:Lbl 0:?O:?S:If O≠0:Then Goto 1:IfEnd:D+Scos(A) →X:”X=”:X ◢E+Ssin(A) →Y:”Y=”:Y ◢Goto 0:Lbl 1:D+Scos(A)+Ocos(A+90) →X:”X=”:X ◢E+Ssin(A)+Osin(A+90) →Y:”Y=”:Y ◢Goto 0说明:输入程序时注意区别字母O 与数字0程序运行时符号说明X0? Y0? 分别输入直线起点的XY 坐标值X1? Y1? 分别输入直线终点的XY 坐标值O? 输入边桩与中桩的距离( 左边桩为负值, 右边桩为正值), 如计算中桩坐标输入0S? 输入所求点到直线起点的距离二、圆曲线计算程序0→I:0→J: ”X0”?C:”Y0”?D:”X1”?E:”Y1”?F:?R:”L:-1 R:1”?N:”ZY”?W:Lbl 0:”LN”?T:T-W→O:Pol(E-C,F-D):I→S:J→A: If A<0:Then A+360→A:Else A →A:IfEnd:sin-1(S÷(2R)) →K:2∏RK÷180→L:180O÷(2∏R) →G:(2R)sin(G) →H:C+Hcos(A-KN+GN) →X:”X=”:X ◢D+Hsin(A-KN+GN) →Y:”Y=”:Y ◢R-0.5√(4R2-H2) →Q:”Q=”:Q ◢“S=”?V:If V=0:Then Goto 0:IfEnd:”L:-90 R:90”?U:X+Vcos(A-KN+2GN+U) →X:”X=”:X ◢Y+Vsin(A-KN+2GN+U) →Y:”Y=”:Y ◢Goto 0说明:输入程序时注意区别字母O 与数字0程序运行时符号说明X0? Y0? 分别输入直线起点的XY 坐标值X1? Y1? 分别输入直线终点的XY 坐标值R? 输入圆曲线半径L:-1 R:1? 圆曲线向左转弯时输入-1, 向右转弯时输入1ZY? 输入起点桩号LN? 输入所求点桩号( 按下exe 键后显示中桩坐标)S? 输入所要求的边桩与中桩的距离L:-90 R:90 要求左边边桩输入-90, 右边边桩输入90( 按下exe 键后显示边桩坐标)三、大地转施工“QK=”?Z:“QX=”?A:“QY=”?B:“ZX=”?O :“ZY=”?Q ↙Pol( O -A,Q-B) ↙J<0=>J+360→J ↙J>360=>J-360→J ↙J→F:“JF=”:F ◆DMS ◢Lb1 0 ↙X:?Y ↙Pol (X-A,Y-B):I→D ↙J<0=>J+360→J ↙J>360=>J-360→J ↙J-F→T:T→G ↙T<0=>T+360→G ↙T>360=>T-360→G ↙Z+Dcos (G)→K:“K=”:K ◢Dsin (G)→C:“C=”:C ◢GoTo 0 ↙说明:QK-- 输入线路起始点里程QX-- 输入线路起始点中桩X 坐标QY-- 输入线路起始点中桩Y 坐标ZX-- 输入线路前进方向中桩X 坐标ZY-- 输入线路前进方向中桩Y 坐标JF=-- 显示线路测量坐标方位角X-- 输入线路附近任意点测量X 坐标Y-- 输入线路附近任意点测量Y 坐标K-- 显示计算结果:里程桩号,即工程X 坐标C-- 显示计算结果:左右偏距,即工程Y 坐标, 中桩=0 ,左偏= 负值,右偏= 正值。
非常实用的5800放线程序(4800转换,增加计算竖曲线标高,增加使用说明)
卡西欧fx-5800p计算道路中、边线坐标放样程序(此程序计算速度快,可以查找桩号和偏中距离)(单园曲线超过半圈后有误差,半径5000米时,在半圈处的计算误差单方向8cm)SUB-10.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:U+W(Acos(G+180QKW(1÷P+KWD)÷π)+Bcos (G+180QLW(1÷P+LWD)÷π)+Bcos (G+180QW(1-L)(1÷P+WD(1-L))÷π)+Acos (G+180QW(1-K)(1÷P+WD(1-K))÷π))→X:V+W(ASIN(G+180QKW(1÷P+KWD)÷π)+Bsin(G+180QLW(1÷P+LWD)÷π)+Bsin (G+180QW(1-L)(1÷P+WD(1-L))÷π)+Asin (G+180QW(1-K)(1÷P+WD(1-K))÷π))→Y:G+180QW(1÷P+WD)÷π→FS—O(放线主程序)Deg:Fix3LbI7:“XC=”?C:“YC=”?E“H=”?TLbI1:“XL=1,2”?NIF N=0:T hen“X0=”?U:“Y0=”?V:“F0=”?G: “R1=” ?P: “R2=” ?R: “DK1=” ?О: “DK2=” ?H:“L(-1),R(+1),Z(0)” ?Q:Prog“SJ”: GOTO2:IfendLbI 0: “ZHUANG HAO=” ?S: IF T≠0:T hen Z=0:Goto 8:Ifend {Z} :Z”KUAN DU”LbI8IF N=0:T hen GOTO2:IfendIF N=1:T hen Prog“1”:GOTO2:IfendIF N=2:T hen Prog“2”:GOTO2:IfendIF N=3:T hen Prog“3”:GOTO2:Ifend ……………………………………………GOTO1LbI2: IF S<О-0.001: T hen GOTO1: IfendIF S>H+0.001:T hen GOTO1: Ifend(P-R)÷(2PR(H-О)) →D: Abs(S-О) → W:Prog“SUB-1”IF Z=1000: T hen GOTO 5: IfendIF Z≠0: T hen GOTO 3: IfendIF T≠0:T hen GOTO 9 △“ZX=”:X →X▲“ZY=” Y→Y▲IF F<0: T hen F+360 →F: Ifend“QX-FWJ=”:F→F▲LbI4: 0→I: 0→J:PoI(X-C,Y-E+0.00001)IF J<0: T hen J+360→J: Ifend“FWJ=”:J→J▲“HD=”:I→I▲GOTO 0IF T=0: T hen Goto 0: IfendLb1 9: Prog“BG”: ”SXG=” ?E”H△”:G-T+E→J▲Goto 0Lb13: “PJ=”? M: F+M→F: “BX=”: X+ZCosF→X▲“BY=”:Y+ZSinF →Y▲Goto4Lb1 5:Deg0→J: 0→I:PoI(X-C,Y-E+0.00001):IF J<0: T hen J=J+360: IfendIF Abs(Icos(J-F))<0.010: T hen Goto6: IfendS-Icos(J-F) →S:Goto8Lb16: 0→Z:”JISUANZH=” :S→S▲IF J-F=0 or J-F=180: T hen”ZX--PT”:I→I▲Goto7: IfendIF J-F>0 and J-F<180 or J-F<-180: T hen”L=m” :I→I▲Goto7: Else ”R=m” :I→I▲Goto7: Ifend竖曲线计算子程序 BGV=4:Y=Z[1]Lb1 0IF S<Z[1]:T hen Goto2:IfendIF V>4:ThenA=(Z[V-2]-Z[V-5])/(Z[V-3]-Z[V-6]): B=(Z[V+1]-Z[V-2])/(Z[V]-Z[V-3]):L=ABS(Z[V-1]*tan((tan-1 B- tan-1 A)/2))Y=Z[V-3]+L: IfendA=(Z[V+1]-Z[V-2])/(Z[V]-Z[V-3]): B=(Z[V+4]-Z[V+1])/(Z[V+3]-Z[V]):L=ABS(Z[V+2]* tan ((tan -1 B-tan -1 A)/2))X=Z[V]-L:U=z[v]+LIF A-B>0:T hen Q=-1:IfendIF A-B<0:T hen Q=1:IfendW=(S- X)/ Z[V+2]*180/piIF S≥Y and S≤X:T hen ZG=Z[V-2]+A(S-Z[V-3]): Goto 1:IfendIF S≥X and S≤U:T hen ZG= Z[V+1]-L*A +2* Z[V+2]*SIN(W/2)*SIN(SIN-1 A+Q*W/2): Goto 1:IfendIF S<Y:T hen V=V-3:Goto 0: IfendIF S>U and Z[V]≠Z[V-3]:T hen V=V+3:Goto 0: IfendIF S<Z[1]:T hen ZG=0: IfendLbI 2:”MEI YOU SHU JU” ? GLb1 1(标高数据输入程序)SJ1→I:LbI 0:”BIAN PO DIAN=”I▲”ZHUANG HAO=” ? E:Z[3I-2]=E:”BIAO GAO=” ? E:Z[3I-1]=E:”BAN JING=”? E:Z[3I]=E:IF I<3:T hen I+1→I:Goto 0:Ifend说明: I为变坡点号,本程序为3个(最少3个),如果增加变坡点,相应增加I<后的数字,并增加“s-o”程序的Defm后的数字为(I+1)*31 (1为线路名称,预装要素子程序)(线路名称预装要素子程序) 1o=线元起点里程:H=线元终点里程: U=线元起点X坐标:V=线元起点y坐标:G=线元起点方位角:P=线元起点半径(直缓点、缓直点半径为1045):R=线元终点半径(直缓点、缓直点半径为1045): Q=(左转为-1,右转为+1,直线为0)IF S≤o and S≥H T hen GOTO 3:Ifendo=线元起点里程:H=线元终点里程: U=线元起点X坐标:V=线元起点y坐标:G=线元起点方位角:P=线元起点半径(直缓点、缓直点半径为1045):R=线元终点半径(直缓点、缓直点半径为1045): Q=(左转为-1,右转为+1,直线为0)IF S≤o and S≥H T hen GOTO 3:Ifend 。
线元法曲线任意里程中边桩坐标正反算(CASIO_fx-5800P计算器)程序(附带高程)
线元法曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序(附带高程)一、功能及原理说明1. 功能说明:本程序由一个主程序(1-MAIN)和七个子程序——正算子程序(1-SUB-ZS)、反算子程序(1-SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO FX-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<=0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出反算结果。
3. 程序输入计算器后,请根据统计串列List X,Y,freq[N]在程序中实际可能被使用的维数,将其统计矩阵串列改为包含相应维数的任意数据的矩阵,即在list列表中随机输入相应维数的数据,保证矩阵大小符合维数要求。
4. 本程序正算速度在1-2秒左右,反算比正算慢点,可根据需要调整精度加快速度。
本程序可建立曲线要素数据库及高程变坡点数据库,一次输入整条线路数据,计算时自动调用数据库,实现全线贯通,也可临时手动输入线元计算要素进行计算。
5. 本程序由小骆在前人的基础上改进而成,经个人测试可用。
学识浅薄,不足之处,在所难免,欢迎提出改进意见。
二、源程序1.主程序(1-MAIN)Deg:fix 320→DimZLbl 0:cls:“INPUT(0),ZX(1),YX(2)”?I (选择手动输入计算参数0,还是调用线路数据1,2)If I=0:Then Prog “1-DAT1”:IfEnd“SZ=>XY(1),XY=>SZ(2)”?N(正算,反算)If N=1 :Then Goto 1Else If N=2 :Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“KP=”?S(输入待求桩号)If S<0:Then Goto 0:IfEnd“JL(m)=”?Z (输入偏距)If Z≠0:Then “ANGLE→R(Deg)=”?M:IfEnd (输入斜交右角)If I≠0:Then Prog “1-DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then cls:locate 6,2,"KP OUT"◢Goto 0:IfEnd:IfEnd(前半条针对“DAT”情况,后半条针对“INPUT”情况。
5800程序(线元法全线坐标正方算)
5800程序(线元法全线坐标正方算)本程序比较复杂.测量原理不是很明白的朋友慎用请大家经常关注程序B-H的更新2009,5,10日修改见超高子程序B-H黄色部分,另超高数据库增加在超高缓和段输入超高为公路外侧超高说明2009,5,8日正反算选择程序:ZS-FS 更改小错,详见紫色修改内容2009,4,30日更改如下:把原来的4个子程序分解成5个子程序,解决了一个大的竖曲线不能包含几个超高变化段,另外程序内也有两处改变请看红色区域.本程序经过综合考虑5800的设计缺陷,计算速度较慢故只使用高斯四节点法为计算内核.支持多条线路正反算,中桩,边桩高程计算,超高计算,超高缓和计算,加宽计算,加宽缓和计算,边坡开口线计算,挡土墙坡脚线计算,考虑了中间绿化带的影响,适用与国家高速公路至乡村四级公路计算和放样,路基路面工程可以直接得出中边桩的设计三维坐标,去掉加宽和超高影响的计算困难,边坡和坡脚线计算可直接在边坡上提取坐标带入程序,经过所有设计因素的综合,得出更改边距并显示修改偏差后的坐标.反算速度明显提高,只需要3秒.程序无错,可放心输入,另本程序可以增加隧道超欠挖计算子程序,非常方便,因为每个隧道的断面数据不一样,所以在此没有明确写出,有需要的可以联系我.本人QQ76805071,只为交友.计算器主程序:ZHU-CHENG-XULbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。
”?U:U=1=>Prog”ZS-FS”:进入公路三维程序U=2=>Porg”ZS”:进入坐标正算程序U=3=>Porg”FS”:进入坐标反算程序U=4=>Porg”XY =>SG”:进入大地坐标转施工坐标程序…………Goto0:说明:计算器总的主程序,进入选择各种分支计算程序。
1为公路三维计算,2为普通正算,3为普通反算,4为大地坐标转施工坐标。
选择错误重新选择。
此程序可以不用输入,只为给大家一个思路,可以把计算器所有程序集中到一个主程序内管理.公路三维部分正反算选择程序:ZS-FSDeg: //设置角度模式20→DimZ: //扩展变量“1LZ=>XY,2XY=>LZ,3BIANPO-FY”?U://正反算选择,正算选1,反算选2,坡口坡脚选3If U=1: ThenProg”ZS-XH”:IfEnd://进入正算循环主程序IfU=2:Then Prog”FS-XH”:IfEnd: //进入反算循环主程序IfU=3:ThenProg”BP-FY”:IfEnd://进入边坡开挖主程序正算循环主体程序ZS-XH“1PT-2SJ”?W://普通计算和设计边距计算选择“XL-XZ“?U://选择线路1~NIf W=1: Then //运行普通计算模式边踞自由输入Lbi0:”L=”?L:”Z=”?Z: //输入桩号和边距Porg”ZS-XH-1“:Goto0:IfEnd: //运行正算循环子程序If W=2:Then //运行设计计算模式边距按设计输入Lbi1:”L=”? L: //输入桩号Porg”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=”所求点左右边桩的高程。
Casio5800线元法(积木法)匝道坐标正反算放样程序
Casio5800线元法(积木法)匝道坐标正反算放样程序本程序由一个主程序2.XY和两个子程序(XY-A、XY-B)构成及各个线路的线元矩阵数据库(如P.Z、P.A等)组成,运行时只需运行主程序即可!本程序采用复化辛普森公式为核心,采用积木法线元定位思路架构,多线路共存,程序开始选择线路后K Or –K To Shu?提示时,执行输入一个定位桩号用于定位所在线元(若为负值程序转化为手工输入单独一段线元的要素:将显示K0?KN?X0? Y0?F0?R0?RN?ZX:-1,+1,0?等单一线元要素的输入正算;注意此时目的只是为了紧接着的下一段线元起点桩号(也就是所输入线元的终点桩号)坐标起点切线方位角计算,为了编写数据库做准备用的,故此时手输入情形下程序只可单独正算不可进行反算的!!等用手工输入单算将所有线元数据准备完毕编写为数据库时即可任意角正反算的),后面的坐标正、反算均在该线元范围内进行,该线元要素只在程序开始时运行一次(其实线元要素的显示可根据半径值负号确定所输入桩号所在的线形转向等信息),避免了每次计算桩号都要重新定位线元、计算线元要素的麻烦,适当的提高了正反计算速度,虽然存在每次执行程序只能在一个线元计算范围内计算,要计算另一个线元范围的桩号,要重新执行程序的缺点,但比起由此带来的优势,这是微不足道的;其实当K OUT!提示时只需连续两次EXE重新定位即可计算!!线元定位技术的采用,结合线元计算桩号范围的确定,可圆满解决公路匝道曲线中的断链情况;关于此程序断链的处理:断链前后的数据编写到一个数据库中,运行时只需记住断链前后某一个特定桩号来定位断链前后线元即可开始正常的断链前后的正反算了的。
数据库子程序采用矩阵变量的形式,使数据组织更加简洁,输入更加便捷;(全部数据库输入完毕后检查核对办法之一:逐一循环输入各个线元中的任一点桩号正算后彻底退出程序后,回到comp模式下按FUCTION----8:MATRIX-----1:EDIT----下箭头选择Mat B后回车用左右箭头键查看矩阵表中所输入该桩号所在的该段线元数据是否有误,有误则立即EXIT退出到线路数据库中找到该行修改[[]]中所错误的数值即可!!无误则可放心使用!)程序考虑了调用数据库子程序和手工输入线元数据两种方法。
FX-5800P线路计算程序
FX-5800P线路计算程序F[NPT](主程序)Lbl Q(选择单点或多点计算模式)4→DimZ“SELECT MODE”“F0:ONE POINT”“F1:N POINT”?→Z[4]If Z[4]=0:Then Goto B: Else If Z[4]=1:Then Goto A: Else Cls :Goto Q:IfEnd: IfEndLbl A(批量计算直角坐标和极坐标元素入口)Norm 1:Deg:FreqON:ClrStat:0→N:ClsProg"STATION":IF Z[3]=-1:Then Cls:Stop:IfEndClsZ[1]→E“[KS]+Ke]i=”?E:E→Z[1]:Cls“STEP=”?→Z[2]:Cls“Zp=”?Z90→C:Cls:”ANG=”?CLbl 1(循环生成桩号序列)ReP(E)→List Freq[1]ReP(E)+(Z[2]-10(Frac(0.1ReP(E)))→List Freq[2]For 3→M To (Int(((ImP(E)-ReP(E))÷Z[2])+2-1)List Freq[M-1]+Z[2]→List Freq[M]NextLbl 2(循环计算坐标)ImP(E)→List Freq[M+1]For 1→M To (Int((ImP(E)- ReP(E))÷Z[2])+2)List Freq[M]→SProg"DATP[MC]"Prog"TURN[YS]"Prog"ZS"Fix3X→ListX[M]Y→ListY[M]Cls:Norm 1Locate 2,2,”COMPUTER…”Locate 13,2, Intg(((ImP(E)- ReP(E))÷Z[2])+2-M)Fix 3NextLbl 3(提取结果并显示)Cls:”PRESS[MODE][4]=>AnsF[XYK]Or[EXE] =>SET OUT”◄For 1→M To Int((ImP(E)- ReP(E))÷Z[2])+2List X[M]→XList Y[M]→YList Freq[M]→SProg"POL"Prog"DISP.KZ"◄Prog"DISP.XY"◄NextGoto ALbl B(单点计算模式入口)Norm 1:Deg:0→N(置零)Prog"STATION"Cls:90→C:”ANG=”?CLbl 4(单点计算模式)Cls:”Kp=”?SIF S=-1:Then Cls:Stop:IfEndCls:”Zp=”?ZProg"DATP[MC]"Prog"TURN[YS]"Prog"ZS"Prog"POL":Prog"DISP.XY"◄Goto 4STATION(测站输入子程序)ClsZ [2N+3]→E"St[X]+St[Y]i"?EE→Z[2N+3]ReturnDATP[MC](平面数据库子程序)If S≤K ei:Then [ [ K si,X Si , Y Si , T Si , R Si ,R ei,K ei,Q i] ]→Mat A :Return:IfEndIf S≤K e i+1:Then [ [ K si+1,X si+1 , Y si+1 , T si+1, R si+1 ,R ei+1,K ei+1,Q i+1] ]→Mat A:Return:IfEnd .............TURN[YS](将存在矩阵中的线元数据赋给正算标准变量)Mat A[1,1]→OMat A[1,2]→UMat A[1,3]→VMat A[1,4]→GMat A[1,5]→PMat A[1,6]→RMat A[1,7]→HMat A[1,8]→QReturnZS(线路正算预备子程序)Abs(S-O)→W(P-R)÷(2PR(H-O))→DProg"G[ZS]"ReturnG[ZS](高斯-勒戎德4节点近似积分计算线元坐标子程序)Lbl 00.1739274226→A: 0.32607257774→B0.0694318442→K: 0.3300094782→LLbl 1U+W(ACos(G+180QKW(1÷P+KWD)÷π)+BCos(G+180QLW(1÷P+LWD)÷π)+BCos(G+180(1-L)QW(1÷P+(1-L)WD)÷ π)+ACos(G+180(1-K)QW(1÷P+(1-K)WD)÷π))→X V+W(ASin(G+180QKW(1÷P+KWD)÷π)+BSin(G+180QLW(1÷P+LWD)÷π)+BSin(G+180(1-L)QW(1÷P+(1-L)WD)÷π)+ASin(G+180(1-K)QW(1÷P+(1-K)WD)÷π))→Y G+180QW(1÷P+WD)÷π+C→FX+Z Cos(F)→XY+Z Sin(F)→Y360Frac((360+F-C)÷360)→TReturnPOL(极坐标计算子程序)Pol(X-ReP( Z [2N+3 ]),Y-ImP(Z [2N+3 ])+10^(-5))J<0=>J+360→JReturnDISP.K Z(桩号及偏距显示子程序)Fix 3:Cls"K p=":Locate 5,2,SLocate 1,3," Z p="Locate 5,4,ZReturnDISP.XY(极坐标要素及直角坐标显示子程序)Fix 3:Cls"HR=":Locate 5,1,J0"HD=":Locate 5,2,I"X p=":Locate 5,3,X"Y p=":Locate 5,4,YReturn关于程序的几点说明1.写此程序的初衷是应网友“K0+000"之邀,提供一份基本程序供初学者参考之用。
卡西欧5800坐标计算程序(通俗易懂版)
卡西欧5800道路坐标测量程序(通俗易懂版)主程序(自己给取个名吧)2→Dimz“1.SZ=﹥XY2.XY=﹥SZ”◢“N=”?NIf N=1:Then Goto 1:Else Goto 2:IfEndLbl 1“S=”?S“Z=”?Z“J=”?TIf 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 1Lbl 2“S=”?SIf S<0:Then Prog “SYL”:Else Prog “SYR”:IfEnd(可拿掉) 90→T1÷P→C:(P-R) ÷(2HPR)→D:180÷∏→E“X=”?X“Y=”?YX→I:Y→JProg “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)))→XV+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+F WD))+Asin(G+QEMW(C+MWD))) →YG+QEW(C+WD)→Z[1]Z[1]+T→FX+Zcos(F)→XY+Zsin(F)→YReturn子程序(SUB2)G-90→Z[2]:Abs((Y-V)cos(Z[2])-(X-U)sin(L)→W:0→ZLbl 0Prog “SUB1”Z[2]+QEW(C+WD)→L(J-Y)cos(L)-(I-X)sin(L)→ZIf Abs(Z)<10(-6):Then Goto 1:EIse W+Z→W:Goto 0:IfEndLb1 10→Z:Prog “SUB1”(J-Y)÷sin(F)→ZReturn数据库(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:反算出的偏距。
5800坐标计算程序 线元法反算可以进行学习(xt )
“A-SJ”主程序(数据库计算版)LbI1: “KCD”?S输入求点里程?N 正反算选择1为正算,其他为反算N=1 =>Goto 2: Goto3LbI: Prog “A-SJK”prog “A-ZS”?Z 输入边距左-右+Prog “A-BZ”“X=”:X◢显示计算出的X“Y=”:Y◢显示计算出的Y“FW=”:F◢显示计算出的法线方位角Goto 1LbI 3: “X”?A输入要反算的X“Y”?T输入要反算的YLbI 4: Prog “A-SJK”prog “A-FS”If Abs(N)>0.001: Then N+S->S:Goto 4: If endN+S->S: “KCD=”:S◢显示反算出的里程“Z=”:W◢显示反算出的边距Goto 1A-ZS 正算子程序1÷P->C:(P-R)÷(2HPR)->D:180÷Ⅱ(派)->E: Abs(S-O)->W 0.1739274226->Z[1]0.3260725774->B0.0694318442->K0.3300094782->L1-L->F:1-K->MG+QEKW(C+KWD)->KG+QELW(C+LWD)->LG+QEFW(C+FWD)->FG+QEMW(C+MWD)->MU+W(Z[1]cos(K)+Bcos(L)+Bcos(F)+ Z[1]cos(M))->XV+W(Z[1]sin(K)+Bsin(L)+Bsin(F)+ Z[1]sin(M))->YG+QEW(C+WD)->FRenturnA-FS 反算子程序Prog “A-ZS”Pol((A-X),(T-Y))Icos(J-F)->NIsin(J-F)->WRenturnA-BZ 边桩计算X+Zcos(F+90)->XY+Zsin(F+90)->YRenturnA-SJK 数据库If S<线元终点里程AND S>起点里程:Then 起点方位角->G: 起点里程-> O: 起点X->U:起点Y->V: 起点半径->P:终点半径->R:线元长度->H:系数(-1,1)->Q:If end(有几条线形加几个IF语句)。
CASIO fx-5800P线元法坐标正反算程序
CASIO fx-5800P线元法坐标正反算程序说明:本程序适用于卡西欧计算器 CASIO fx-5800P,可对全线贯通坐标正反算、竖曲线高程计算。
该程序可计算任意线型,包含(直线、圆曲线、缓和曲线、卵形曲线)等,还可以能通过坐标反推该点里程和距中线距离,适用测量员专用。
主程序名:ABCYT第1步Deg:Fix 3:10→DimZ第2步Lbl 3:"1.DK=>XY":"2.XY=>DK":"Q"?W:"DK"?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:"W"?Z:"α"?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:"S=":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第4步Pol(X-I,Y-J):If Z<0:Then -1×I→Z:Else 1×I→Z:IfEnd数据库名: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程序使用说明
现有三条线形:运行“XIAN YUAN FA”标题部分标题注释输入部分K(ZH)?起点里程0+EXE K(HZ)?终点里程(即线元起点里程+线元长度)150+EXE X(ZH)?起点坐标X 1000+EXE Y(ZH)?起点坐标Y 5000+EXE FWJ(ZH)?起点切线方位角86°32′45.06″+EXE起点半径(直线)1045+EXE 起点半径(圆曲线)-150+EXE 起点半径(缓和曲线)1045+EXE 起点半径(直线)1045+EXE 起点半径(圆曲线)-150+EXE程序名:XIAN YUAN FA程序题解:线元法。
可以对任何线元(直线、圆曲线、缓和曲线)5800程序使用说明程序使用过程:1、直线:起点坐标X=1000,Y=5000,起点切线方位角=86°32′45度=150;2、圆曲线:起点坐标X=1000,Y=5000,起点切线方位角=86°32′45.06″长度=150;半径=500,左偏;3、缓和曲线:起点坐标X=1000,Y=5000,起点切线方位角=86°32′45.0元长度=150,缓和曲线前半径=0,缓和曲线前半径=300,右偏。
R(ZH)?R(HZ)?起点半径(缓和曲线)300+EXE 1.ZS 2.FS1、正算2、反算1+EXE XC?测站点X坐标(可以输入0)0+EXE YC?测站点Y坐标(可以输入0)0+EXE K×+×××?待求点里程20+EXE RJ OR 0 TO K?转角,默认为90°;输入0时,返回待求点里程。
EXED?偏距(0为中桩、左-,右+)假如为左边桩,距中12.25M -12.25+EXEK×+×××=20里程20EXE Z=-12.25偏距(距中12.25M处左边桩)EXE X=1013.433K=20,D=-12.25处X坐标EXE Y=5019.226K=20,D=-12.25处Y坐标EXE FWJ=78°35′5.53″K=20,D=-12.25处切线方位角EXE按EXE返回继续运算改点的其他偏距,按0返回计算下一个桩号EXE 1.ZS 2.FS1、正算2、反算2+EXE X?待反算X坐标1013+EXE Y?待反算Y坐标5019+EXE注意:以下部分为直线算例R(HZ)?X=1013Y=5019K×+19.749Z=-11.832待反算X坐标待反算Y坐标反算出结果:里程、偏距按EXE返回继续反算其他点位EXE运行“ZHI XIAN”标题部分标题注释输入部分K(ZH)?起点里程0+EXE X(ZH)?起点坐标X 1000+EXE Y(ZH)?起点坐标Y 5000+EXE X(HZ)?终点坐标X 1000+EXE Y(HZ)?终点坐标Y 5500+EXE I=计算出两点间距离EXE FWJ= 90°0′0″计算出两点间方位角EXE程序题解:直线。
5800计算程序
COSIO FX5800线元法正反算程序①主程序 TYQXJS10→DimZ ↙“1.SZ=>XY=>:“2.XY=>SZ”:?N:If N=1:Then Goto 1:Else Goto 2 :IfEnd↙Lbl 1 : Prog “DXD”:Lbl 3 : ?S:?Z:Prog “QXYS1”:1÷P→C :(P-R)÷(2HPR)→D:180÷π→E :Abs (S- O) →W : 90 →Z[3]: Porg “SUB1”: “XS=”: X◢“YS=”:Y◢“Fs=” : (F-Z[3]) ►DMS◢Pol (X-Z[1],Y-Z[2]) ↙If J≤0: Then J+360→J : IfEnd↙“J=” : J ►DMS◢“I=”: I ◢-1→T: “HDJS”?T : If T ≠ -1 :Then Prog “HDJS” : IfEnd↙Goto 3↙Lbl 2 : ?X : ? Y : X→I : Y →J : 90→Z[3] : prog “SUB2” : “ S=” : O +W ◢“Z=”:Z ◢ Goto 2↙如果正算时需要计算斜交涵洞,就把Lbl 1语句段中的90→Z[3]改为斜交右夹角→Z[3],Lbl 2语句段中的Z[3]=90是永远不用改动的。
注意:不用再计算斜交时要记得改回来,不然会出现很不可思议的错误。
②子程序1 (SUB2)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[3] →F:X+Zcos (F) →X:Y+Zsin (F) →Y↙③子程序2 (SUB2)?S: Prog “QXYS1”:1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E: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)<0.000001 :Then Goto 1: Else W+Z→W: IfEnd: Goto 0↙Lbl 1:0→Z: Prog “SUB1”: (J-Y) ÷sin(F) →Z↙④导线点数据库 (DXD)“DIAN HAO”?A: If A=点号:Then X坐标→Z[1]: Y坐标→Z[2]: IfEnd↙以此类推。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 主程序
Lbl 4:"1.SZ => XY":"2.XY => SZ":?N:?S:Prog“SUB0”↙
1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1:Goto2↙
Lbl 1:? Z:Abs(S-O) →W:Prog "SUB1":"XS=":X◢
"YS=":Y◢F-90→F:“FS=”:F▲DMS◢:Goto4↙
Lbl 2:?X:?Y:X→I:Y→J:Prog“SUB2”:O+W→S:“S=”:S◢“Z=”:Z◢Goto4↙
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)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y
2. 反算子程序(SUB2)
G-90→T:Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:Lbl 0:Prog "SUB1":
T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z:Abs(Z)<1E-6=>Goto1:W=W+Z:Goto 0←┘Lbl 1:Z=0:Prog "SUB1":(J-Y)÷sin(F)→Z
SUB0 数据库子程序
Goto1↙同时保存多个曲线时的指针
Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙
Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd
………………………..
为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。
三、使用说明
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表示由坐标反算里程和边距。
S ?正算时所求点的里程,反算时为所求点的近似里程,反算时输入的近似里程不能夸线元,若夸线元的话,需进行第二次反算,并以第一次的结果做为近似里程,否则反算的里程及边距不对,Z ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
X ?反算时所求点的X坐标
Y ?反算时所求点的Y坐标
显示部分:
XS=×××正算时,计算得出的所求点的X坐标
YS=×××正算时,计算得出的所求点的Y坐标
FS=×××正算时,所求点对应的中线点的切线方位角
S=×××反算时,计算得出的所求点的里程
Z=×××反算时,计算得出的所求点的边距
分两步计算:1、计算曲线要素 P=S²÷(24R);Q=S÷2-S³÷(240R²);T=(P+R)tan|0.5B|+Q;L=πRB÷
180+S ZH(C)=A-T;HY(D)=C+S;YH(H)=C+L-S;HZ(G)=C+L
式中:F----方位角;A----交点桩号;B-----路线偏角(左偏为负,右偏为正),R----半径;S---缓和曲线长
T----切线长;L-----曲线长
2、计算方位角:ZH=F;HY=F+S÷2R;HZ=F+B;YH=HZ-S÷2R;(当F<0时S÷2R为负,大于0时为正)。