fx-5800p全线坐标正反算带高程计算程序(线元法)
Fx-5800P线元积分法坐标计算万能程序
Fx-5800P万能程序核心计算程序摘自工测员网“yshf”,数学模型:辛普森公式一.程序清单:1. 正算子程序(SUB1)0.1739274226→Z[1]:0.3260725774→Z[2]:0.0694318442→Z[3]:0.3300094782→Z[4]:1- Z[4]→F:1- Z[3]→Z[5]:(将原来变量A、B、K、L、M,用Z[1] 、Z[2] 、Z[3] 、Z[4] 、Z[5]扩充变量来代替,以便嵌套其他程序)U+W(Z[1]cos(G+57.2958Q Z[3]W(1÷P+Z[3]WD))+Z[2]cos(G+57.2958QZ[4]W(1÷P+Z[4]WD))+Z[2]cos(G+57.2958QFW(1÷P+FWD))+Z[1]cos(G+57.2958Q Z[5]W(1÷P+Z[5]WD)))→X:V+W(Z[1] sin(G+57.2958Q Z[3]W(1÷P+Z[3]WD))+Z[2]sin(G+57.2958QZ[4]W(1÷P+Z[4]WD))+Z[2]sin(G+57.2958QFW(1÷P+FWD))+Z[1] sin(G+57.2958Q Z[5]W(1÷P+Z[5]WD)))→Y:G+57.2958QW(1÷P+WD)+M→F:(M为线路前进方向右交角)X+ZcosF→X:Y+ZsinF→Y2. 反算子程序(SUB2)G-90→T:Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:Lbl 0:Prog "SUB1":T+57.2958QW(1÷P+WD) →L:(J-Y)cosL-(I-X)sinL→Z:If AbsZ<10^(-6): Then Goto1:Else W+Z→W:Goto 0: IfEnd←┘Lbl 1:0→Z:Prog "SUB1":(J-Y)÷sinF→Z←┘3.主程序(ZCX)(数据库程序)10→DimZ(扩充10个变量)xxxxxx.xxx→Cyyyyyy.yyy→E(坐标放样中测站点坐标)Lb1 4:”N”﹖N:”S”﹖SIf S≤下一线元起点里程:Then 本线元起点里程→O:本线元起点X坐标→U=:本线元起点Y坐标→V:本线元起点方位角→G:本线元长度→H:起点曲率半径→P:终点曲率半径→R:0(直线)或1(线路右转)、-1(线路左转)→Q: Goto0:IfEnd←┘(第一段线元数据要素)If S≤下一线元起点里程:Then 本线元起点里程→O:本线元起点X坐标→U=:本线元起点Y坐标→V:本线元起点方位角→G:本线元长度→H:起点曲率半径→P:终点曲率半径→R:0(直线)或1(线路右转)、-1(线路左转)→Q: Goto0:IfEnd←┘(第二段线元数据要素)If。
5800P公路路线坐标正反算及高程计算程序
公路路线座标正反算及高程计算程序Fx-5800计算机程序1.FYJS 主程序Fix 3: “1.SZ=>NE:2.NE=>SZ:3.S=>H”:?Q:Q=1 => Goto1:Q=2 => Goto2: Q=3 => Goto3←┘Lbl 1: "K"?S: "-B,0,+B"?Z: “PJ”?M:Prog“5.DAT-SJK”:Prog“2.SUB1”: N+Zcos (F+M) →N:E+Zsin(F+M) →E←┘Prog“4.FY”:Goto 1←┘Lbl 2: “X”?B: “Y”?C:"K"?S: Pro g“3.SUB2”: “K=”:S◢“-B,0,+B=”:Z◢Goto 2←┘Lbl 3: "K"?S :Prog“5.1GCJSCX”: Goto 3"K"?S: 所计算点桩号"-B,0,+B"?Z: 计算点左右边距左- 右+ 中0“PJ”?M 所计算点斜距的右夹角“X”?B: 反算实测X坐标“Y”?C:反算实测Y坐标"K"?S: 反算点附近大概桩号2.SUB1 正算子程序0.5(1÷R-1÷P)÷L→D:S-O(字母 )→X←┘U+∫(cos(A+(X÷P+DX^(2))×180÷π,0,X)→N←┘V+∫(sin(A+(X÷P+DX^(2))×180÷π,0,X)→E←┘A+(X÷P+DX^(2))×180÷π→F←┘3.SUB2 反算子程序Lbl 1:0→Z:1→Q:Prog“5.DAT-SJK”: Prog“2.SUB1” :Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-90-J) →W:S+W→S:Abs(W)>0.0001 => Goto1←┘Lbl 2: 0→Z:Prog“2.SUB1”:(C-E) ÷sin(F+90) →Z4.FY 放样子程序"HS:X"?N:"HS:Y"?E :"CE:X"?G:"CE:Y"?H:Pol(N-G,E-H): J<0=>J+360→J: " FWJ=": J►DMS◢"JL=": I◢"HS:X"?N: 后视点(计算点)X坐标"HS:Y"?E : 后视点(计算点)Y坐标"CE:X"?G: 测站点X坐标"CE:Y"?H: 测站点Y坐标5.1高程计算子程序(5.1GCJSCX)Prog“ 6.SQX-DAT”:Z[6] Abs(Z[2]- Z[1]) ÷2→Z[3]:if Z[2]- Z[1]>θ :Then 1→Z[4]:Else -1→Z[4]:ifendif S<K:Then - Z[1]→T:Else Z[2]→T:ifendAbs (K-S)→Z[5]if Z[5]- Z[3]>θ:Then Z[7]+T Z[5]→Z[8]:“HS=”:Z[8]◢Else Z[7]+T Z[5]+ Z[4] (Z[3]- Z[5])2÷2÷Z[6]→Z[8]: “HS=”:Z[8]◢ifend5.DAT-SJK 数据库子程序Goto1←┘同时保存多个曲线时的指针Lbl 1←┘IF S<476533.296(线元终点里程):Then31°24'29.07″→A(线元起点方位角):476088→O(线元起点里程):4689534.997→U(线元起点X):479874.003→V(线元起点Y):1045→P(线元起点曲率半径):1045→R(线元终点曲率半径):445.296→L(线元起点至终点长度): R eturn:IfEnd←┘IF S<476803.296:Then31°45'48.37″→A:476533.296→O:4689913.601→U:480108.413→V:1045→P:12000→R: 270→L: Return:IfEnd←┘IF S<477106.771:Then32°24'28.85→A:476803.296→O:4690142.627→U:480251.404→V:12000→P:12000→R: 303.475→L: Return:IfEnd←┘IF S<477376.771:Then33°51'25.2″→A:477106.771→O:4690396.754→U:480417.272→V:12000→P:1045→R: 270→L: Return:IfEnd←┘IF S<488923.776:Then34°30'05.68→A:477376.771→O:4690619.834→U:480569.372→V:1045→P:1045→R: 11547.005→L: Return:IfEnd←┘IF S<489353.776:Then34°30'05.68″→A:488923.776→O:4700135.844→U:487109.930→V:1045→P:-10000→R:430→L: Return:IfEnd←┘IF S<490817.499:Then33°16'10.99″→A:489353.776→O:4700491.941→U:487350.944→V:-1000 0→P:-10000→R: 1463.723→L: Return:IfEnd←┘IF S<491247.499:Then24°52'59.52″→A:490817.499→O:4701770.051→U:488061.643→V:-1000 0→P:-1045→R: 430→L: Return:IfEnd←┘IF S<509336.037:Then23°39'04.83″→A:491247.499→O:4702162.678→U:488236.961→V:-1045→P:-1045→R: 18088.538→L: Return:IfEnd←┘程序名:(6.SQX-DAT)(高程竖曲线要素子程序)if S<332.599:Then 0.02793→Z[1]:-0.03309→Z[2]:1800→Z[6]:235→K:32.7→Z[7]: goto 1:ifendif S <734.085:Then -0.03309→Z[1]:-0.00485→Z[2]:6000→Z[6]:460→K:25.254→Z[7]: goto 1:ifend-- Lbl 1Z[1]—前坡: Z[2]—后坡: Z[6]—竖曲线半径 K—变坡点桩号: Z[7]—变坡点设计高三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当曲线半径在左时,P、R取负值,当曲线半径在右时,P、R取正值,当曲线半径为无穷大(即直线)时,P、R以10的45次代替。
非常好的5800坐标正反算程序
5800坐标正反算程序“1.If SZThen XY”:“2. If XYThen SZ”:“N=”?→N:起点X→U:起点Y →V:起点里程→O:起点方位角→G:曲线长度→H:起点曲率半径→P:终点曲率半径→R:(左偏-1;直线0;右偏1)→Q:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If 1→N:Then Goto 1:Else Goto 2:IfEnd←Lbl 1:“S=”?→S:“Z=”?→Z:Abs(S-O)→W:Prog “SUB1”:X→X▲Y→Y▲Lbl 2:“X=”?→X:“Y=”?→Y:X→I:Y→J:Prog “SUB2”:O+W→S▲Z→Z▲Goto 2正算子程序SUB10.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))+A cos(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→Y←反算子程序SUB2G-90→T:Abs((Y-V)cosT-(X-U)sinT)→W:0→Z:Lbl 0:Prog “SUB1”:T+QEW(C+WD) →L:(J-Y)cosL-(I-X)sinL→Z:If AbsZ<0.000001:Then Goto1:Else W+Z→W:Goto0:IfEnd←Lbl 1:0→Z:Prog“SUB1”:(J-Y)÷sinF→Z5800坐标反算程序Lbl 0:“X=”?→X:“Y=”?→Y:焦点X→N:焦点Y→E:转向角→A:半径→R:缓和曲线长→C:切线长→T:直缓点里程→G:缓直点里程→M:方位角→F:If G<M:Then 1→P:F→U:Else -1→P:F+A→U:IfEnd←If A>0:Then 1→Z:Else -1→Z:IfEnd←Pol(X-N,Y-E) ←G+PT+Rec(I,J-U)→S:J→D←If G>M:Then Goto3:IfEnd←If S≤G :Then S→K▲ZD→Q▲Goto 0←Else Goto4:IfEnd←Lbl 3←If S≥G:Then S→K▲ZD→Q▲Goto 0←Lbl 4←C2÷24÷R-C4÷2688÷R3→W:C÷2-C3÷240÷R2→V:90C÷R÷π→B:←Pol(P(S-G) -V,ZD-R-W) ←If J≥B-90:Then Goto 5:IfEnd←P(S-G)+P(S-G)5÷40÷R2÷C2→Z←Z3÷(6RC) →H←If A>0:Then D-H→W:Else -D-H→ W:IfEnd←If RC≤2WC:Then RC÷W→Z:Else(RC-√(R2C2-2RCWZ)) ÷W→Z:IfEnd←G+PZ→K▲K-PZ5÷(40R2C2) →V:Z3÷(6RC) →H←If A<0:Then -1→Z:Else 1→Z:IfEnd←√((S-V)2+(ZD-H)2) →W←If ZD≥H:Then W→Q▲Else -W→Q▲IfEnd←Goto 0←Lbl 5←(90+J)π÷180-C÷2R→J←If RJ≥P(M-G) -2C:Then Goto 6:IfEnd←G+P(C+JR) →K▲R-I→Q▲Goto 0←Lbl 6←Pol(P(S-G) -T,ZD) ←M-P(T-Rec(I,J-AbsA)) →O←If G>M:Then Goto 7:IfEnd←If O>M:Then O→K▲J→O▲Goto 0←Else Goto 8:IfEnd←Lbl 7←If O≤M:Then O→K▲J→Q▲IfEnd←Goto 0←Lbl 8←P(M-O)+P(M-O)5÷(40R2C2) →Z←Z3÷(6RC)) →H←J-H→W←If RC≤2WZ:Then RC÷W→Z:Else(RC-√(R2C2-2RCWZ)) ÷W→Z:IfEnd ←M-PZ→K▲K+PZ5÷(40R2C2) →V:Z3÷(6RC) →H:√((O-V)2+(J-H)2)→W←If J≥H:Then W→Q▲Else -W→QIfEnd←Goto 0←。
5800全线高程计算程序
CASIO fx5800p全线高程计算程序GAOCHEN 主程序Lbl 1“KM=,<0,Stop”:?K:K<0=>Stop:“PY=”?L:Prog”GK”C-D→E:Abs(RE/2)→T:R(Abs(E)/E)→RIf K≤B-T:Then 0→H:Else:If K≥B+TThen 0→H:D→C:Else K-B+T→H:Ifend:IfendA-(B-K)C-H2/(2R)→G:Cls“KM=”:Locate 4,1,K:Locate 10,1,“PY=”:Locate 13,1,L:Fix 3“H=”:Locate 4,2,GProg “PODU”:(E-B)/(D-A)(K-A)+B→I:(F-C)/(D-A)(K-A)+C→J “HL=”:G+IL→X:Locate 4,3,X:Locate 11,3,“I=”:Locate 13,3,I*100 “HR=”:G+JL→Y:Locate 4,4,Y:Locate 11,4,“I=”:Locate 13,4,J*100◢显示中边桩高程Cls:Norm 2:“BM+HS≤0,Goto 1”?Z:Z≤0=> Goto 1:Cls (输入视线高)“KM=”:Locate 4,1,K:Locate 10,1,“PY=”:Locate 13,1,L:Fix 3 “QSM=”: Locate 6,2,Z-G (显示中桩读数)“QSL=”: Locate 6,3,Z-X (显示左桩读数)“QSR=”: Locate 6,4,Z-Y◢(显示右桩读数)Norm 2:Cls:Goto1(后面可加已知视线高计算读数部分,不想计算读数则视线高输入0或负数如不想显示麻烦,可将Locate语句去掉)以下两个子程序不需运行,只是两个独立的数据库赋值程序,字母重复不影响计算结果GK 数据库子程序If K≤第二曲线起点桩号:Then 第一曲线交点高程→A:第一曲线交点桩号→B:第一曲线前坡→C:第一曲线后坡→D:第一曲线半径→R(凸正凹负):Return:Ifend…………….(有几个变坡点编几个If语句)If K≤76004:Then 622.890→A:75400→B:-0.005→C:-0.026→D:20000→R:Ret urn:IfendIf K≤77150:Then 602.350→A:76190→B:-0.026→C:0.005→D:12000→R:Retu rn:IfendIf K≤78420:Then 608.300→A:77380→B:0.005→C:--0.018→D:20000→R:Ret urn:IfendIf K≤79310:Then 585.260→A:78660→B:-0.018→C:-0.024→D:80000→R:Ret urn:IfendIf K≤80518.50:Then 564.380→A:79530→B:-0.024→C:-0.016→D:55000→R:R eturn:IfendIf K≤82230:Then 545.340→A:80720→B:-0.016→C:0.015→D:13000→R:Ret urn:IfendPODU 计算坡度子程序If K≤第一变(非变)坡段终点:Then 第一曲线起点桩号→A:第一曲线起点左坡→B:第一曲线起点右坡→C:第一曲终点桩号→D:第一曲终点左坡→E:第一曲终点右坡→F:Return:Ifend………………(每一个超高变化线元一个If语句)If K≤75884.442:Then 75000→A:-0.02→B:-0.02→C:75984.442→D:-0.02→E:-0.02→F:Return:Ifend(直线段)If K≤75984.442:Then 75884.442→A:-0.02→B:-0.02→C:75984.442→D:-0.03→E:0.03→F:Return:Ifend(JD66)If K≤76452.111:Then 75984.442→A:-0.03→B:0.03→C:76452.111→D:-0.03→E:0.03→F:Return:Ifend(JD66)If K≤76552.111:Then 76452.111→A:-0.03→B:0.03→C:76552.111→D:-0.02:-0.02→F:Return:Ifend(JD66)If K≤78271.813:Then 76552.111→A:-0.02→B:-0.02→C:78271.813→D:-0.02→E:-0.02→F:Return:Ifend(直线段)If K≤78371.813:Then 78271.813→A:-0.02→B:-0.02→C:78371.813→D:-0.03→E:0.03→F:Return:Ifend(JD67)If K≤78870.831:Then 78371.813→A:-0.03→B:0.03→C:78870.831→D:-0.03→E:0.03→F:Return:Ifend(JD67)If K≤78970.831:Then 78870.831→A:-0.03→B:0.03→C:78970.831→D:-0.02→E:-0.02→F:Return:Ifend(JD67)If K≤79284.976:Then 78970.831→A:-0.02→B:-0.02→C:79284.976→D:-0.02 3→E:-0.02→F:Return:Ifend(直线段)If K≤79404.976:Then 79284.976→A:-0.02→B:-0.02→C:79404.976→D:0.04→E:-0.04→F:Return:Ifend(JD68)If K≤79687.747:Then 79404.976→A:0.04→B:-0.04→C:79687.747→D:0.04→E:-0.04→F:Return:Ifend(JD68)If K≤79767.747:Then 79687.747→A:0.04→B:-0.04→C:79767.747→D:0→E:0→F:Return:Ifend(JD68)If K≤79847.747:Then 79767.747→A:0→B:0→C:79847.747→D:-0.04→E:0.04→F:Return:Ifend(JD69)If K≤80232.429:Then 79847.747→A:-0.04→B:0.04→C:80232.429→D:-0.04→E:0.04→F:Return:Ifend(JD69)If K≤80312.429:Then 80232.429→A:-0.04→B:0.04→C:80312.429→D:0→E:0→F:Return:Ifend(JD69)If K≤80392.429:Then 80312.429→A:0→B:0→C:80392.429→D:0.04→E:-0.04→F:Return:Ifend(JD70A)结果显示:高程显示KM=0000.000 PY=0.000H= 00.000HL=00.000 I=-1.5HR=00.000 I=-1.5读数显示KM=0000.000 PY=0.000 QSM= 00.000QSL= 00.000QSR= 00.000。
线路测量坐标正、反算计算原理及卡西欧5800程序说明
线路测量坐标正、反算计算原理及卡西欧fx-5800P程序说明一、计算原理在各测量书中对于坐标正算的相关计算式均有说明,故在此不做详解,仅对正算过程中需要用到的原理及公式做一汇总。
对于坐标反算,虽然都采用无限趋近原理进行计算,但计算方式各有差别,本文仅对其中一种自认为相对简单易懂并便于操作的原理进行详解。
1.1 坐标转换[1]如图1,设X P、Y P为P点在国家控制网坐标系中的坐标;x P、y P为P点在工程独立控制网坐标系中的坐标。
X O、Y O为工程独立坐标系原点o在国家坐标系中的坐标,Δα为两坐标系纵坐标轴的交角。
如果一条边在国家坐标系中的坐标方位角为A,而在工程独立坐标系中的坐标方位角为α,则:∆α=A−α(1-1)当由工程独立坐标系坐标换算至国家坐标系坐标时,换算公式为:X=x cos∆α−y sin∆α+X O(1-2)Y=x sin∆α+y cos∆α+Y O}当由国家坐标系坐标换算至工程独立坐标系坐标时,也可使用式(1-2),此时应将X、Y与x、y互换,且∆α=α−A。
1.2 坐标方位角关系计算1.2.1 正、反坐标方位角[2]一条直线的坐标方位角与直线的前进方向有关,沿直线前进方向的坐标方位角称为正坐标方位角,与其相反方向的坐标方位角称为反坐标方位角。
如图2,由于轴子午线之间是互相平行的,因此同一直线的正、反坐标方位角相差180°,即:α正=α反±180°(2-1)当α反<180°时,取“+”号;当α反>180°时,取“-”号。
1.2.2 坐标方位角的推算[3] 1.2.2.1 转折角为右角如图3(a),α12为已知边坐标方位角,α23为推算边的坐标方位角,β右为该两边所夹的右角,则:α23=α12±180°−β右=α21−β右 (2-2)1.2.2.2 转折角为左角如图3(b),α12为已知边坐标方位角,α23为推算边的坐标方位角,β左为该两边所夹的右角,则:α23=α12+β左±180°=α21+β左(2-3) 无论用右角还是左角推算,如遇出现负数的情形,应加上360°。
卡西欧fx-5800p计算器 公路测量常用程序
FX-5800p计算器公路测量常用程序一、程序功能本程序由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◢Goto 02.主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix3:”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:ThenJ+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:GotoH: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◢"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+LWS))+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 IfZ<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:ElseAbs(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。
fx-5800p全线坐标放样(交点法)正反算程序
fx-5800p全线坐标放样(交点法)正反算程序fx-5800p全线坐标放样(交点法)正反算程序【QXFYZFS】(主程序名)20→Dim?〝1.ZS.2.FS〞?J:J≠1?Goto2:90→H:〝X(CZ)〞?U:〝Y(CZ)〞?V?Lbi1:〝Kp=〞?P:〝Z-Y+〞?D:Prog〝SUJUKU〞:M+O→N:Prog〝SUBA〞:Prog〝SUBB〞:F-Dcos(Z-H)→F:G-Dsin(Z-H)→G:〝X=〞〝Y=〞〝〞Z?DMS◢U=0?Goto1:Pol(F-U,G-V):J<0?360+J→J:〝DH〞〝〞J?DMS◢Goto1?Lbi2:〝GAILUE(Kp=)〞?P:〝X=〞?U:〝Y=〞?V?Lbi3:Prog〝SUJUKU〞:M+O→N:Prog〝SUBA〞:Prog〝SUBB〞:Z-90→A:(V-G)cos(A)-(U-F)sin(A)→H:IfAbs(H)>0.0001:ThenH+P→P:Goto3:IfEnd:(G-V)÷sin(A)→D〝=〞〝〞Goto2?使⽤说明:20→Dim:扩展额外变量寄存器〝1.ZS.2.FS〞:选择正反算(正算=1反算≠1)90→H:边桩与线路正交〝X(CZ)〞〝Y(CZ)〞:输⼊测站点X、Y坐标值〝Kp=〞、〝Z-Y+〞:输⼊所求点桩号和距中(左-右+中0)〝GAILUE(Kp=)〞:反算时,输⼊所求点概略桩号〝X=〞〝Y=〞:反算时,输⼊所求点X、Y坐标值〝X=〞〝Y=〞〝〞:显⽰所求点X、Y值及所求点切线⽅位⾓。
〝DH〞〝〞:显⽰所求点放样距离及放样⽅位⾓(放样)。
10.〝〞〝〞:反算时,显⽰所求点桩号及距中(左-右+中0)。
〝U=0?Goto1〞〝〞〝〞【SUBA】⼦程序AIfO<0:Then-1→W:Else1→W:IfEnd:WO→A?B2÷24÷R-B^(4)÷2688÷R^(3)+B^(6)÷506880÷R^(5)→Z[6]:C2÷24÷R-C^(4)÷2688÷R^(3)+C^(6)÷506880÷R^(5)→Z[7]:B÷2-B^(3)÷240÷R2+B^(5)÷34560÷R^(4)→Z[8]C÷2-C^(3)÷240÷R2+C^(5)÷34560÷R^(4)→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:ARπ÷180+(B+C)÷2→L:L-B-C→Q:(R+(Z[6]+Z[7])÷2)cos(A÷2)-R→E:K-S→Z[1]:Z[1]+B→Z[2]:Z[1]+L-C→Z[4]:Z[4]+C→Z[5]【SUBB】⼦程序BX–Scos(M→F:Y-sin(M→G:P>Z[1]?Goto1:X→F:Y→G:P-K→Z[16]:0→Z[17]:M→A:M→Z:Goto5?Lbl1:P>Z[2]?Goto2:P-Z[1]→L:L→Z[14]:B→Z[15]:Prog〝SUBC〞:WZ[17]→Z[17]:M→A:M+90WL(BRπ→Z:Goto5:Lbl2:P>Z[4]?Goto3:P-Z[1]→L:90(2L-B)÷R÷π→A:Rsin(A)+Z[8]→Z[16]:W(R(1-cos(A))+Z[6]→Z[17]:M+WA→Z:M→A:Goto5:Lbl3:P>Z[5]?Goto4:Z[5]-P→L:L→Z[14]:C→Z[15]:Prog〝SUBC〞:X+Tcos(N→F:Y+Tsin(N→G:-Z[16]→Z[16]:WZ[17]→Z[17]:N→A:N-90WL2÷(CRπ→Z:Goto5:Lbl4:X→F:Y→G:P-Z[5]+T→Z[16]:0→Z[17]:N→A:N→Z:Goto5:Lbl5:F+Z[16]cos(A)-Z[17]sin(A→F:G+Z[16]sin(A)+Z[17]cos(A→G:Z<0?360+Z→Z【SUBC】⼦程序CIfZ[14]=0:Then0→Z[16]:0→Z[17]:ElseZ[14]-Z[14]^(5)÷40÷(RZ[15])2+Z[14]^(9)÷3456÷(RZ[15])^(4)→Z[16]:Z[14]^(3)÷6÷(RZ[15])-Z[14]^(7)÷336÷(RZ[15])^(3)+Z[14]^(11)÷42240÷(RZ[15])^(5)→Z[17]:IfEnd 【】IfP<1000:Then522.056→K:5683.105→X:1447.559→Y:183°17°55.68°→M:-19°37°25.5°→O:2500→R:0→B:0→C:Return:IfEnd?IfP<2000:Then1182.2→K:5317.799→X:868.262→Y:337°0°1.8°→M:10^(-50)→O:1→R:0→B:0→C:Return:IfEnd?IfP<3000:Then……0→B:0→C:Return:IfEnd?1182.2→K”。
坐标高程fx-5800P程序
fx-5800P计算器坐标正反算程序1、坐标正算主程序(命名为ZBZS)第1行:Lbl 0:”K=”?K:”LEN=”?T第2行:Prog “A“更改红色字体部份可调用其它线路数据库,本程序调用左线数据第3行:“X=“ :N+Tcos(F+90)◢显示X坐标第4行:“Y=“ :E+Tsin(F+90)◢显示Y坐标第5行:“F=“:F◢显示中线切线方位角,可省掉第6行:Prog “GCSJK“第7行:“SJZZGC=”:N◢第8行:Goto 0K——计算点里程LEN——计算点到中桩的距离(左负右正)2、坐标反算桩号和偏距主程序(命名为ZBFS)第1行:Lbl 1:“X1=“?C:“Y1=“?D:“K1=“?K第2行:Lbl 2:Prog “A“更改红色字体部份可调用其它线路数据库,本程序调用左线数据第3行:Pol(C-N,D-E):Icos(F-J) →S:K+S→K第4行:Abs(S)>0. 001=>Goto 2 判断精度(可删除)第5行:Isin(J-F) -4.725→T 反算偏距第6行:“K1=“:K◢反算桩号第7行:“T=“:T◢可与第5行合并第8行:K→K:T→T第9行:Lbl 3: ?R: ?H第10行:Prog “GCSJK“调用高程数据库第11行:(N+1.175)-H→E:Abs(E)→E: √(T2+E2)-R→M 计算超欠挖数据第12行:“CQW=“:M◢显示超欠挖数据第13行:Goto 1X1——取样点的X坐标Y1——取样点的Y坐标K1——输入时为计算起始点(在曲线内即可),输出时为反算点的桩号T——偏距(左负右正)3、计算坐标子程序(命名为XYF)为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1行:K-A→S:(Q-P)÷L→I第2行:U+∫(cos(W+X(2P+XI)×90÷π),0,S) →N 计算中桩的X坐标第2行:V+∫(sin(W+X(2P+XI)×90÷π),0,S) →E 计算中桩的Y坐标第4行:W+S(2P+SI) ×90÷π→F 计算中线切线方位角4.子程序(GCSJK)Goto1Lbl 1:IfK≤232600:Then (1028.248-(232600-k)*0.04)-(k-232365.300) ^2/20000→N: Return:IfEndLbl 1:IfK≤232834.700:Then(1028.248-(232600-k)*-0.00694)-(k-232834.700) ^2/20000→N: Return: IfEndLbl 1:IfK≤233004.160:Then 1026.619-(232834.700-k)*-0.00694→N: Return:IfEndLbl 1:IfK≤233200:Then (1024.086-(233200-k)*-0.00694)+(k-233004.160)^2/24000→N: Return:IfEndLbl 1:IfK≤233395.840:Then(1024.086-(233200-k)*0.0257)+(k-233395.840) ^2/24000→N: Return: IfEndLbl 1:IfK≤234000:Then 1029.119-(233395.840-k)*0.0257→N: Return:IfEnd4、兰新铁路第二双线LXS-1标数据库(命名为A)第 1 行:K≤232100.184=>Stop第2行:232100.184→A:2911459.764→U:490442.123→V:309°32′23.8″→W:0→P:-1/900→Q:121→L:K≤A+L=>Goto 1第3行:232221.184→A: 2911534.669→U: 490347.127→V: 305°41′18.2″→W:-1/900→P:-1/900→Q:501.862→L:K≤A+L=>Goto 1第4行:232723.045→A:2911701.772→U:489880.776→V:273°44′19.9″→W:-1/900→P:0→Q:121→L:K≤A+L=>Goto 1第5行:232844.045→A:2911704.244→U:489759.826→V:269°53′14.3″→W:0→P:1/1800→Q:200→L:K≤A+L=>Goto 1第6行:233044.045→A:2911707.554→U:489559.881→V:273°4′13.5″→W:1/1800→P:1/1800→Q:886.337→L:K≤A+L=>Goto 1第7 行:233910.383→A:2911956.383→U: 488738.755→V: 300°38′48.4″→W:1/1800→P:0→Q:200→L:K≤A+L=>Goto 1第8 行:234110.383→A:2912064.618→U:488570.606→V:303°49′47.6″→W:0→P:0→Q:569.431→L:K≤A+L=>Goto 1第9 行:Lbl 1:Prog“XYF“A——曲线段起点的里程U——曲线段起点的X坐标V——曲线段起点的Y坐标W——曲线段起点的坐标方位角P——曲线段起点的曲率(左负右正)Q——曲线段终点的曲率(左负右正)L——曲线段长度(尽量使用长度,为计算断链方便。
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。
自用5800P全线任意里程中边桩正反算及高程计算带超欠挖
FX5800P全线任意里程中边桩坐标正反算(加了数据库)本程序非本人原创,结合上传者长处,进行改编,愿收获和大家共享,不足之处多多指教。
含竖曲线及隧道超欠挖,本程序由内蒙@文哥和师父阿玖哥共同改编完成主程序 ZBJSLbl 6:"1.SZ→ XY":"2.XY→ SZ":?S:?N:“DYPQXSJK=”?→A:A=1 =>Prog“ZP1”:A=2=>Prog“ZP2”: A=3=>Prog“YP1”: A=4=>Prog“YP2”1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:N=1 =>Goto 1: Goto 2Lbl 1:?Z: ?T:Abs(S-O)→W: Prog"SUB1":"XS=":X◢"YS=":Y◢"FS=":F-90 ►DMS◢“XC” ?C:“YC” ? E:0→I:0→J:Pol(X-C,Y-E):“I=”:I◢If J∠0: Then “J=”: J+360►DMS◢IfEndIf J >0:Then “J=” :J►DMS◢IfEnd:“DYSQXSJK=”?→B:B=1=>Prog“ZG1”:B=2=>Prog“ZG1”: B=3=>Pro g“YG1”: B=3=>Prog“YG1”:Goto 6Lbl 2X:Y:X→I:Y→J:Prog"SUB2":O+W→S:Cls:"S=":S◢"Z=":Z◢“DYSQXSJK=”?→B:B=1=>Prog“ZG1”:B=2=>Prog“ZG1”: B=3=>Prog“YG1”: B=3=>Prog“YG1”:Goto 6如不想用偏角法放样可直接删除“XC” ?C:“YC” ? E:0→I:0→J:Pol(X-C,Y-E):“I=”:I◢直接里程推坐标。
FX5800计算器公路全线坐标正、反算计算程序
5800计算器公路全线坐标正、反算计算程序FX5800全线贯通万能正、反算程序(一体化、超好用、短小、易懂)FX5800计算器的积分程序(正反算、全线贯通、新线路)终极版ZHUCHENGXU主程序"1.ZS,2.FS" ?→Q←┘输入1正算,输入2反算“NEW=0,OLD≠0”?Z←┘IfZ=0:Then“X0=”?A:“Y0=”?B:“C0=”?C:“1/R0=”?D:“1/RI=”?E:“SP=”?F:“EP=”?G:Ifend:Q=2=>Goto 2←┘Lbl1 :“KM=,<0 Stop”?H:H<0=>Stop:“PJ=”?O:“PY=”?L←┘LblZ:Z=1=> Prog“01”:Z=2=> Prog“02”←┘选择数据库文件,可增加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=>Goto4:Cls:Fix 3←┘"Xn=":Locate4,1,U:"Yn=": Locate5,2,V:“FWJ=”:PDMS◢Norm 2:Cls:Goto1←┘Lbl2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S←┘“KMDG=”?H :90→O:0→L:GotoZ←┘(H线路范围内的任意桩号)Lbl4:Pol(R-U,S-V):J<0 => J+360→J←┘Whileabs(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:Goto3: Whileend:H+Icos(J-P)→H:GotoZ←┘Lbl3:Cls:Fix 3←┘“KM=”: Locate4,1,H:“PY=”: Locate4,2,L◢Norm 2:Cls:Goto2←┘01(数据库子程序)If H<=第一曲线终点桩号:then第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifend ……………程序说明:1、该程序可以计算任意线形(直线、圆曲线、缓和曲线、不完整曲线)任意桩号的坐标(正算,输入1),也可根据坐标计算该点到线路的距离及垂足桩号(反算,输入2);2、(NEW=0,OLD≠0)?如果要计算的点为数据库线路中的点,则输入数据库编号(以整数1、2、3…代替输入);如果在数据库中没有要计算线路的数据,则输入曲线要素X0:曲线起点X坐标;Y0:曲线起点Y坐标;C0:曲线起点方位角;R0-1、 RI-1:曲线起点、终点曲率,直线为0,曲线左偏输入负值,右偏输入正值;SP、 EP:曲线起点桩号,终点桩号;KM:待求点桩号;PJ:正斜交的设定;PY:偏中距离,线路上的点输入0,右偏输入+值,左偏输入-值;3、正算显示坐标及切线方位角;反算输入线路的任意桩号(此桩号越接近真实值计算速度越快)、待求点坐标,显示待求点桩号及偏中距离;4、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。
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:每增加一行则为增加一个线元要素。
CASIO fx-5800P计算器路线坐标高程计算程序
CASIO fx—5800P计算器路线坐标计算程序(单个交点)主程序名CALXY (计算中桩、边桩坐标)Lbl 1:“ZZ”? →Z[27] :“D(-+m)”? →D:If D≠0 :Then “∠(DMS)”? →V:Ifend』If Z[27]≤Z[17]:Then Z[18]+ (Z[27] —Z[17]) Cos( F)+D Cos( F+V):“X=”:Ans▲Z[19]+ (Z[27] —Z[17]) Sin( F )+D Sin( F+V):“Y=”:Ans▲:Ifend』If Z[27]>Z[17] And Z[27]≤Z[20]:Then Z[27] —Z[17] →L:Prog “HHXY”:Z[18] +I Cos( F+ JH)+D Cos( F+WH+V):“X=”:Ans▲:Z[19] +I Sin(F+ JH)+D Sin( F+WH+V):“Y=”:Ans▲:Ifend』If Z[27]>Z[20] And Z[27]≤Z[24] —Z[6]:Then Z[27] —Z[20] →L:Prog “YUXY”:Z[21] +I Cos( Z[23]+ JH)+D Cos( Z[23]+WH+V):“X=”:Ans▲:Z[22] +I Sin(Z[23]+ JH)+D Sin( Z[23]+WH+V):“Y=”:Ans▲:Ifend』If Z[27]>Z[24] —Z[6] And Z[27]≤Z[24]:Then Z[24] —Z[27] →L:Prog “HHXY”:Z[25] +I Cos( C—JH)—D Cos( C—WH+V):“X=”:Ans▲:Z[26] +I Sin(C—JH)—D Sin( C—WH+V):“Y=”:Ans▲:Ifend』If Z[27] >Z[24]:Then Z[25] —(Z[27] —Z[24]) Cos( C )—D Cos( C+V):“X=”:Ans▲Z[26] —(Z[27] —Z[24]) Sin( C —D Sin( C+V):“Y=”:Ans▲:Ifend』Goto 1子程序名JD (输入曲线参数,计算曲线要素)30→Dim Z:Fix 5:“JD”? →Z[1] :“XJD”? →Z[2] :“YJD”? →Z[3]:“F0(DMS)”? →F:“A(-+ DMS)”?→Z[4]:“R”? →R:“LH1”? →Z[5]:“LH2”? →Z[6]:√ ̄(Z[4]2)→A:Int(Z[4] ÷A)→H』Z[5] →S:Prog “PQ”:Q →Z[7]:P→Z[8]:B →Z[9]:R →S:Prog “PQ”:Q →Z[10]:P→Z[11] :B →Z[12] 』(R+ Z[8])Tan(A÷2)+ Z[7] —(Z[8] —Z[11]) ÷Sin(A)→Z[13] :“T1=”:Ans ▲(R+ Z[11])Tan(A÷2)+ Z[10] —(Z[8] —Z[11])÷Sin(A)→Z[14] :“T2=”:Ans▲』√ ̄((Z[13] —Z[7])2+( R+ Z[8])2) —R →Z[15]:“E=”:Ans▲R( A —Z[9] —Z[12] )÷57.2958+ Z[5] + Z[6] →Z[16]:“L=”:Ans▲』Z[1] —Z[13]→Z[17]:Z[2] —Z[13]Cos( F) →Z[18]:Z[3] —Z[13] Sin( F) →Z[19]:If Z[5]>0 :then Z[17] +Z[5]→Z[20]:Z[5] →L:Prog “HHXY”:Z[18] +I Cos( (F+ JH))→Z[21]:Z[19] +I Sin( (F+ JH))→Z[22]:(F+ WH)→Z[23] :Else Z[17]→Z[20]:Z[18]→Z[21]:Z[19]→Z[22]:F→Z[23]:Ifend』Z[17] + Z[16]→Z[24]:Z[2] +Z[14] Cos( (F+ Z[4]))→Z[25]:Z[3] +Z[14] Sin( (F+ Z[4]))→Z[26]:F+ Z[4] —180→C』Prog “CALXY”』子程序名PQS÷2—S3÷(240 R2)→Q:S2÷(24 R)—S4÷(2384 R3)→P:28.6479S ÷R→B』子程序名HHXYL—L5÷(40S2 R2)+L9÷(3456 R4S4) →X:L3÷(6S R)—L7÷(336S3 R3)+L11÷(42240 R5S5)→Y:28.6479L2÷(S R) →W:Pol(X,Y)』子程序名YUXY57.2958L÷R →W:RSin(W)→X:R(1—Cos(W))→Y:Pol(X,Y)』CASIO fx—5800P计算器路线坐标计算程序(单个交点)使用说明首先运行子程序“JD”,输入曲线参数,计算曲线要素。
5800直线道路全线任意点坐标正反算(已优化)
CASIO fx-5800P ZXZFS直线坐标正反算程序V1.5说明:该程序适用于计算器 CASIO fx-5800P直线坐标正算、反算,可连续计算中桩及边桩坐标其斜交等,还可以反算线路外一点距线路中心的里程和垂距。
增加高程计算时错误主程序名:ZXZFS第1步 Deg:Fix 3“1.JL”:“2.2HJ”?→VV=1=>PROG “JL”:V=2=>PROG “2HJ”。
第2步 Lbl C:"1.DK=>XY":"2.XY=>DK":?W:Lbl 1:"K0+"?E第3步 If W=1:Then Goto A:Else If W=2:Then Goto B:Else Goto C:IfEnd第4步 Lbl A:"E"?G90=H (90为与中线夹角)第5步 B+(E-A)×cos(F)+G×cos(F+H)→X第6步 C+(E-A)×sin(F)+G×sin(F+H)→Y第7步 Cls:"X=":Locate 3,1,X:"Y=":Locate 3,2,Y◢第8步"ZJD(X)"?S:"ZJD(Y)"?T第9步 Pol(X-S,Y-T):I→M第10步 If J<0:Then J+360→N:Else J→N:IfEnd第11步 Cls:"JL=":Locate 4,1,M:"FY=":Locate 4,2,N°◢第12步 Goto C第13步 Lb1 B:"X="?K:"Y="?L第14步 Pol(K-B,L-C):I→D:If J<0:Then J+360→P:Else J→P:IfEnd第15步 If F<P:Then P-F→O:Else F-P→O:IfEnd第16步 Sin(O)×D→Q第17步 A+Q÷tan(O)→R第18步 sin(O)×D→Q:If F<P:Then 1×Q→Q:Else -1×Q→Q:IfEnd第19步 Cls:"DK=":Locate 4,1,R:"PJ=":Locate 4,2,Q◢第20步 Goto C数据库名:ZXZFSSJ第1步 Goto 1第2步 Lb1 1:If E<259105:Then 256100→A:2575647.999→B:495400.3447→C:221°47ˊ20.24″→F:Return:IfEnd第n步……………………………………………………数据库说明:第1步 Goto 1第2步 Lb1 1:If E<7586.706:Then 7152.5561→A:3378672.9776→B:453219.8377→C:98°56ˊ55.65″→F:Return:IfEnd第2步 Lb1 1:If E<止点桩号:Then 起点桩号→A:起点坐标X→B:起点坐标Y→C:起点方位角F→F:Return:IfEnd第n步 Lbl 1:每增加一行则为增加一个竖曲线要素。
[正反算]卡西欧 CASIO fx-5800P连算程序
CASIO fx-5800P坐标正反算程序[已核对]一、程序内容1、主程序名:ABCYTDeg:Fix 3Lbl 4:"1.DK=>XY":"2.XY=>DK":"J"?N:"DK"?S:Prog"CYT1"↙1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:N=1=>Goto1:Goto2:↙Lbl 1:"W"?Z:Abs(S-o)→W:Prog"CYT2":"X=":X◢"Y=":Y◢F-90→F:"FWJ=":F▲DMS◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog"CYT3":o+W→S:"DK=":S◢"W=":Z◢Goto4↙2、正算子程序名:CYT20.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↙3、反算子程序名:CYT3G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→Z:Lbl 0:Prog "CYT2":T+QEW(C+WD)→L:(J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<10^(-6):Then 0→Z:Prog "CYT2":(J-Y)÷sin(F)→Z↙Else W+Z→W :Goto 0:IfEnd↙4、数据库名:CYT1Goto1↙Lbl 1:IF S<7946.707:Then 98°56′56″→G:7586.707→o:3378605.445→U:453648.704→V:10^(45)→P:4500→R: 360→H: 1→Q:Return:IfEnd↙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↙Lbl 1:IF S<12126.03:Then 149°52′11″→G:11766.03→o:3376389.890→U:457018.324→V: 4500→P: 10^(45)→R: 360→H: 1→Q:Return:IfEnd↙Lbl 1:IF S<13346.96:Then 152°09′41.68″→G:12126.03→o:3376073.846→U:457190.654→V:10^(45)→P: 10^(45)→R:1220.93→H:0→Q:Return:IfEnd↙CYT1数据库说明:Goto1↙表示同时保存多个曲线要素Lbl 1:IF S<***线元终点里程:Then***线元起点方位角→G:***线元起点里程→O:***线元起点X→U:***线元起点Y→V:***线元起点曲率半径→P:***线元终点曲率半径→R: ***线元起点至终点长度→H:0→Q:Return:IfEnd↙(H=0或1、-1,详情附后)。
fx-5800p 部分程序
CASIO fx—5800计算器工程测量与公路测量程序1、坐标正算"X0=″?X:"Y0=″?Y:"I=″?I:"J=″?JX+ICos(J)→U:Y+ISin(J)→V"X=″:U (待求点的X坐标)"Y=″:V (待求点的Y坐标)说明:X0 Y0:已知点坐标I:两点的距离J:方位角2、坐标反算Lbl 0"X1=″?X:"Y1=″?Y:"X2=″?U:"Y2=″?VPol(U-X,V-Y):J<0 J+360→J"I=″:I"J=″:J DMSGOTO 0说明:X1Y1:第一点的坐标,X2Y2第二点的坐标,I:两点的距离,J:方位角3、圆曲线"X0=″?X: "Y0=″?Y:"FWJ=″?D:"QDHAO=″?G: "ZDHAO=″?C: "R=″?R Lbl 1"DQHAO=″?LL<G Or L>C GOTO 2"PY=″?K180(L-G)÷(πR) →E2RSin(0.5E) →FReC(Abs(F),D+0.5E):Cls"X=″:X+I+KCos(D+E+90) →A"Y=″:Y+J+KSin(D+E+90) →BD+E→o:o<0 360+o→0o"FWJ=″:o DMSGoto 1Lbl 2"END″说明:X0Y0:起始点的坐标,FWJ:起始点的方位角,QDHAO:起点里程,ZDHAO终点里程,R:半径,DQHAO:待求点里程,PY:偏移量4、竖曲线"QZHAO =″?J: "H+B″=?B:"I1=″?C:"I2=″?D:"R=″?R:"T=″?T:((D-C)÷100) ÷Abs((D-C) ÷100)→A:Abs(0.5R(D-C) ÷100)→S"T″:SJ-T→XJ+T→YLbl 0"DQ=″?LIf L<X:Then Goto 1:Else If L>Y:Then Goto 1:If End:If End"GC=″:B+C(L-J) ÷100+A(L-J+T) ÷(2R) →HGoto 0Lbl 1"END″说明:QZHAO:曲中点里程,H+B:曲中点高程,I1:第一坡度,I2:第二坡度,R:半径,T:切线长,DQ:待求点里程。
卡西欧fx-5800P程序
卡西欧fx-5800P程序1坐标反算(ST)Lb1 1:"X1="?A:"Y1="?BLb2 2:"X2="?C:"Y2="?D"S(1-2)=":POL(C-A,D-B)→S▲IF J﹥0:Then J→T:Else J+360→T:If End"T=":T→DMS▲"K="?KIf K=1:Then Goto1:If EndIf K=2:Then Goto2:If EndIf K=3:Then C→A:D→B:Goto 2:If End 0说明:1、首先输入架站点坐标X0、Y0(O点)。
2、再输入后视点坐标XP、YP(P点)。
3、计算出O―P的边长S和方位角J。
4、当K=1时,重新输入O、P点的坐标。
5、当K=2时,以原O点坐标不变,重新输入新P点坐,计算出边长S和方位角J。
6、当K=3时,以原P点坐标为架站点坐标O(X0、Y0),重新输入新的P点坐标,计算出边长S和方位角J。
2 坐标正算(XY)LbI 0:"X0="?A:"Y0="?B:"P(1→Z,2→F)="?PIf P=1:Then Goto2:Else Goto5:If EndLbI 2:"XA="?C:"YA="?D"S(0-A)=":POL(C-A,D-B)→S▲IF J﹥0:Then J→F:Else J+360→F:If End"T(0-A )=":F→DMS▲Goto6Lb1 5:"T(0-A )="?FLb16:"S(0-P )="?S:"E(∠AOP=)"?EE+F→T:"XP=":A+Rec(S,T) →X▲"YP=":B+J→Y▲If T≥360:Then T-360→T:If End"T(0-P)=":T→DMS▲"K="?KIf K=1:Then Goto0:If EndIf K=2:Then Goto6:If EndIf K=3:Then X→A:Y→B:T+180→F:Goto6:If End说明:1、首先输入架站点O(X0、Y0)坐标2、输入判断值P: 当P=1时输入后视点的坐标,计算出到后视点距离"S(0-A)="S和方位角T(0-A )=F; 当P=2时直接输入后视点的方位角T(0-A )=F。
MXK(CASIO5800P) 五种竖曲线高程计算
竖曲线高程计算1. fx5800p全线高程计算SQXGCJSDeg:Fix 3Lbl 1:?K:“BJ”?B:“JGC”?GPorg “SQXSJK”If K≤A:Then C+(D-K)×E-G→H:Goto 2:Else K≤D =>“H”C+(K-A)÷2÷R+(D-K)×E-G→H:Goto 2:If K≤I:Then C-(I-K)2÷2÷R+(K-D)×F-G→H:Goto 2Lbl 2:B?“SJGC=”:H◢Goto 1“BZGC=”:H-B×横破比◢ReturnSQXSJKLbl 0If K≤曲线终点:Then曲线起点→A:交点高程→C:交点桩号→D:前坡比→E:后坡比→F:曲线终点→I:半径→R(EF下坡正上坡负)K=桩号,BJ=边距,JGC=结构层厚度2.公路路线高程通用程序(CASIO5800)公路路线高程通用程序(CASIO5800)作者:李艳阳Fx-5800路线高程程序GCQX-000 主程序Lbl 1: Prog“GCQX-SUB000” ↙If R>10^8: Then B+(S-A)(D-B) ÷(C-A)→H: Goto2: IfEnd↙Pol(D-B,C-A):J-Sin-1(I÷2÷R)→F:B+R Cos(F+90)→X:A+R Sin(F+90)→Y: Sin-1((S-Y) ÷R)→M:X+R Cos(M)→H: Goto2↙Lbl 2: “H=”:H: Goto1GCQX-000 数据库If S<***: Then ***→A(线元起点里程): ***→B(线元起点高程): ***→R(线元半径左-右+): ***→C(线元终点里程): ***→D(线元终点高程): Goto 0:IfEnd↙If S<***: Then ***→A: ***→B: ***→R: ***→C: ***→D: Goto 0:IfEnd↙………………………..Lbl 0↙3.CASIO4850)中边桩高程连续计算及放样**可计算两种形式的超高[SJG]————主程序Defm 6:Lbi 0:S“BM+HS”(视线高):E“LGP”(路拱坡度):V“JGC”(结构层厚度): {B}:B“K”(查询桩号):Prog“SQ”:T=RAbs(P-N) ÷2:X=1:N>P=>X=-1⊿←┘B<Y-T=>Z[1]=0:Z[2]=N: ≠>B<Y=>Z[1]=1:Z[2]=N: ≠>B<Y+T=>Z[1]=1:Z[2]=P: ≠>Z[1]=0:Z[2]=P⊿⊿⊿←┘{W}:W“ZBJ”(中桩到边桩的距离):Prog“YD”:Goto 0[YD]—————引导程序B≤不设超高的路段终点桩号=> Prog“G1”: ≠>B≤设置超高的路段终点桩号=> Prog“XZ”:……以此类推⊿(有几个≠>就有几个⊿)[SQ]—————竖曲线数据库B≤下一竖曲线起点桩号=>H(本曲线变坡点高程):Y(变坡点桩号):R(竖曲线半径):N(前纵坡坡度):P(后纵坡坡度):≠> B≤下一竖曲线起点桩号=>H(本曲线变坡点高程):Y(变坡点桩号):R(竖曲线半径):N(前纵坡坡度):P(后纵坡坡度):……⊿(有几个≠>就有几个⊿)[XZ]—————平曲线数据库B≤=>A(直缓点桩号):D(超高坡度):L(半幅路面宽):G(圆缓点桩号):O(缓直点桩号):Z(加宽值):F=±1(旋转方式:+1中轴旋转、-1边轴旋转):Z[5]= ±1(路线弯向:+1右转、-1左转): ≠> B≤=>A(直缓点桩号):D(超高坡度):L(半幅路面宽):G(圆缓点桩号):O(缓直点桩号):Z(加宽值):F=±1(旋转方式:+1中轴旋转、-1边轴旋转):Z[5]= ±1(路线弯向:+1右转、-1左转):……C=O-G: Goto 1⊿(有几个≠>就有几个⊿)←┘Lbi 1:F=1 => Prog“ZZXZ”: ≠>F=-1 => Prog“BZXZ” ⊿[ZZXZ]————中轴旋转横坡计算Lbi 0:M=Abs(B-A)Z÷C: Abs(B-A) >Abs(G-A) =>A=O: ≠>A=A⊿I=Abs(B-A)(E+D) ÷C-E:I≤E=>Goto 1: ≠>I≤D=>Goto 2: ≠>Goto 3⊿⊿⊿⊿Lbi 1:J=I:K=E: Prog“G2”: Goto 4←┘Lbi 2:J= AbsI:K= AbsI: Prog“G2”: Goto 4←┘Lbi 3:J=D:K=D: Prog“G2”: Goto 4←┘Lbi 4[BZXZ]———边轴旋转横坡计算Lbi 0:Q=2E÷(E+D)×C:M=Abs(B-A)Z÷C: Abs(B-A) >Abs(G-A) =>A=O: ≠>A=A⊿Abs(B-A) <Q=>Goto 1: ≠>Abs(B-A) <C=>Goto 2: ≠>Goto 3⊿⊿⊿⊿←┘Lbi 1: J=(Abs(B-A) ×2E÷Q-E:K=E: Prog“G2”: Goto 4←┘Lbi 2: J=(Abs(B-A)-Q)(D-E) ÷(C-Q)+E:J=AbsJ:K=AbsJ: Prog“G2”: Goto 4←┘Lbi 3: J=D:K=D: Prog“G2”: Goto 4←┘Lbi 4[G1]————不设超高的高程计算W=AbsW:Z[3]=H-V-Z[2](Y-B)+Z[1]X(T-Abs(Y-B))2÷(2R)-WE:Z[6]=S-Z[3]: “SJG=”:Pause 0: “SJQS=”:Z[6] ◢[G2]————设置超高的高程计算J=D=>M=Z: ≠>M=M⊿←┘Z[5]=1=> Goto 1: ≠>Z[5]=-1 => Goto 2⊿←┘Lbi 1:W<0=>Z[4]=J: ≠>W>0=>Z[4]=-K: Goto 3⊿⊿←┘Lbi 2: W<0=>Z[4]=-K: ≠>W>0=>Z[4]=J: Goto 3⊿⊿←┘Lbi 3:Z[3]=H-V-Z[2](Y-B)+Z[1]X(T-Abs(Y-B))2÷(2R)-WZ[4]:Z[6]=S-Z[3]: “SJG=”:Z[3]:pause0: “SJQS=”:Z[6] ◢说明:一、输入部分选择主程序。
卡西欧计算器5800P坐标正反算
卡西欧计算器5800P坐标正反算Lbl 3:"1→ZS,2→FS"?QQ=1=>Goto 1:Q=2=>Goto 2I→0: J→0:Lbl 1:"CE:X"?m:"CE:Y"?F:"JL"?L:"FWJ"?ARec(L,A):m+I→C:F+J→DCls"X=":Locate 3,1,C:"Y=":Locate 3,2,D◢Goto 3Lbl 2:"CE:X"?G:"CE:Y"?H:"(HOU)FY:X"?N:"(HOU)FY:Y"?E Pol(N-G,E-H)If J<0:Then J+360→Y:Else J→Y:IfEndCls"FY JL=":Locate 10,1,I:"FY FWJ=":Y◆DMS◢Goto 3进入程序运行如下:1→ZS,2→FS?输入1为正算,2为反算.以输入1为例:CE:X? 测站点X(5796.717)CE:Y? 测站点Y(5212.569)JL? 仪器测得的距离(321.889)FWJ? 仪器测得的方位角(193-41-07)得到:X=5483.966Y=5136.414再按EXE,输2为例:CE:X? 测站点X(5796.717)CE:Y? 测站点Y(5212.569)坐标反算ZBFSL1 AB:Fixm:{CD}L2 pol(C-A,D-B)◢L3 W<0 W=W+360L4 lntW +0.01lnt(60 Frac W )+0.006 Frac(60 FracW) ◢ 说明:1、本程序用于计算直角坐标值已知的两点间的边长和坐标方位角。
2、起算点和目标点的坐标分别为(A,B)、(C,D)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能及原理1.功能说明:本程序由一个主程序(TYQXJS)和五个子程——正算子程序(SUB-ZS)、反算子程序(SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO fx-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。
二、源程序1.主程序(TYQXJS)(A)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:IfEndLbl 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)(A3)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:IfEnd3. 反算子程序(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)(A4)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(两条线路,可扩充为多条线路)(A1)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(两条线路,可扩充为多条线路)(A2)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:Then 49800→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。