卡西欧5800公路坐标正反算程序教程文件
卡西欧5800基本测量程序(完整版)
卡西欧5800基本测量程序(完整版)卡西欧5800 程序(完整版)说明:本程序适用于公路、桥梁、隧道测量。
本程序简单、方便、快捷、拓展功能宽,使用时只需按曲线要素表输入一次就可以计算整条线路(包括高程、超高段横坡),能正、反算,在已知坐标下可以反算出该点桩号及相对宽度,拓展功能有,放边、仰坡、隧道断面测量、开挖轮廓线等。
主程序:MAIN"ZH(θ) F(1)"?M↓ (0为正算、1为反算)If M=θ:Then "ZHUANG HAO"?A:"KUAN DU"?W:Else"X="?H:"Y="?W:"Z="?Q:IfEnd↓(第一个交点参数)(交点桩号)…→P:(切线长度)…→T:(曲线总长)…→S:(圆半径)…→R=:(缓和曲线长)…→L:(第一方位角)…→U:(第二方位角)…→V:(交点X坐标)…→N:(交点Y坐标)…→E:(第一直线长、无为0)…→D:(第一坡度)…→Z〔8〕:(第二坡度)…→ Z〔9〕: (缓和曲线超高段长度)…→Z〔10〕:(曲线偏向,右偏为+1,左偏为-1)…→K ↓If M=θ:Then If A<P-T:Then goto 1 :IfEnd:IfEnd↓Prog"ZFXZ"↓If K=θ:Then goto 2 :IfEnd↓………… (中间交点参数)Prog"ZFXZ"↓If K=θ:Then goto 2 :IfEnd↓………… (最后一个交点参数)If M=θ:Then If A>P-T+S+D:Then Goto 1 :IfEnd:IfEnd↓Prog"ZFXZ"↓If K=θ:Then goto 2 :IfEnd↓Lb1 1:"NO TASK"↓Lb1 2:If M=1:Then If A=1:Then "ZHUANG HAO":Z◢"SJ KUAN DU":B◢IfEnd:IfEnd↓"-------END-------"KUAN DU (拓展功能程序,用于反算)1→M:Prog"MAIN"↓Z→A:W→E:θ→W↓Prog"GAO CHENG"↓E→W↓Q-F→P↓If P≤……(从小至大):Then ……→D:Goto 1:IfEnd↓……(同上)Lb1 1↓"……":D◢(同上) ◢"----------END---------"YUANK(B÷(2R))→F↓2R Sin(K F r)→C ↓J+F r→J ↓Prog"XZBH"HHQXB-B^5÷(9θ(RL)2)→C ↓KB2÷(6RL)→F ↓J+ F r→J↓Prog"XZBH"PYJSIf O=θ:Then"YUAN":J+F r→J:IfEnd↓If O=1:Then"HHQX":J+2F r→J:IfEnd↓If O=2:Then"LINE":J+18θ→J:IfEnd↓W→C↓If A>P-T+S-L:Then J-9θ→J:Else J+9θ→J:IfEnd↓Prog"XZBH"↓"X=":X◢"Y=":Y◢QXCS(有改)Prog"QDZB"↓If A≤P-T+L:Then A-P+T→B:U→J:1→O: Prog"HHQX": Goto 1 :IfEnd↓If A≤P-T+S-L:Then A-P+T-L→B:θ→0:L-L^3÷(90R2)→C:KL÷(6R)→F:U+F r→J: Prog"XZBH":U+3F r→J: Prog"YUAN": Goto1:IfEnd↓If A≤P-T+S:Then P-T+S-A→B:1→O:-K→K:V+180→J: Prog"HHQX": Goto 1 :IfEnd↓If A≤P-T+S+D:Then 2→O:A-P+T-S→C: Prog"XZBH":IfEnd↓Lb1 1:↓Prog"PYJS"↓Prog"GA0 CHENG"QDZBN→X:E→Y:T→C↓If A>P-T+S-L:Then V→J: Else U+18θ→J:IfEnd↓Prog"XZBH"↓X→Z〔5〕:Y→Z〔6〕JDTZIf Z〔1〕< θ:Then Z〔1〕+ 36θ→Z[1]:IfEnd↓If Z〔1〕≥ 36θ:Then Z〔1〕- 36θ→Z[1]:IfEnd↓If Z〔2〕< θ:Then Z〔2〕+ 36θ→Z[2]:IfEnd↓If Z〔2〕≥ 36θ:Then Z〔2〕- 36θ→Z[2]:IfEnd↓FWJθ→I:θ→J↓Pol(H-G,W-Z) ↓J<θ⇒J+36θ→J↓J→FDOTLINEPol(H-X,W-Y):I→N↓Pol(G-H,Z-W):I→E ↓Pol(X-G,Y-Z):I→D↓(N+E+D)÷2→I↓√(I(I-N)(I-E)(I-D))→I ↓2I÷D→I ↓ZSPDIf A≤P-T+S+D:Then Prog"QXCS":θ→K:IfEnd ↓FSPDIf K=-1:Then If Z〔1〕< Z〔2〕:Then If F≤Z〔1〕:Then Goto 1 :IfEnd:If F≥Z〔2〕:Then Goto 1 :IfEnd:Else If F≤Z〔1〕:Then F≥Z〔2〕:Then Goto 1 :IfEnd:IfEnd:IfEnd:IfEnd↓If K=1:Then If Z〔1〕> Z〔2〕:Then If F≥Z〔1〕:Then Goto 1 :IfEnd :If F≤Z〔2〕:Then Goto 1 :IfEnd:Else If F≥Z〔1〕:Then If F≤Z[2]:Then Goto 1 :IfEnd:IfEnd:IfEnd:IfEnd↓θ→A: Goto 2↓Lb1 1↓If O=θ:Then Prog"FSYUAN":IfEnd↓If O=1:Then Prog"FSHHQX":IfEnd↓1→A↓Lb1 2FSTJU-90K→Z[1]↓V-90K→Z[2]↓Prog"JDTZ"↓P-T→A↓-1→O↓Prog"JDZB"↓Prog"FSPD"↓If A=θ:Then Goto 1 :IfEnd↓(有改)Z[1]→Z[1]: Z[1]+K(L÷(2R))r→Z[2]:1→O↓Prog"JDTZ"↓Prog"JDZB"↓Prog"FSPD"↓If A=1:Then θ→K: Goto 2 :IfEnd↓Z[5]→X:Z[6]→Y:(KL)÷(6R)→F:L-L^3÷(90R2)→C:U+F r→J↓Prog"XZBH"↓U+3F r+90K→J:R→C↓Prog"XZBH"↓X→G:Y→Z↓Prog"FWJ"↓Z[2]→Z[1]:Z[1]+K((S-2L)÷R)r→Z[2]:θ→0↓Prog"JDTZ"↓Prog"FSPD"↓If A=1:Then θ→K:Goto 2:IfEnd↓-K→K:V+9θK→Z[1]:Z[1]+K(L÷(2R))r→Z[2]:1→O↓Prog"JDTZ"↓P-T+S→A↓Prog"JDZB"↓Prog"FSPD"↓If A=1:Then θ→K:Goto 2:IfEnd↓Lb1 1↓If D>θ:Then P-T+S→A:Prog"FSLINE":If A=1:Then θ→K:IfEnd:IfEnd↓Lb1 2FSYUAN"YUAN"↓36θ+K(F-Z[1])→F ↓F≥36θ⇒F-36θ→F⊿↓P-T+L+πRF÷18θ→Z:If K=1:Then R-I→B: Else I-R→B:IfEnd↓FSHHQX"HHQX"↓Z[5]→X:Z[6]→Y ↓Z[1]+18θ→J:R→C↓Prog"XZBH"↓X→G:Y→Z↓Z[5]→X:Z[6]→Y ↓Prog"DOTLINE"↓If I<1:Then θ→B:Goto 3: Else I→B: Prog"FSHHQX1":I→Z[7]:B+I÷10→B: Prog"FSHHQX1":If I>Z[7] :Then Goto 1: Else:Goto 2:IfEnd:IfEnd↓Lb1 1↓B-I÷2→B: Prog"FSHHQX1"↓If I<1:Then -I→I:Goto 3: Else Goto 1:IfEnd↓Lb1 2↓B+I÷2→B: Prog"FSHHQX1"↓If I<1:Then Goto 3: Else Goto 2:IfEnd↓(有改)Lb1 3↓If A>P-T+L:Then P-T+S-B-I→Z: Else P-T+B+I→Z:IfEnd↓If K=1:Then If A<P-T+S-L:Then D-E→B: Else E-D→B:IfEnd:IfEnd ↓If K=-1:Then If A<P-T+S-L:Then E-D→B: Else D-E→B:IfEnd:IfEndFSHHQX1Z[5]→X:Z[6]→Y:Z[1]+9θK→J↓Prog"HHQX"↓X→Z[3]:Y→Z[4]↓R→C:J+2F r+9θK→J↓Prog"XZBH"↓X→G:Y→Z↓Z[3]→X:Z[4]→Y ↓Prog"DOTLINE"Prog"QDZB"↓Z[5]→Z[3]:Z[6]→Z[4] ↓If O=-1:Then P-T+S→A: Prog"QDZB":Z[3]→Z[5]:Z[4]→Z[6]: Else Z[1]+9θK+K(L÷(6R))r→J:L-L^3÷(9θR2)→C: Prog"XZBH":IfEnd ↓(Z[6]-Y+Xtan(Z[2])-Z[5]tan(Z[1]))÷(tan(Z[2])-tan(Z[1]))→G ↓tanZ[2](G-X)+Y→Z↓Prog"FWJ"ZFXZIf M=θ:Then Prog"ZSPD": Else Prog"FSTJ":IfEndFSLINEProg"QDZB"↓X→G:Y→Z:J→N↓Prog"FWJ"↓N→J:F-J→F↓Icos(F)→G↓If G≤D:Then If A>P-T+S-L:Then P-T+S+G→Z:Isin(F)→B:Else P-T-G→Z:-Isin(F)→B:IfEnd :1→A:2→O: Else θ→A:IfEndX+Ccos(J)→X↓Y+Csin(J)→YHENG POIf A≤P-T+L-Z[10] :Then Z[8]→V:Goto 1:IfEnd↓If A≤P-T+L:Then (Z[9]-Z[8])÷Z[10]→E:Z[8]+(A-P+T-L+Z[10])E→V: Goto 1:IfEnd↓If A≤P-T+S-L:Then Z[9]→V:Goto 1:IfEnd↓If A≤P-T+S-L+Z[10]:Then (Z[8]-Z[9])÷Z[10]→E:Z[9]+(A-P+T-S+L)E→V: Goto 1:IfEnd↓Z[8]→V ↓Lb1 1GAO CHENG……(交点桩号)→O:……(交点高程)→D:……(小桩号坡度)→N:……(切线长度)→G:……(圆曲线半径)→R ↓If A≤O-G:Then θ→K: Goto 1:IfEnd↓If A≤O+G:Then 1→K: Goto 1:IfEnd↓(K=0为直线、K=1为凸圆、K=-1为凹圆)……(同上)Lb1 1:Prog"HENG PO"↓K(A-O+G)2÷(2R)→P ↓D+N(A-O)-P+WV→F↓"DM":F◢FWJJS (测回法测坐标)A"XA": B"YA":C"XB": D"YB": K"CHANG DU": G"JIAO DU"↓I=0:J=0:Pol(C-A,D-B):J<0⇒J=J+360⊿↓E=J+G↓J"FWJ"◢X"X"=A+KcosE◢Y"Y"=B+KsinE◢"-------END-------"说明:"JIAO DU"顺时钟为正、逆时针为负,"XA"、"YA"为测站点坐标、"XB"、"YB"为后视点坐标,"X"、"Y"为前视即待测点坐标,"CHANG DU"为测站点到待测点距离。
卡西欧5800多功能实用坐标正反算小程序(附后方交会程序)
Goto0:
Lbl3:Cls:”X1=”?A:”Y1=”?B:?F: ”X2=”?X:”Y2=”?Y:
(X-A)cos(F)+(Y-B)sin(F)→I:
(Y-B)cos(F)-(X-A)sin(F)→Z:
Cls:“L=”: “Z=”:Locate4,1,I:Locate 4,2,Z◢
Goto0
注:程序中的“=>”是一个双箭号, 按FUNCTION选3下翻两页选3 即可输入。方Biblioteka 角L距离Z
偏距
R
斜交偏距的转角(顺时针为正数,正交输入0)
2程序名:HFJH(距离后方交会)
LBI 1 :〝XA〞?A :〝YA〞?B :〝XB〞?C :〝YB〞?D :〝D1〞?E :〝D2〞?F :?Q : 0→J : POL(C-A , D-B)→G : J+Q Cos-1((GG+EE-FF)÷(2GE))→H :〝XP=〞: A+E Cos(H)→X▲〝YP=〞: B+E Sin(H)→Y▲Goto1
显示及操作说明:
显示
功能
1.XY→LF
2.LF→XY
3.XYF→LZ
1.输入两点坐标计算距离与方位角
2.输入起点坐标及方位角、距离、偏距、偏距的转角
3.输入起点坐标及方位角,输入实测坐标,计算实测点与起点的垂直距离和垂直偏距
显示
输入及显示说明
X1、Y1
第一点(起点)坐标
X2、Y2
CASIO5800坐标正反算计算程序
CASIO5800坐标正反算计算程序CASIO 9860/5800坐标正反算计算程序1. 坐标正算主程序(命名为ZBZS)第1行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B第2行:Prog “A”第3行:”X=”:N+Zcos(F+B)◢第4行:”Y=”:E+Zsin(F+B)◢第5行:”F=”:F◢第6行:Goto 0K——计算点的里程BIAN——计算点到中桩的距离(左负右正)α——取前右夹角为正2. 坐标反算桩号和偏距主程序(命名为ZBFS)第1行:”X1=”? C:”Y1=”?D: ”K1=”?K第2行:Lbl 0:Prog “A”第3行:Pol(C-N,D-E)第4行:List Ans[1]→I第5行:List Ans[2]→J第6行:Icos(F-J)→S:K+S→K第7行:Abs(S)>0.0001=>Goto 0第8行:”K1=”:K◢第9行:”BIAN=”:Isin(J-F)→Z◢X1——取样点的X坐标Y1——取样点的Y坐标K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号Z——偏距(左负右正)3. 计算坐标子程序(命名为XYF)为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1行:K-A→S:(Q-P)÷L→I第2行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→N第3行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→E第4行:F+S(2P+SI)×90÷π→F4. 数据库(命名为A)第1行:K≤175.191=>Stop第2行:175.191→A:428513.730→N:557954.037→E:92°26′40″→F:0→P:1/ 240→Q:70.417→L:K≤A+L =>GoTo 1(第一缓和曲线,圆半径为240)第3行:245.607→A: 428507.298→N:558024.092→E: 100°50′59.4″→F: 1/240→P:1/240→Q:72.915→L: K≤A+L =>Goto 1(第圆曲线,半径为240)第4行:318.522→A: 428482.988→N:558092.538→E: 118°15′25.2″→F: 1/240→P: 0→Q: 55.104→L: K≤A+L =>Goto 1(第二缓和曲线,圆半径为240)第5行:373.627→A:428453.283→N:558138.912→E:124°50′4.5″→F:0→P:-1/180→Q:67.222→L:K≤A+L=>Goto 1:Stop(第一缓和曲线,圆半径为180)第6行:Lbl 1:Prog “XYF”A——曲线段起点的里程N——曲线段起点的x坐标E——曲线段起点的y坐标F——曲线段起点的坐标方位角P——曲线段起点的曲率(左负右正)Q——曲线段终点的曲率(左负右正)L——曲线段长度(尽量使用长度,为计算断链方便)说明:(1)在9860中,程序中所有公式和部分函数结果均存储在ListAns列表数组中,要想多次调用最好随公式取出结果,并赋给变量。
5800计算器公路全线坐标正
5800计算器公路全线坐标正、反算计算程序5800正反算、隧道超欠挖程序.doc正算主程序(ZS)Lb1 0FIX4:?S:?Z:Prog “PM-SJ”:Abs(S-O) → W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F(需要时可以让他显示,不要时不必输入):Pro g“SQX-SJ”: Prog“SQX”:“H=”:H◢Goto 0反算主程序(FS)Lb1 0FIX4: ?S:?X:?Y:Prog“PM-SJ”:X→ I:Y→ J:Prog "SUB2":"S=":O+W→S◢"Z=":Z◢Prog“SQX-SJ”:Prog“SQX” :“H=”:H◢Goto 0隧道3心圆放样主程序(SD-3XY)Lb1 0:Prog“FS”:1.5→A:1.65→B:0.89→G:2.27→C:3.3→D:2.41→E:0.51→J:“H1”:F:ifF≤H+A:then E-AbsZ→W:IfEn d:ifF>H+A And F≤H+A+B:then√(D²-(F-H-A)²)-G-AbsZ→W:IfEn d:ifF>H+A+B:then√(C²-(F-H-A-J)²)-AbsZ→W:IfEn d:“W=”:W◢(水平方向的超欠挖:正为欠,负为超)Goto0正算子程序(SUB1)1÷P→ C:(P-R)÷(2HPR) → D:180÷π→ E:0.1739274226→ A:0.3260725774→ B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Ac os(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 反算子程序(SUB2)G-90→T:Abs((Y-V)cosT-(X-U)sin(T)) → W:0→ Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) →L:(J-Y)cosL-(I-X)sinL → Z:ifAbsZ<1E-6:thenGoto1:ElssW+Z → W:Goto 0:IfEnd←┘Lbl 1:0→ Z:Prog "SUB1":(J-Y)÷sinF→ Z子程序(平面线形数据库)PM-SJifS ≥500(线元起点里程)AndS<769.256(线元止点里程):Then19942.837→U(线元起点X坐标):28343.561→V(线元起点Y坐标):500→O(线元起点里程):125°16°31°→G(线元起点方位角):269.265→H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥769.256(线元起点里程)AndS<806.748(线元止点里程):Then19787.34→U(线元起点X坐标):28563.378→V(线元起点Y坐标):769.256→O(线元起点里程):125°16°31°→G(线元起点方位角):37.492→H(线元长度):10^(45)→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥806.748(线元起点里程)AndS<919.527(线元止点里程):Then19766.566→U(线元起点X坐标):28594.574→V(线元起点Y坐标):806.748→O(线元起点里程):120°25°54.07°→G(线元起点方位角):112.779→H(线元长度):221.75→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥919.527(线元起点里程)AndS<999.812(线元止点里程):Then19736.072→U(线元起点X坐标):28701.893→V(线元起点Y坐标):919.527→O(线元起点里程):91°17°30.63°→G(线元起点方位角):80.285→H(线元长度):221.75→P(线元起点曲率半径):9579.228→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥999.812(线元起点里程):Then19744.038→U(线元起点X坐标):28781.659→V (线元起点Y坐标):999.812→O(线元起点里程):80°40°50°→G(线元起点方位角):100→H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0→Q(线元左右偏标志:左负右正):IfEnd←┘子程序(竖曲线数据库)SQX-SJifS≤999.812(竖曲线终点里程):then0.0357(前坡度:上坡正下坡负)→E:0.0227(后坡度:上坡正下坡负)→F:600→R(竖曲线半径):780→G(变坡点里程):110→C(变坡点高程):IfEnd←┘子程序(竖曲线计算公式)SQXE-F→J:ifJ>0:then-R→R:ElssR→R:Abs(R*J÷2)→T:IfEnd←┘ifS≤G-T:thenG-S→L:C-LE→H:IfEnd←┘ifS>G-T And S≤G:thenG-S→L:(S+T-G)²÷2÷R→N:C-LE+N→H:IfEnd←┘ifS>G And S≤G+T:then S-G→L:(G +T- S)²÷2÷R→N:C+LF+N→H:IfEnd←┘ifS>G+T :thenS-G→L: C+LF→H:IfEnd←┘三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
5800公路坐标正反算程序(线元法数据输入)
坐标正反算程序程序变量说明:D:选线。
E、F:置仪点坐X、Y。
K:待算点桩号。
B:待算点距离。
Q:待算点与线路交角(以顺时针方向)。
L:线元起点至待算点长度。
O:待算点方位角。
S:线元长度。
U:线元起点半径。
V:线元终点半径。
程序运行内容说明:开机运行程序后,1、进入主程序,选择正算或反算,1为正算,2为反算。
2、选择线路,1为第线。
2为第线。
3为第线等等。
3、如果上一次计算过的话提示是不更新数线路参数,十秒钟不操作更新,按EXE不更新。
如果上一次不是计算现在要计算的线路的话直接更新数据库(数据库更新会倒计时提示)。
3、正算。
提示入入置仪点坐标。
提示输入待算点桩号。
提示输入离中桩距离。
提示输入与线路方向夹角。
结果:坐标X、Y。
距置仪点距离和方位角。
再次提示输入待算点桩号。
反算。
提示输入实测点坐标X、Y。
结果:待算点桩号程距中桩距离。
再次提示输入实测点坐标X、Y。
程序特点:1、输入参数少,只要输入线路起点的桩号、半径、方位角、XY坐标以及各线元的桩号和半径(左+右-直线×1045)即可。
2、调用变量少,本程还有A、G、H、M、N、P、R、W字母变量未使用,可以用于其它程序而不会和本程序产生冲突。
3、数据库独立,更换工程时数据更换方便。
4、界面友好,尽量做到人人都容易上手,操作一学就会。
5、程序尽量运用5800计算器各种指令,使程序速度提高。
并能够起到帮助大家学习5800各指令工作原理,以便更好掌握编程。
卡西欧5800自改正反算程序(已经使用过)QD-ZBZFS交点法正反算程序
5800计算器交点法正反算程序(QD-ZFS)正算快,反算慢,不带高程程序(反算调试中)主程序:(QD-ZFS)Lb1 A ↙30→DIM Z :"1=ZS,2=FS"?Z ↙If Z=1:Then Goto B:IfEnd↙ (Z=1进入正算子程序)If Z=2:Then Prog"QD-FS"↙ (Z=2进入反算子程序)Lb1 B ↙Prog” QD-ZS” ↙子程序计算判别:(QD-JS)LB1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1)Z[7]/2- Z[7]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙(M2)Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1)Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙(P2)π*A*R/180+0.5*( Z[6]+ Z[7])→Z[25] ↙(曲线总长)90* Z[6]/(R*π) →Z[14] ↙ (第一缓和曲线总偏角)90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)Z[8]+(R+Z[10])Tan(A/2)-(Z[10]-Z[11] )/Sin( A) →Z[12]↙ (切线T1)Z[9]+(R+Z[11])Tan(A/2)+(Z[10]-Z[11] )/Sin (A)→Z[13]↙ (切线T2)B+ Z[12]*Cos (E+180)→ Z[16] ↙ (ZH点X)C+ Z[12]*Sin(E+180)→ Z[17] ↙ (ZH点Y)Z[1]- Z[25]→Z[3] ↙ (ZH点里程)Z[3]+ Z[6]→Z[4] ↙ (HY点里程)Z[1]- Z[7]→Z[5] ↙ (YH点里程)Goto 3 ↙LB1 3 ↙(判断里程点与曲线关系)if K≤Z[3] And K> Z[2] : Then Goto 4 : Ifend ↙if K≤Z[4] And K> Z[3] : Then Goto 5 : Ifend↙if K≤Z[5] And K> Z[4] : Then Goto 6 : Ifend ↙if K≤Z[1] And K> Z[5] : Then Goto 7 : Ifend ↙Lb1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →Z[23] : 0→Z[24] : E→T : Goto 8↙Lb1 5 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*(R^2)* Z[6]^2)+H^9/(3456*(R^4)* Z[6]^4) →Z[23] ↙H^3/(6*R* Z[6])-H^7/(336*(R^3)* Z[6]^3) →Z[24] ↙90*(H^2)/( R*π* Z[6]) →T ↙if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙Goto 8 ↙Lb1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*Sin(T)+ Z[8]→Z[23] ↙R*(1-Cos(T))+ Z[10]→Z[24] ↙if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙Goto 8 ↙Lb1 7 ↙(第二缓和曲线独立坐标)Z[1] - K→H ↙H-H^5/(40*(R^2)* Z[7]^2)+H^9/(3456*(R^4)* Z[7]^4) →U↙H^3/(6*R* Z[7])-H^7/(336*(R^3)* Z[7]^3) →V ↙90*(H^2)/( R*π* Z[7]) →T ↙Z[13]Cos(A)+ Z[12]-U*Cos(A)-V*Sin(A)→Z[23] ↙Z[13]*Sin(A)-U*Sin(A)+V*Cos(A)→Z[24] ↙if O>0 :Then F-T→T : T<0=>360+T→T : Else F+T →T : Ifend ↙Goto 8 ↙Lb1 8 ↙if O<0 : Then - Z[24]→Z[24] : Ifend ↙Z[16]+Z[23]*Cos(E) -Z[24]*Sin(E)→Z[18] ↙Z[17]+Z[23]*Sin(E)+Z[24]*Cos(E)→Z[19] ↙Return↙正算子程序:(QD-ZS)Lb1 0 ↙“XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y):Pol(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":JDMS◢(后视方位角)Lb1 1↙“K=”?K :(输入所需计算里程)Prog" QD-SJK "↙XI : Z[18]↙YI : Z[19]↙Pol(Z[18]-M,Z[19]-N):"D=":I◢(放样距)J<0=>J+360→J:"F=":J DMS◢(放样方位角)“PJ=”?P↙ (输入桩与线路夹角)“PD=”?D↙ (输入桩距中线的距离)Z[18]+D*Cos(T+P) →Z[20] ↙Z[19]+D*Sin(T+P) →Z[21] ↙“X=”: Z[20] ◢ (放样坐标X)“Y=”: Z[21] ◢ (放样坐标Y)Pol(Z[20]-M,Z[21]-N):"D=":I◢(放样距)J<0=>J+360→J:"F=":JDMS◢(放样方位角)Goto 1↙反算子程序:(QD-FS)Lb1 1 ↙"XK="?X:"YK="?Y↙(输入任意测点的X、Y坐标)“K=”?K ↙(试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)Lb1 2 ↙Prog"QD-SJK":T-90→W:W<0=>360+W→W:Abs((Y-Z[19])*Cos(W)-(X-Z[18])*Sin(W))→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3 ↙K+S→K:Prog"QD-SJK":T-90→W:W<0=>360+W→W:Abs((Y-Z[ 19])*Cos (W)-(X-Z[18])*Sin (W))→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else if Q<S: ThenK+Q→K: Goto 2 :Else if Q>S :Then K-Q→K:Goto 2:Ifend:Ifend:Ifend↙Lb1 4 ↙Pol (X-Z[18],Y-Z[19]:"D=":( Z[19]-Y)/ Sin (W) →I◢(偏距,加此才能分辨左右{偏距少就+})"K=":K+S→K◢(里程)Goto 1↙数据库:(QD-SJK)if K<本段曲线终点里程And K≥上段曲线终点里程:Then 本段曲线终点里程→Z[1] : 上段曲线终点里程(第一段曲线输起点的里程)→Z[2] :1→O(注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R :曲线偏角→A:第一缓和曲线→Z[6] :第二缓和曲线→Z[7] :交点X→B :交点 Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Prog” QD-JS”:Return: Ifend↙if…………Prog” QD-JS”:Return:Ifend(曲线段分段输入)↙补充直线段输入如下 (只需输线路的最后一段直线数据)if K<本段直线终点里程 And K≥本段直线起点里程:Then 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z[3])*Cos(E)→Z[18]:Z[17]+ (K- Z[3])*Sin(E)→Z[19] : Return:Ifend↙。
卡西欧5800正反算程序
1.主程序(1-ZB ZFS)Deg:Fix 6Lbl 9:”I”:”2.YOU JIN”:”MI MA =”?C: Goto 1↙”Lbl 4:"3.ZH =>BG":”1.ZH =>XY”2.XY =>ZH ":”3.ZH =>BG 4.TF =>JS ”:"N="?N↙If N =3;Then Prog “BG JS 20M”: IfEnd↙If N =4: Then Prog “4-TFJS”; IfEnd↙If N ≥5: Then Cls:Stop; IfEnd↙Lbl 9:”ZH=”?S:Prog “1.1-ZFS”:If N=1:Then Goto3:IfEnd↙If N=2:Then Goto2:IfEnd↙Lbl3:”Z=”?Z:”J=”?J:Abs(S-O)→W:Prog”1.2-ZFS”:X+Zcos(F +J)→X:Y+Zsin(F+J) →Y↙If Z=0(带下划线的0为数字0):Then “X=”:X◢"Y=":Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z=1: Then”(Y)X=”: X◢“(Y)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z=-1: Then”(Z)X=”: X◢“(Z)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z>1: Then”(Y)X=”: X◢“(Y)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z<1: Then”(Z)X=”: X◢“(Z)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙Lbl 2:“(Q)X =”?X:“(Q)Y=” ?Y:X →I:Y →J: Prog"1.3-ZFS":O+W→S:“(SQ)ZH=”:S◢“(SQ)Z=”:Z◢Goto 4↙Lbl 1:If C=1989:Then Goto 4:0→C:Else Stop:IfEnd↙(密码符号段把原来的密码调到后面去了 )2. 正算子程序(1.2-ZFS )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→F3. 反算子程序(1.3-ZFS)G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→Z:Lbl 0:Prog "1.2-ZFS":T+QEW(C+WD)→L:(J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)< -6:Then Goto1: Else W+Z→W:Goto 0↙Lb1 1:0→Z:Prog"1.2-ZFS":(J-Y)÷sin (F)→Z↙4. 数据库子程序(1.1-ZFS)If S<***:Then Cls:Stop:IfEnd(全线路的起点里程桩号如:If S<1497534.054:Then Cls:Stop:IfEnd小于1497534.054的全部失败)If S〉*****:Then Cls:Stop:IfEnd↙(同上)If S≦***(线元终点里程):Then***→U(线元起点X):***→V(线元起点Y): ***→O(线元起点里程):***→G(线元起点方位角): ***→H(线元起点至终点长度):***→P(线元起点曲率半径,在这里声明下,如果是直线段的话输1.×10+45就是输1. +45):***→R(线元终点曲率半径同上): 0或1、-1→Q:Goto 1 :IfEnd ↙If S≦……………………………………………:Goto 1 :IfEnd ↙………………[注意:输入方法:ZH-HY(ZH点注意P输入1.×10+45就是输1.+45,HY R按照曲线要素半径),HY-YH(P和R都按照曲线要素输入半径),YH-HZ(YH P按照曲线要素半径,R输1.×10+45),HZ-ZH(P和R 都输1.×10+45) Q为转角值看曲线上是左转角-1还是右转角1HZ-ZH Q为0]最后结尾记得一定要输入Lbl 1:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:Return↙5.BG JS 20M (子程序)Deg; Fix3↙Lbl1:”ZH=”?:Prog“BG SJK”:”Z=”?Z↙If Z=0:Then A→D:”(0)BG =>Z”:D◢Goto1: IfEnd↙If Z=1:Then A→D:”(Y)BG =>Z”:D◢Goto1: IfEnd↙If Z=-1:Then A→D:”(Z)BG =>Z”:D◢Goto1: IfEnd↙If Z>1:Then A+(Z-1)(C/100)→D:”(Y)BG =>Z”:D◢Goto1: IfEnd↙If Z<-1:Then A+(-Z-1)(-B/100)→D:”(Z)BG =>Z”:D◢Goto1: IfEnd↙6.BG SJK(标高数据库)If S =K: Then H→A:i(Z)→B: i(Y)→C: IfEnd↙注:K 为桩号里程,H为中桩高程,i(Z)为左横坡,i(Y)为右横坡。
卡西欧5800计算器程序全线正反算
FX5800计算器交点法正反算程序1、主程序程序名:1XY-KMLbI 0:7→DimZ:Norm 2:1→A:"A:X,Y=1,KM,D=2"?A:A=1=>Goto 1:A=2=>Goto 2:LbI 1:LbI A:Prog"QX":90→B:"PJ"?B:B→Z[1]:LbI B:"KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A: Prog"X1":?D: Prog "Z":I+D×COS(Z[2]+Z[1]→X: J+D×Sin(Z[2]+Z[1]→Y: Fix 3:"X=":Locate 6,4,X:"Y=":Loca te 6,4,Y:◢Goto B:LbI 2:Prog"QX":"KM"?Z:LbI C: Prog"X1": "XO"?X:X=-1=>Goto 0:X=-2=>Goto 2: "Y0"?Y:Prog "ZX": Fix 3:"KM=":Locate 6,4,Z:"D=":Loca te 6,4,D◢Goto C2. 交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R÷S in(Abs(P))-((H∧(4)-N∧(4))÷2688÷R∧(3))÷Sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B -E→T:P÷Abs(P→W:0→M:H→C: (R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P)÷2)+ N÷2-N∧(3)÷240÷R2+E→Z[6]: O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Z[7]:If Z≤O-T:T hen Z-O→S:G→Z[2]:Goto 1: IfEnd: If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z [2]:A-T→A:G→E:Goto 2:IfEnd:If Z≤Z[7]: Then 180(Z-O+T-0.5H)÷R÷Π→S : A+R (1-Cos(S))→B:H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:R→M:G+WS→Z[2]: A-T→A:G→E :G oto 2: IfEnd:If Z≤Z[7]+N:Then Z[7]+N-Z→S:Z[6]→T :N→H:Prog “HX”:G+P→E:E-WK→Z[2]:T-A→A:C→H:Goto 2:IfEnd:Z-Z[7]-N+Z[6]→S:G+P→Z[2]: LbI 1:U+Scos(Z[2])→I:V+Ssin(Z[2]→J: Return:LbI 2:U+Acos(E)-WBsin(E→I:V+ASin(E)+WBcos(E→J3. 交点法缓和段子程序(HX)程序名:HXS-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4) ÷H∧(4→A:S∧(3) ÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5) ÷H∧(5→B:90S2÷Π÷R÷H→K:RH÷S →M4. 交点法反算子程序(ZX)程序名:ZX0→D:Do:Z+D→Z:Prog“Z”:Pol(X-I,Y-J+.000000001:J-Z[2]→J:Isin(J→S:Icos(J→D: If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D)>0.001:Z+D→Z:S→D 5.线路选择子程序(线路选择输0时。
卡西欧fx-5800 坐标正算程序
卡西欧fx-5800 坐标正算程序“SO”算方位Lbl 0“D”:Pol(X-A,Y-B) →D◢If J≥0:Then J◢Else “J”:J+360◢IfEnd“ZZ”正算直线坐标A+Rec(Abs(P-K),Q) →XB+J→Y“X”:X+Rec(D,Q+N×90) →X◢“Y”:Y+J→Y◢P?所求桩号 A,B:起点x,y K:起点桩号 Q:方位角D:边桩距离 N?左偏“-1”右偏:“+1”X= Y= 所求点坐标“YY”正算圆曲线坐标Q+C×(P-K)÷S×180÷∏→Z“X”:A+C×S×(Sin(Z)-Sin(Q))+Rec(D,Z+N×90) →X◢“Y”:B-C×S×(Cos(Z)-Cos(Q))+J→Y◢P:所求点桩号 A,B:起点x,y K:起点桩号Q:方位角 S:曲线半径 D?边桩距离N?左偏“-1”,右偏“+1”X= y= 所算点坐标 C:线路左转“-1”右转“+1”“H1”正算缓和曲线坐标Abs(P-K) →LT2÷L→HL2×180÷∏÷2÷T2→VQ+C×V→ZL-L∧(3)÷40÷H2+L∧(5)÷3456÷H∧(4)-L∧(7)÷H∧(6)÷599040→EL2÷6÷H- L∧(4)÷336÷H∧(3)+ L∧(6)÷42240÷H∧(5)- L∧(8)÷H∧(7)÷(6×1612800)→FIf C<0:Then-F→F:IfEndA+E×Cos(Q)-F×Sin(Q) →X“X”:X+Rec(D,Z+M×N×90) →X◢B+E×Sin(Q)+F×Cos(Q) →Y“Y”:Y+J◢P?所求点桩号 A,B:起点x,y K:起算点里程桩号Q:前切线方位角 T(是圆曲线要素的A1)=√(根号)缓曲总长×半径C=切线线路方向左转“-1”,右转“+1“M=第一缓曲“+1”,第二缓曲”-1“N:算边桩左偏“-1”,右偏“+1”D:边桩距离坐标正算数据库例子“肇兴隧道右线数据库”Lbl 0“P”?P:“N”?N:“D”?DIf P≥16836.5 And P≤17009.624:Then 66881.803→A:14635.782→B:16836.5→K:280032030.50→Q:902.044→T:1→C: 1→M:Prog“H1”:IfEnd (第一缓曲线)If P≥17009.624 And P≤17529.681:Then 66914.52→A:14465.781→B:17009.624→K:281035049.370→Q:4700→S:Prog“YY”:IfEnd (圆曲线)If P≥17539.681 And 17702.805≥P:Then 67102.343→A:13799.117→B:17702.805→K:108059031.50→Q:902.044→T:-1→C: -1→M:Prog“H1”:IfEnd (第二缓曲线)If P≥17702.805 And P≤19550:Then 67102.343→A:13799.17→B:17702.805→K:288059031.50→Q: Prog“ZZ”:IfEnd (直线)。
5800道路坐标(正反算)程序
5800道路坐标(正反算)程序(终极版)5800道路坐标(正反算)程序1. ZBJSCX (主程序)Lbl 4:"ZHENG SUAN=1 ":"FAN SUAN=2":?N:“ZH”?S:Prog“SJK0”↙1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1: Goto2:↙Lbl 1:“BD”? Z: Abs(S-O) →W:Prog "ZS": "X=":X◢"Y=":Y◢F-90→F:“FWJ=”:F▲DMS◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog“FS”:O+W→S:“ZH=”:S◢“BD=”:Z◢Goto4↙2. ZS (正算子程序)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)→Y3. FS (反算子程序)G-90→T: Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:Lbl 0:Prog "ZS":T+QEW(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<0.000001:ThenGoto1:ElseW+Z→W:IfEnd:Goto0↙Lbl1:0→Z:Prog "ZS": (J-Y)÷sin(F)→Z4,SJK0( 数据库子程序)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(直线0、左偏-1、右偏1)→Q:Return:IfEnd……………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。
卡西欧5800计算器坐标正反算程序
卡西欧5800计算器坐标正反算程序主程序坐标正反算程序名称:ZBZFSLb1 A↙30→Dim Z :"0=ZS,1=FS"?Z ↙If Z=0:Then Goto B:IfEnd↙ (Z=0进入里程点坐标正算)If Z=1:Then Prog"FSLCZ "↙ (Z=1进入反算里程边桩)Lb1 B ↙Prog”ZBZS” ↙子程序反算里程桩名称:FSLCZLb1 1↙"XK="?X:"YK="?Y↙(输入任意测点的X、Y坐标)“K=”?K ↙(试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)Lb1 2↙Prog"SJK ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos(W)-(X-Z[18])*Sin(W))→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"SJK":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin (W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else if Q<S: Then K+Q→K:Goto 2 :Else if Q>S :Then K-Q→K:Goto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"DP(-Z+Y)=":I◢(偏距)"K=":K+S→K◢(里程)Goto 1↙子程序坐标正算名称:ZBZSLb1 0 ↙“XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y):Pol(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":JDMS◢(后视方位角)Lb1 1↙“K=”?K :(输入所需计算里程)Prog"SJK "↙XI : Z[18]↙YI: Z[19] ↙Pol(Z[18]-M,Z[19]-N): J<0=>J+360→J↙“PJ=”?P↙ (输入桩与线路夹角)“PD=”?D↙ (输入桩距中线的距离)Z[18]+D*Cos(T+P) →Z[20] ↙Z[19]+D*Sin(T+P) →Z[21] ↙“X=”: Z[20] ◢ (放样坐标X)“Y=”: Z[21] ◢ (放样坐标Y)Pol(Z[20]-M,Z[21]-N):"D=":I◢(放样距)J<0=>J+360→J:"F=":JDMS◢(放样方位角)Goto 1↙子程序数据库名称:SJKif K<本段曲线终点里程And K≥上段曲线终点里程:Then 本段曲线终点里程→Z[1] : 上段曲线终点里程(第一段曲线输起点的里程)→Z[2] :1→O (注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R :曲线偏角→A:第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Pr og”JSPB”:Return: Ifend↙if…………Prog”JSPB”:Retur n:Ifend(曲线段分段输入)↙补充直线段输入如下 (只需输线路的最后一段直线数据)if K<本段直线终点里程And K≥本段直线起点里程:Then 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z [3])*Cos(E)→Z[18]:Z[17]+ (K- Z[3])*Sin(E)→Z[19] : Return:Ifend ↙子程序计算判别名称:JSPBLb1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙ (M1)Z[7]/2- Z[7]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙ (M2)Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙ (P1)Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙ (P2)π*A*R/180+0.5*( Z[6]+ Z[7])→Z[25] ↙ (曲线总长)90* Z[6]/(R*π) →Z[14] ↙ (第一缓和曲线总偏角)90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)Z[8]+(R+Z[10])Tan(A/2)-(Z[10]-Z[11] )/Sin( A)→Z[12]↙ (切线T1)Z[9]+(R+Z[11])Tan(A/2)+(Z[10]-Z[11] )/Sin (A)→Z[13]↙ (切线T2)B+ Z[12]*Cos (E+180)→ Z[16] ↙ (ZH点X)C+ Z[12]*Sin(E+180)→ Z[17] ↙ (ZH点Y)Z[1]- Z[25]→Z[3] ↙ (ZH点里程)Z[3]+ Z[6]→Z[4] ↙ (HY点里程)Z[1]- Z[7]→Z[5] ↙ (YH点里程)Goto 3 ↙LB1 3 ↙(判断里程点与曲线关系)if K≤Z[3] And K> Z[2] : Then Goto 4 : Ifend ↙if K≤Z[4] And K> Z[3] : Then Goto 5 : Ifend ↙if K≤Z[5] And K> Z[4] : Then Goto 6 : Ifend ↙if K≤Z[1] And K> Z[5] : Then Goto 7 : Ifend ↙Lb1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →Z[23] : 0→Z[24] : E→T : Goto 8↙Lb1 5 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →Z[23] ↙H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Z[24] ↙90*H^2/( R*π* Z[6]) →T ↙if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙Got o 8 ↙Lb1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*Sin(T)+ Z[8]→Z[23] ↙R*(1-Cos(T))+ Z[10]→Z[24] ↙if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙Goto 8 ↙Lb1 7 ↙(第二缓和曲线独立坐标)Z[1] -K →H ↙H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7]^4) →U↙H^3/(6*R* Z[7])-H^7/(336*R^3* Z[7]^3) →V ↙90*H^2/( R*π* Z[7]) →T ↙Z[13]Cos(A)+ Z[12]-U*Cos(A)-V*Sin(A)→Z[23] ↙Z[13]*Sin(A)-U*Sin(A)+V*Cos(A)→Z[24] ↙if O>0 :Then F-T→T : T<0=>360+T→T : Else F+T →T : Ifend ↙Goto 8 ↙Lb1 8if O<0 : Then - Z[24]→Z[24] : Ifend ↙Z[16]+Z[23]*Cos(E) -Z[24]*Sin(E)→Z[18] ↙Z[17]+Z[23]*Sin(E)+Z[24]*Cos(E)→Z[19] ↙Return↙此程序大约占计算器2900字节!此程序本人已亲自验算,无误!!子程序反算里程桩名称:FSLCZLb1 1↙"XK="?X:"YK="?Y↙(输入任意测点的X、Y坐标)“K=”?K ↙(试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)Lb1 2↙Prog"SJK ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos(W)-(X-Z[18])* Sin(W))→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"SJK":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z [18])*Si n (W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else if Q<S: Then K+Q →K: Goto 2 :Else if Q>S :Then K-Q→K:Goto 2:Ifend:Ifen d:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"DP(-Z+Y)=":I◢(偏距)"K=":K+S→K◢(里程)Goto 1↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:------------差个撒样"DP(-Z+Y)=":I◢(偏距)"K=":K+S→K◢(里程)Goto 1↙。
卡西欧5800公路坐标正反算程序
目录一、坐标正算基本公式………………………………………………………02二、坐标反算原理 (04)三、高程数据库录入变换 (05)四、计算器程序………………………………………………………07 01、ZBZS(坐标正算)………………………………………………………0702、ZBFS(坐标反算)………………………………………………………0803、GCJF(高程积分) (09)04、PJFY(坡脚放样)………………………………………………………1005、JFCX(积分程序) (11)06、ZBFY(坐标放样)………………………………………………………1107、DT(递推) (12)08、H P(横坡) (13)09、LK(路宽)………………………………………………………1410、SJK1(平面数据库) (14)11、SJK2(纵面数据库)………………………………………………1412、SJK3(左路宽度数据库) (15)13、SJK4(右路宽度数据库) (15)14、SJK5(横坡数据库)......................................................1615、SJK6(下边坡数据库) (16)16、SJK7(左上边坡数据库)………………………………………………1717、SJK8(右上边坡数据库)………………………………………………18五、后记 (19)CASIO 5800计算器公路工程测量程序一、正算所涉及得计算公式 X R i d XαβBd Y d l d βI图表 错误!不能识别的开关参数。
在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标点。
设: A点得X 坐标为X A ,Y 坐标为Y A ,A点得切线方位角为α,A 点得曲率为ρA,A 点得里程为LA,B 点得曲率为ρB,B点得里程为L B,I 点得曲率为ρI ,I点得里程为LI 。
卡西欧5800计算器程序坐标正反算(含高程)
卡西欧5800计算器程序坐标正反算(含高程)功能:坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素)另含两个边仰(一个横向坡,一个纵向坡)坡放样模块.帮助文件未完成程序浏览:FileName:RESET 初始化程序Norm 1:50→C:12345→J"RESET PW"I:I=J=>500→DimZ 为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量50→Z[C+22]"PASSWORDS"I:I→Z[C+39] 重设要素保护密码Cls:StopFileName:DATLOCK 要素保护密码确定认程序Cls:Norm 1:50→C"PASSWORDS"I:Cls:I≠Z[C+39]=>StopFileName:SHELL(外壳程序)50→C ;在扩充变量预留前50个给别的程序用。
如不够就适量加大。
RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致Z[C+35]→I:"STATION-N"I:I→Z[C+35] 设置测站N坐标Z[C+36]→I:"STATION-E"I:I→Z[C+36] 设置测站E坐标Z[C+44]→I:"STATION-Z"I:I→Z[C+44] 设置测站Z坐标Z[C+45]→I:"STATION-HI"I:I→Z[C+45] 设置仪高Z[C+41]→I:"GC-DH"I:I→Z[C+41] 放样点高差常数Norm 1Z[C+23]→N 当前分段要素N坐标Z[C+24]→E 当前分段要素E坐标Z[C+25]→M 当前分段要素起点桩号Z[C+26]→H 当前分段要素起点方位角(正北)单位:弧度Z[C+27]→A 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[C+28]→R 当前分段要素终点曲率有左偏负右偏正(注意不半径)Z[C+29]→L 当前分段要素长度Z[C+3]→WZ[C+32]→I:"DAT1 2 3"I:I→Z[C+32] 平曲线要素数库类型选择1为内置式,2文件式,3实时输入(查看当前要素值)0→IZ[C+4]→I:"1 2 3"I:I→Z[C+4] 选择本程序模式默认为坐标正算,1坐标反算,2横向边仰坡放样,3,纵向边仰坡放样(隧道进出口用到) Lbi 1Z[C+4]→II=1=>Prog"TURNZH"I=2=>Prog"HXBYP"I=3=>Prog"ZXBYP"Lbi ADeg:Norm 1:ClsZ[C+1]→G:"ZH"G:G→Z[C+1] ;G桩求桩号Z[C+2]→B:"JL"B:B→Z[C+2] ;B横向距离,左正右负Lbi BProg "ZBJS" ;坐标正算Prog "GCJS" ;高程计算Fix 3:Cls ;设置三位小数"ZH=":Locate 4,1,G ;第一行显示桩号"X=":Locate 3,2,X ;第二行显示X(N)坐标"Y=":Locate 3,3,Y ;第三行显示Y(E)坐标Prog "GCJS" ;高程计算"Z":Locate 2,4,Z+Z[C+41] ;第四行显示Z坐标Locate 10,4,Z[C+2] ;第四行显示横向距离Do:I+1→I:I=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27) ;锁定键盘,并在几十秒后自动返回Getkey=57=> Goto 1Z+Z[C+41]+Z[C+49]-Z[C+44]-Z[C+45]→Z[C+48]Pol(Z[C+35]-X,Z[C+36]-Y)Cls:"DL":Locate 3,1,I:Locate 12,1,Z[C+45]"DH":Locate 3,2,Z[C+48]:Locate 12,2,Z[C+49]"FWJ"J<0=J+360→J:J◤DMS◢J→Z[C+46]I→Z[C+47]Goto 1FileName:ZBJS 坐标计算程序Prog"READDAT"RadG-M→QIF AR=0 :Then If A=R :Then 1→J:Else 3→J :IfEnd:Else If A=R :Then 2→J:Else 3→J:IfEnd:IfEndIf J=1 :Then H→F:N+QCos(H)→X:E+QSin(H)→Y:IfEnd 直线段直接计算If J=2 :Then H+QR→F:Rec(Abs(2Sin(Abs)÷R),H+QR÷2):N+I→X:E+J→Y:IfEnd 圆弧段直接计算If J=3 :Then Goto 5 :IfEndX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnLbi 5 用五点通用坐标计算计算缓和段(R-A)÷L→KKQ2→J→P:H+IP+JP2→U→P:H+IP+JP2→V→P :H+IP+JP2→D→P:H+IP+JP2→F→P:H+IP+JP2→T→I→J→ON+Q(ICos(U)+JCos(V)+OCos(D)+JCos(F)+ICos(T))→XE+Q(ISin(U)+JSin(V)+OSin(D)+JSin(F)+ISi n(T))→YH+AQ+KQ2→FX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnFileName:TURNZH(坐标反算)Norm 1Z[C+37]→I:"DQD-N"I:I→Z[C+37] 输入待求点N坐标I=-1=>Prog"INFWJDLDH"Z[C+38]→I:"DQD-E"I:I→Z[C+38] 输入待求点E坐标0→B:M+L÷2→G:Prog"ZBJS"Lbi S:RadZ[C+37]-X→I:Z[C+38]-Y→JIf I=0 And J=0 :Then Goto A:IfEndPol(I,J)Lbi A:Rec(I,J-F):J→Z[C+2]G+I→G:IF Abs(I)> :Then Prog"ZBJS":Goto S↙G→Z[C+1]FileName:INFWJDLDH 实测坐标(用方位角,距离,高差)输入程序Deg:Norm 1:ClsZ[C+46]→J:"DQD-FWJ"J:J→Z[C+46]Z[C+47]→I:"DQD-DL"I:I→Z[C+47]Z[C+48]→K:"DQD-DZ"K:K→Z[C+48]Z[C+49]→P:"RHT"P:P→Z[C+49]Rec(I,J)Z[C+35]+I→Z[C+37]Z[C+36]+J→Z[C+38]Z[C+44]+Z[C+45]+K-P→Z[C+43]FileName:HXBYP 横向边仰坡放样程序Cls:Norm 1Z[C+40]→I:"QPD-DL"I:I→Z[C+40] 输入起坡点与中桩距离常数Z[C+41]→I:"QPD-DZ"I:I→Z[C+41] 输入起坡点与中桩高差常数Z[C+42]→I:"i"I:I→Z[C+42] 输入边仰坡坡度,左仰坡(路堑)为正,右仰坡(路堑)为负,左边坡为负,右边坡为正Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Prog "GCJS"(Z[C+43]-Z-Z[C+41])Z[C+42]+Z[C+40]→BFix 3:B-Z[C+2]◢显示与上一次测点的偏差B→Z[C+2]FileName:ZXBYP 纵向仰坡放样程序(隧道进口使用)Cls:Norm 1:Z[C+33]→I:"QPD-ZH"I:I→Z[C+33] 输入起坡点桩号Z[C+34]→I:"QPD-Z"I:I→Z[C+34] 输入起坡点高程Z[C+42]→I:"i"I:I→Z[C+42] 仰坡时(隧道进出口仰坡),进口为正,出口为负)Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Z[C+42](Z[C+43]-Z[C+34])+Z[C+33]→GFix 3:G-Z[C+1]◢显示与上一次测点的偏差G→Z[C+1]FileName:SET 设置程序Lbi SNorm 150→C50→Z[C+22]0→KZ[C+5]→I:"1 Or 2"I:I→Z[C+5] ;选择1线或者2线180Z[C+3]÷π→J:"XZJJ"J:Jπ÷180→Z[C+3] ;斜桩夹角If I=1:Then Z[C+8]→Z[C+6]:Z[C+9]→Z[C+7]Z[C+12]→Z[C+16]:Z[C+13]→Z[C+17]:Z[C+18]→Z[C+20]Else Z[C+10]→Z[C+6]:Z[C+11]→Z[C+7]Z[C+14]→Z[C+16]:Z[C+15]→Z[C+17]::Z[C+19]→Z[C+20]Z[C+7]+3→Z[C+31]0→I:"1PQX,2SQX,3YSDS"I ;1输入平曲线要素,2输入竖曲线要素,3输入1、2线夹平竖曲线交点(变坡点)数量以让程序规划内存建立要素数据为,其它值退出本程序I=1 => Goto 1:I=2 => Goto 2:I=3 => Goto 3I≠0=>Prog"DATLOCK"Prog"SETPFDYS"StopLbi 1 ;平曲线要素输入部分Z[C+6]→D-1→Z[D+3]For 1→J T o Z[C+16]Cls:"PQX":Locate 9,1,JZ[D+1]→I:"N"I:I→Z[D+1] ;请输入N坐标Z[D+2]→I:"E"I:I→Z[D+2] ;请输入E坐标Z[D+3]→I:"R"I:I→Z[D+3] ;请输入半径RZ[D+4]→I:"LS1"I:I→Z[D+4] ;请输入缓和曲线1长度Z[D+5]→I:"LS2"I:I→Z[D+5] ;请输入缓和曲线2长度Next1→Z[D-2]Goto SLbi 2 ;竖曲线要素输入部分Z[C+7]→D-1→Z[D+3]For 1→J T o Z[C+17]Cls:"SQX":Locate 9,1,JZ[D+1]→I:"BPDZH"I:I→Z[C+1] ;请输入变坡点桩号Z[D+2]→I:"BPDGC"I:I→Z[C+2] ;请输入变坡点高程Z[D+3]→I:"R"I:I→Z[C+3] ;请输入半径RD+3→DNext1→Z[D]Goto SLbi 3 ;要素点数输入部分Z[C+12]→I:"1PQXDS"I:I→Z[C+12] ;输入1线平曲线点数,最小值为3Z[C+13]→I:"1SQXDS"I:I→Z[C+13] ;输入1线竖曲线点数,最小值为3Z[C+18]→I:"1JDZH"I:I→Z[C+18] ;输入1线平曲线第一个交点的交点桩号Z[C+14]→I:"2PQXDS"I:I→Z[C+14] ;输入2线平曲线点数,最小值为3Z[C+15]→I:"2SQXDS"I:I→Z[C+15] ;输入2线竖曲线点数,最小值为3Z[C+19]→I:"2JDZH"I:I→Z[C+19] ;输入2线平曲线第一个交点的交点桩号C+Z[C+22]→Z[C+8] 1线路平曲线要素指针偏移基数Z[C+8]+5Z[C+12]→Z[C+9] 1线路竖曲线要素指针偏移基数Z[C+9]+3Z[C+13]→Z[C+10] 2线路平曲线要素指针偏移基数Z[C+10]+5Z[C+14]→Z[C+11] 2线路竖曲线要素指针偏移基数Z[C+11]+3Z[C+15]→Z[C+21] 要素数据库结束指针Z[C+21]+1→Z[C+30]Z[C+21]→DimZ 增加额外变量-1→KGoto SFileName:SETPFDYS 交点要素=>分段要素Norm 150→CRadZ[C+6]+5→DZ[C+21]+1→FF+6→DimZ-1→Z[F] ; 设置分段要素开始标志Z[C+20]→V ; 从数据库读入当前线第一个平曲线交点桩号0→GPol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第一条直线的距离I,计算方位角JJ→HZ[D-4]→Z[F+1] 直线段Z[D-3]→Z[F+2]V-I→Z[F+3]For 1→G T o Z[C+16]-2Pol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第本交点与下一交点的距离I,计算方位角JI→W:J→HPol(Z[D+6]-Z[D+1],Z[D+7]-Z[D+2])J-H→K ;计算转角K,负值是左转角,正值是右转角IF Abs(K)>π:Then If K>0:Then K-2π→K:Else K+2π→K:IfEnd:IfEndZ[D+3]→R ;从数据库读入半径RZ[D+4]→L ;从数据库读入缓和曲线1长度Z[D+5]→M ;从数据库读入缓和曲线2长度L÷2÷R→B ;计算缓和曲线1的B0角M÷2÷R→O ;计算缓和曲线2的B0角(Abs(K)-B-O)R→P ;计算圆曲线长度L2÷24÷R-L^(4) ÷2384÷R^(3) →Q ;内移值计算方法2L÷2-L^(3) ÷240÷R2→S ;切线增长值计算方法2M2÷24÷R-M^(4) ÷2384÷R^(3) →J ;内移值计算方法2M÷2-M^(3) ÷240÷R2→I ;切线增长值计算方法2Abs(π÷2- Abs(K)) →ARtan(Abs(K÷2))+S+J÷Cos(A)-QTan(A)→T ;计算切线1Rtan(Abs(K÷2))+I+Q÷Cos(A)-JTan(A)→U ;计算切线2H<0=>H+2π→HK<0 =>-1→AH→Z[F+4]0→Z[F+5]0→Z[F+6]F+6→FF+6→DimZRec(T,H) 缓和段1 Z[D+1]-I→NZ[D+2]-J→EN→Z[F+1]E→Z[F+2]V-T→Z[F+3]L=0=>Goto AH→Z[F+4]0→Z[F+5]A÷R→Z[F+6]F+6→DimZLbi A 圆弧段0→I:0→JL=0=>Goto BPol(L-L^(3)÷40÷R2,L2÷6÷R-L^(4)÷336÷R^(4)) Lbi B Rec(I,H+AJ)N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L→Z[F+3]H+AB→Z[F+4]A÷R→Z[F+5]A÷R→Z[F+6]F+6→FF+6→DimZM=0=>Goto C 缓和段2 Rec(2RSin÷R),H+AB+AP÷R÷2) N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L+P→Z[F+3]H+AB+AP÷R→Z[F+4]A÷R→Z[F+5]0→Z[F+6]Lbi CF+6→FF+6→DimZRec(U,H+K)Z[D+1]+J→Z[F+1]Z[D+2]+I→Z[F+2]V-T+L+P+M→Z[F+3]V-T+L+P+M-U+I→VD+5→DNextH+K→Z[F+4]0→Z[F+5]0→Z[F+6]F+9→DimZ1→Z[F+7]V→Z[F+9] 要素终点桩号DegFileName:READDATZ[C+32]→II=3=>Prog"READDAT3"If GM+L :Then ;验证要素是否可用,否则重设要素I=1=>Prog"READDAT1"I=2=>Prog"READDAT2"Prog"REALDAT3"IfEndFileName:READDAT1 平曲线分段要素读取程序1Z[C+30]→F0→JLbi 1 搜索要素If G<z[f+3]:then< p="">-1=Z[F]=>Goto E:F-6→F:-1→J:Goto 1Else 1=Z[F+1]=>Goto E:-1=J=>Goto 2:1→J:F+6→F:Goto 1 IfEndLbi 2F→Z[C+30]Z[F+1]→Z[C+23] 当前分段要素N坐标Z[F+2]→Z[C+24] 当前分段要素E坐标Z[F+3]→Z[C+25] 当前分段要素起点桩号Z[F+4]→[C+26] 当前分段要素起点方位角(正北)Z[F+5]→Z[C+27] 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[F+6]→Z[C+28] 当前分段要素终点曲率有左偏负右偏正(注意不半径)</z[f+3]:then<>。
卡西欧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(交点法)坐标计算及反算
5800(交点法)坐标计算及反算程序清单:1、JDF1J-PQXYS(交点法1-平曲线要素)5→Dimz↙“JD”?A↙“JD X”?B↙“JD Y”?C↙“FWJ”?F↙“L(a-),R(a+)”?O↙(字母O)“R”?R↙“LS1”?E↙“LS2”?K↙If E<1:Then 1*10^(-9) →E:IfEnd↙If K<1:Then 1*10^(-9) →K:IfEnd↙E2 ÷(24R)- E^(4)÷(2688R^(3))→Z[1]↙E÷2-E^(3)÷(240R2)+E^(5)÷(34560R^(4))→Z[2]↙((E2-K2 )÷(24R))÷Sin(Abs(O))→X↙(字母O)“T1=”:(R+E2÷(24R)-E^(4)÷(2688 R^(3)))tan(Abs(O) ÷2)+E÷2-E^(3)÷(240R2)+E^(5)÷(34560R^(4))-X→Z[3] ◢(字母O)“T2=”:(R+K2÷(24R)-K^(4)÷(2688 R^(3)))tan(Abs(O) ÷2)+K÷2-K^(3)÷(240R2)+K^(5)÷(34560R^(4))+X→Z[4] ◢(字母O)“L=”:Abs(O)πR÷180+(E+K)÷2→L◢(字母O)“LY=”:L-(E+K)→Y◢tan-1((R+Z[1])÷(Z[3]-Z[2]))→J↙“E=”:(R+Z[1])÷sin(J)-R→X◢A-Z[3]→X:X+E→Y↙If E<1:Then “ZY=”:X◢:Else “ZH=”:X◢IfEnd↙“HY=”:Y◢“QZ=”:X+E+(L-K-E)÷2→Y◢X+L-K→Y:X+L→X↙If K<1::Then “YZ=”:X◢:Else “YH=”:Y◢IfEnd↙“HZ=”:X◢Prog“JDF2J-JSMS”↙2、JDF2J-JSMS(交点法2-计算模式)LbI 0↙“1 KD=>XY,2 XY=>KD”?Z↙If Z=1:Then Goto 1:IfEnd↙If Z=2:Then Goto 2:IfEnd↙LbI 1↙“JS K”?P:“BZ(m)”?D:“BJ(°)”?W↙Prog“JDF3JPZS”↙“X=”:X◢“Y=”:Y◢If Z=1: Then Goto 1:Goto 1:IfEnd↙LbI 2↙“X”?X:“Y”?Y:“BJ(°)”?W↙Prog“JDF4JPFS”↙“JS K”:P◢“BZ(m)=”:D◢If Z=2: Then Goto 2:Goto 2:IfEnd↙3、JDF3JPZS (交点法3平曲线正算)LbI 1↙F→J↙B-Z[3]cos(F)→X↙C-Z[3]sin(F)→Y↙E→G↙If P≤A-Z[3]:Then A-Z[3]-P→I:-I→M:0→N:F+W→H: Goto5:IfEnd↙(数字0)If P≤A-Z[3]+E:Then P-A+Z[3]→I:90I2÷(REπ)→H: O<0=>-H→H:(前面为字母0,后面为数字0)H+W+F→H: Goto 3: IfEnd↙If P≤A-Z[3]+L-K:Then P-A+Z[3]-E→I: Goto 4:Else Goto2: IfEnd↙LbI 2↙B+Z[4]cos(F+O)→X↙(字母0)C+Z[4]sin(F+O)→Y↙(字母0)F+O+180→J↙(字母0)K→G↙If P≤A-Z[3]+L:Then A-Z[3]+L-P→I:90I2÷(RKπ)→H: O>0=>-H→H:(前面为字母0,后面为数字0)H+J+W+180→H: Goto 3 :Else P-A+Z[3]-L→I:-I→M:0→N:(数字0)J+W+180→H: Goto 5:IfEnd↙LbI 3↙I-I^(5)÷(40(RG)2)→M↙I^(3)÷(6GR)-I^(7)÷(336(RG)^(3))→N↙Goto 5↙LbI 4↙(E+2I)×90÷(πR)→H↙Rsin(H)+Z[2]→M↙R(1-cos(H))+Z[1]→N↙O<0=>-H→H↙(前面为字母0,后面为数字0)J+H+W→H↙Goto 5↙LbI 5 ↙If P≤A-Z[3]+L-K:Then O<0(前面为字母0,后面为数字0)=>-N→N:Else O>0(前面为字母0,后面为数字0)=>-N→N: Goto 6: IfEnd↙LbI 6 ↙X+Mcos(J)-Nsin(J)+Dcos(H)→X↙Y+Msin(J)+Ncos(J)+Dsin(H)→Y↙4、JDF4JPFS(交点法4平曲线反算)X→U:Y→V:0→D:F-W→J↙(数字0)A+(Y-C)cos(J)-(X-B)sin(J)→P↙LbI 1↙Prog“JDF3JPZS”↙H-180→J↙(V-Y)cos(J)-(U-X)sin(J)→I↙If Abs(I)<10^(-4):Then Goto 2:Else P+I→P: Goto1: IfEnd↙LbI 2↙(V-Y)÷sin(H)→D↙程序简介本套程序共有1个主程序,3个子程序,适用于CASIO-5800用户。
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、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。
卡西欧5800计算器程序
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=″?V?Pol(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=″?RLbl 1"DQHAO=″?LL<G Or L>C GOTO 2"PY=″?K180(L-G)÷(πR) →E2RSin →FReC(Abs(F),D+: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(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:待求点里程。
卡西欧5800计算器坐标正反算程序(带详细说明)
卡西欧5800程序完整版"ZS=1,FS=2"?N: 1÷P →C:(P-R)÷(2HPH)→D:180÷π→E: If N=1: Then Goto 1: Else Goto 2: IfE nd←┚LbI 1:1 →I:0 →Z:Abs(K-O) →W: Prog"ZS"←┚F-90→F←┚"JJ"?K:"PJ"?L: "ZX=":X+Lcos(F+K) →Z[3]◢"ZY=": Y+Lsin(F+K) →Z[4]◢"QXFWJ=":F DMS◢Abs(Z) →Z:Goto 8←┚LbI 2:"X"?I:"Y"?J: Prog"FS":"FSZH=":O+W→K◢"FSJL=":Z◢Lbl 8正算子程序(ZS)(不运行)1÷P→C:(P-R)÷(2HPR) →D: 180÷π→E←┚0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C +LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Y:G+QEW(C+WD)+90→F:X+ZcosF→X:Y+ZsinF→Y3反算子程序(FS)(不运行)G-90→T:Abs((Y-V))cos(T)-(X-U)sin(T)→W:0→Z←┚Lbl 0←┚prog"ZS":T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<0.001: Then Goto1:E lse W+Z→W:IfEnd :Goto 0←┚Lbl 1:0→Z:Prog"ZS":(J-Y)÷sinF→ZZX-WN(运行主程序,该程序适用于匝道,对全段完整非对称曲线计算太过麻烦)"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)LbI 0: "K"?K: If K≤126.9(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤176.9 And K>126.9: Then Goto B:Else If K≤259.562 And K>176.9: Then Goto C:Else If K≤309.562 And K >259.562: Then Goto D:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI A:92094.336(起点X坐标)→U:8287.962(起点Y坐标)→V:0起点桩号→O:145°11'54"(方位角)→G:126.9(曲线长度)→H:10^(45) (起点半径)→P:10^(45) (止点半径)→R:+1(路线左右偏,左负右正,直线输0)→Q:Prog "WN":Goto WLbI B:91990.134→U:8360.388→V:126.9→O:145°11'54"→G:50→H:10^(45) →P:150 →R:+1→Q:Pr og "WN":Goto WLbI C:91947.609→U:8386.570→V:176.9→O:154°44'51"→G:82.662→H:150 →P:150 →R:+1→Q:Pr og "WN":Goto WLbI D:91867.101→U:8399.992→V:259.562→O:186°19'19"→G:50→H:150 →P: 10^(45) →R:+1→Q: Prog "WN":Goto WLbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,可以直接出方位角、距离,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←┚LbI V:"JJ1"? O←┚(左右边桩再偏夹角,用180°减去路线夹角)"X1=": Z[3]+Tcos(F+N+ O)→U◢"Y1=":Z[4]+Tsin(F+N+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢(仪站至测点的距离)"FWJ=":J DMS◢(仪站至测点的方位角)Goto0备注:1.规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0。
CASIO-5800积分法线路坐标正反算-14页精选文档
CASIO-5800积分法线路坐标正反算—雨中听风施工测量工作中较高档的计算器已很普及,施工放样的数据处理也应该采用程序化计算,以避免出错和提高测量工作的效率。
下面介绍本人炎汝(炎陵至汝城湘粤界)高速公路施工测量工作中应用的CASIO-5800计算器线元积分法坐标正反算程序(程序应用了测量空间里李艳阳老师提供的通用积分公式,在此表示感谢)。
该程序适用于任意线元的坐标、里程及偏距计算,只需更新数据库或者手工输入线元要素便可计之所需。
1.积分坐标正反算主程序(JF.ZBZFS)Lb1 0: Cls↓〝1.SZ => XY〞↓〝2.XY =>SZ〞:?Q↓〝灵活LH.K=0〞↓〝左线ZX.K=1〞↓〝右线YX.K=2〞:?K↓IF K=1:Then Prog〝YS1〞:Else IF K=2:Then Prog〝YS2〞: Else IF K=0:Then 〝QS.FW〞?A: 〝QS.LC〞?O:〝QS.X〞?U:〝QS.Y〞?V: 〝R0〞?P: 〝RN〞?R: 〝XY.CD〞?L↓Ifend:Ifend:Ifend:?S:S -(字母)O →X:IF X <(数字)0 Or X > L:Then 〝=CUOWU="◢Goto 0 :Ifend :Q=2=>Goto 2↓Lbl 1:?Z:Prog 〝ZS〞↓Cls:Fix 3:〝N=〞:Locate 3,1,N:〝E=〞:Locate 3,2,E:〝FW=〞:F▲DMS◢Norm 2 :Goto 0↓Lbl 2:〝CX〞?B:〝CY〞?C:B→N:C→E: Prog〝FS〞↓Cls: Fix 3:〝S=〞:Locate 4,1,S:〝Z=〞:Locate 4,2,Z◢Norm 2 :Goto 02. 正算子程序(ZS)0.5(1÷R-1÷P)÷L→D:S-(字母)O→X↓U+∫(cos(A+(X÷P+DX²)×180÷(圆周率)∏),(数字)0,X)→N↓V+∫(sim(A+(X÷P+DX²)×180÷(圆周率)∏),(数字)0,X)→E↓A+(X÷P+DX²)×180÷(圆周率)∏→FN+Zcos(F+90)→N:E+Zsim(F+90)→E↓3. 反算子程序(FS)Lb1 1:(数字)0→Z: 1→Q: Prog〝ZS〞↓Pol(N-B+10^(-46) ,E-C+10^(-46)) ↓Isim(F-90-J)→W:S+W→S↓Abs(W)>0.0001=> Goto 1↓Lb1 2: (数字)0→Z : Prog〝ZS〞↓(C-E)÷sin(F+90)→Z数据库子程序(炎汝11标左线)(YS1)Goto 1 ↓Lb1 1 ↓IF S≥45871.346 And S<47089.759:Then194°17°39.6°→A:45871.346→O: 3966.911→U: 733.518→V:10^45→P: 10^45→R: 1218.413→L:Return:IfEnd↓IF S≥47089.759 And S<47254.759:Then194°17°39.6°→A:47089.759→O: 2786.220→U: 432.688→V:10^45→P: -1480→R: 165→L: Return:IfEnd↓IF S≥47254.759 And S<47905.918:Then191°06°01.73°→A:47254.759→O: 2625.621→U: 394.932→V:-1480→P: -1480→R: 651.159→L:Return:IfEnd↓IF S≥47905.918 And S<48070.918:Then165°53°30.93°→A:47905.918→O: 1979.924→U:411.883→V:-1480→P:10^45→R: 165→L: Return:IfEnd↓IF S≥48070.918 And S<48332.968:Then162°41°53°→A:48070.918→O: 1821.528→U: 458.013→V: 10^45→P: 10^45→R: 262.050→L:Return:IfEnd↓IF S≥48332.968 And S<48477.968:Then162°41°53°→A:48332.968→O: 1571.335→U: 535.949→V: 10^45→P: 800→R: 145→L: Return:IfEnd↓IF S≥48477.968 And S<48915.797:Then167°53°25.75°→A: 48477.968→O: 1431.708→U: 574.858→V: 800→P: 800→R: 437.829→L: Return:IfEnd↓IF S≥48915.797 And S<49060.797:Then199°14°51.64°→A: 48915.797→O: 1000.161→U:547.941→V: 800→P: 10^45→R: 145→L:Return:IfEnd↓IF S≥49060.797 And S<49556.014:Then204°26°24.40°→A: 49060.797→O: 866.451→U:491.983→V: 10^45→P: 10^45→R: 495.217→L:Return:IfEnd↓IF S≥49556.014 And S≤50236.938:Then204°26°24.40°→A: 49556.014→O: 415.608→U:287.091→V: -2500→P: -2500→R:680.924→L:Return:IfEnd↓Lb1 1: A:O:U:V:P:R:L数据库子程序(炎汝11标右线)(YS2)Goto 1 ↓Lb1 1 ↓IF S≥45700.089 And S<47055.633:Then194°17°39.6°→A:45700.089→O: 4117.556→U:500744.038→V:10^45→P: 10^45→R:1355.544→L:Return:IfEnd↓IF S≥47055.633 And S<47220.633:Then194°17°39.6°→A:47055.633→O: 2803.979→U: 409.351→V:10^45→P: -1480→R: 165→L:Return:IfEnd↓IF S≥47220.633 And S<47871.792:Then191°06°01.73°→A:47220.633→O: 2643.381→U: 371.595→V:-1480→P:-1480→R: 651.159→L:Return:IfEnd↓IF S≥47871.792 And S<48036.792:Then165°53°30.93°→A: 47871.792→O: 1997.684→U:388.546→V:-1480→P: 10^45→R: 165→L:Return:IfEnd↓IF S≥48036.792 And S<48291.984:Then162°41°53°→A: 48036.792→O: 1839.287→U: 434.676→V: 10^45→P: 10^45→R: 255.192→L:Return:IfEnd↓IF S≥48291.984 And S<48436.984:Then162°41°53°→A: 48291.984→O: 1595.643→U: 510.571→V: 10^45→P: 800→R: 145→L:Return:IfEnd↓IF S≥48436.984 And S<48957.197:Then167°53°25.75°→A: 48436.984→O: 1456.015→U:549.480→V: 800→P: 800→R:520.213→L:Return:IfEnd↓IF S≥48957.197 And S<49102.197:Then205°08°52.79°→A: 48957.197→O: 948.224→U:491.452→V: 800→P: 10^45→R: 145→L:Return:IfEnd↓IF S≥49102.197 And S<49510.315:Then210°20°25.50°→A: 49102.197→O: 820.975→U:422.046→V: 10^45→P: 10^45→R: 408.118→L:Return:IfEnd↓IF S≥49510.315 And S<49650.315:Then210°20°25.50°→A: 49510.315→O: 468.753→U:215.891→V: 10^45→P: -1000→R:140→L:Return:IfEnd↓IF S≥49650.315 And S<49909.924:Then206°19°46.96°→A: 49650.315→O: 346.337→U:148.025→V: -1000→P: -1000→R:259.609→L:Return:IfEnd↓IF S≥49909.924 And S≤50049.924:Then191°27°18.76°→A: 49909.924→O: 101.402→U:64.201→V: -1000→P: 10^45→R:140→L:Return:IfEnd↓Lb1 1: A:O:U:V:P:R:L数据库变量说明:S≥(线元的起点里程)[可要亦可不要]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
卡西欧5800公路坐标正反算程序目录一、坐标正算基本公式 (02)二、坐标反算原理 (04)三、高程数据库录入变换 (05)四、计算器程序 (07)01、ZBZS(坐标正算) (07)02、ZBFS(坐标反算) (08)03、GCJF(高程积分) (09)04、PJFY(坡脚放样) (10)05、JFCX(积分程序) (11)06、ZBFY(坐标放样) (11)07、DT(递推) (12)08、HP(横坡) (13)09、LK(路宽) (14)10、SJK1(平面数据库) (14)11、SJK2(纵面数据库) (14)12、SJK3(左路宽度数据库) (15)13、SJK4(右路宽度数据库) (15)14、SJK5(横坡数据库) (16)15、SJK6(下边坡数据库) (16)16、SJK7(左上边坡数据库) (17)17、SJK8(右上边坡数据库) (18)五、后记 (19)CASIO 5800计算器公路工程测量程序一、正算所涉及的计算公式X R i d XαβBd Y d l d βI图表 1在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标点。
设:A 点的X 坐标为X A ,Y 坐标为Y A ,A 点的切线方位角为α,A 点的曲率为ρA ,A 点的里程为L A ,B 点的曲率为ρB ,B 点的里程为L B ,I 点的曲率为ρI ,I 点的里程为L I 。
I 点的切线角为β。
由于回旋线上各点曲率半径R i 和该点至曲线起点的距离L 成反比。
故此任意点的曲率为;CL R i i ==1ρ (c 为常数) (1) 由式(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为L i 点的曲率为;AB A i A B A i L L L L --⨯-+=)(ρρρρ (2) 当曲线右偏时ρB 、ρA 取正值,反之取负值。
设:A B AB L L M --=ρρ ------ 曲率变化率 (3)A i L L L -= ------ I 点至起点A 的距离 (4)则有:ML A i +=ρρ (5)在I 点处取一微段,则有:l i il d R d d ρβ== (单位为弧度) (6) 对上式进行积分并代入式(3)(4),则有;⎰⎰⎰⎰+=+=+==l l l lA l l A l A l i i ML L Ld M d d ML d 000022)(ρρρρβ (7) 因已知回旋曲线起点A 的切线方位角α,则里程为L i 点的切线方位角为:i i βαα+= (8)将式(7)代入式(8)得:22ML L A i ++=ραα(单位为弧度) (9) 对于式(9),当ρA =0,M=0时,则αi =α,式(9)变成计算直线段上任意点切线方位角的计算公式;当ρA =c (c 为常数),M=0时,则αi =α+ρA L ,式(9)变成计算圆曲线上任意点切线方位角的计算公式。
由图1中不难得出回旋曲线上任意点在路线坐标系下的坐标:⎰+=ll i A d X X 0)cos(α⎰+=ll i A d Y Y 0)sin(α (10)将式(9)代入式(10),即得本次编程计算基本公式:⎰+++=ll A A d ML L X X 02)2cos(ρα ⎰+++=l l A A d ML L Y Y 02)2sin(ρα (11) 二、反算原理XαBAβC图表 2在图2中,A 点为已知坐标而待求对应中桩桩号及边距的点。
B 点为假定的A 点对应中桩桩号点。
显然,B 点并不对应于A 点。
做出B 点的切线,过A 点做辅助线垂直于B 点的切线,相交于C 点。
设:B 点的切线方位角为α,B 点的桩号为K B ,B 点的坐标分别为X B 、Y B ,A 点的桩号为K A ,A 点的坐标分别为X A 、Y A ,“B-A ”的方位角为β,“B-A ”的距离为N , “B-C ”的距离为L ,“C-A ”的距离为Z 。
根据前面的坐标正算的公式可以得到α,X B 、Y B 值。
根据计算器内置的Pol (X A -X B ,Y A -Y B )公式(直角坐标转换为极坐标)能得到β,N 值。
)cos(αβ-=N L (1))sin(αβ-=N Z (2)当L=0时,B 点是对应于A 点的,K B =K A ,Z 即为A 点的距中桩的距离。
当L ≠0时,则采用K B =K B +L,对B 点进行新的假定,进而再次对L 进行解算,直至L=0,或则L 值在容许误差范围之内。
三、高程数据库录入变换计算HLO i 1R 1i 2R 2i 3α1α2AB C D 图表 3为利用前面已知的积分公式对高程进行求算,故需对设计给定的纵断面数据进行换算。
如图3中所示,以高程H 轴代替平面坐标系的X 轴,以里程L 代替平面坐标系的Y 轴,以H 轴为起点,顺时针方向旋转而得到方位角α。
由设计图中已知数据为:纵坡i ,竖曲线半径R ,坡长L 等。
根据通用的纵断面高程计算公式,容易解算出每个线形变化点的里程及高程,即图3中,A 、B 、C 、D 点的“H 、L ”值。
由于纵坡坡度所采用的为坡度值,即:LH i = (1) 利用反三角函数,即能解算出以L 轴为起点,逆时针方向旋转的角值β。
)(tan 1i -=β (2)β显然: βα-=90 (3)同时结合平面线元,凸曲线可以看为右偏线元,曲率取正值。
反之为负值。
LH OA'B'图表 4由于积分程序代入运算的为坡线长度,即上图中的的0A 、AB ,而已知里程为水平距离,即上图中的0A ’、A ’B ’。
所以在计算出起点积分运算的基本要素:图3中的(α,H ,L )后,我们需将水平距离L 换算为坡线长度L ’或弧线长度L~。
直线换算比较简单,利用三角函数即能得出下式:)90cos(α-='L L (4) 竖曲线形式,一般采用二次抛物线或圆曲线,在圆心角很小而半径相对较大的使用范围内,二者的吻合是良好的。
以下推导采用圆曲线作为竖曲线的形式。
在图4中,A 点为线元起点(直线OA 与圆弧AB 的切点),B 点为待求弧长点,F 点为曲线对应圆心。
根据互余角相等原理得出: α=∠DAF运用三角函数计算得出: )cos(αR AD =;)sin(αR DF =根据圆曲线方程:222R Y X =+得出: AD AC DC X -==,22X R BE Y -== 根据图示:DF Y CE BE BC -=-=利用反三角函数:)(tan 1ACBC -=γ 从而:γαβ--=90根据弧长计算公式得:90R L πβ= (5) 四、卡西欧5800程序;➢ 1、文件名:“ZBZS ”(坐标正算)"KI="?H:(输入计算点桩号并赋值于变量H)Prog "SJK1":(进入数据库1中读取数据)Prog "JFCX ":(进入积分程序进行运算)"BL="?P:(输入计算点距中桩距离并赋值于变量P,左为“-”,右为“+”。
如果需要计算设计路幅宽度“加宽段”,则计算左幅时输入“-1”,右幅为“+1”)IF ABS(1)=1:(如果路宽的绝对值为1,则计算设计路幅宽度)THEN PROG ”LK ”: (进入路宽程序计算出路幅宽度值)“BS=”:EP →P ◢(对路幅宽度代入±号以区分左右)“BL=”:?P: (是否对边距重新赋值,如路堑墙,即边距等于路幅宽度加上水沟宽度)IF END:(判断结束)"X=":S+PCos(W+90)→U ◢(显示边桩X坐标并赋值于变量U,可对90度进行调整,如斜交30度或其他,但是角度不分左右,即90度=-90度=270度)"Y=":T+PSin(W+90)→V (显示边桩Y坐标并赋值于变量V)PROG”GCJF”: (进入高程积分程序,计算设计高程)PROG”HP”: (进入横坡计算程序,计算横坡)“H=”:S+ABS(E)F→Q (显示计算点设计高程,设计高程加上横坡高差)➢2、文件名:“ZBFS”(坐标反算)"KI="?H:(输入假定桩号并赋值于变量H)"XI="?V:(输入反算点X坐标并赋值于变量V)"YI="?Y:(输入反算点Y坐标并赋值于变量Y)"HI="?Z:(输入反算点高程并赋值于变量Z)Lbl 0:(转移起点命令)Prog"SJK1":(进入数据库1中读取数据)Prog"JFCX":(进入积分程序进行运算)Pol(V-S,Y-T) →N:(将直角坐标转换为极坐标并将极经赋值于变量N)J→U:(将极角赋值于变量U。
注意:在Pol()函数中,计算生成的r值被自动赋值于I,θ值被赋值于J)NCos(U-W)→R:(计算假定桩号的偏差并赋值于变量R)Abs(R)≤0.001=>Goto 1:(判断语句,如果R的绝对值小于容许误差则程序跳转至Lbl 1处运行,否则将顺序运行)H+R+0.001→H:(对假定桩号H值重新赋值,此处增加的:“+0.001”是为了避免直线段计算中桩时出现Pol(0,0)的错误。
)Goto 0:(程序跳转入Lbl 0处重新开始运行)Lbl 1:(转移起点命令)"KI=":H ◢(显示解算出来的桩号)"BL=": NSin(U-W)→P◢(计算反算点至中桩距离并赋值于变量P,右为+) Prog"GCJF":(进入高程积分程序进行运算)PROG”LK”: (进入路宽程序,计算路幅宽度)IF P≥0: (如果反算边距大于0,即右幅)THEN “BL0=”:P-E→G◢(反算点距离右边线距离,+为超挖,-为欠挖) ELSE “BL0=”:ABS(P)-E→G◢(反算点距离左边线距离,+为超挖,-为欠挖) IF END: (判断结束)PROG “HP”: (进入横坡计算程序,计算反算点横坡)IF ABS(P)≤E: (如果反算点在路幅内,则计算该点挖填,反之则计算该点对应路幅边缘点挖填,并赋值于Q变量)THEN “ZI=”:(S+ABS(P)F)-Z→Q:ELSE “ZI=”:(S+ABS(E)F)-Z→Q:IF END (判断结束)➢3、文件名:“GCJF”(高程积分)Prog"SJK2":(进入数据库2调用数据)H-F→X:(计算水平距离并赋值于变量X)If D=0:(根据曲率判断直线或圆曲线)Then Abs(X÷C0S(90-C)) →X:(如果为直线则计算坡线长并赋值于变量X) Else COS(C) ÷Abs(D) →B:(如果为曲线,则开始计算弧长,具体参照第三节理解)Sin(C) ÷Abs(D) →E:(参照第三节理解)√((1÷D)2-(X-B)2)→G:(参照第三节理解)tan-1((G-E)÷X)→T:(参照第三节理解)πAbs(90-C-T)÷90÷Abs(D)→X:(计算出弧长并赋值于变量X)IfEnd:(条件判断结束)A+∫(Cos(C+D r X2),0,X)→S:(计算设计高程值并赋值于S)➢4、文件名:“PJFY”(坡脚放样)Prog"ZBFS"◢(执行坐标反算程序,并显示)PROG “LK”: (执行路宽程序)IF Q≥0: (如果为填方,则进入SJK6,调用下边坡数据)THEN PROG “SJK6”:ELSE IF Q<0 AND P<0: (如果为挖方,且在路左,则调用左侧上边坡数据) THEN PROG”SJK7”:ELSE PROG”SJK8”: (调用右侧上边坡数据)IF END: (第二判断结束)IF END: (第一判断结束)Abs(Q)≤B=>E+ Abs(Q)A→Z:(高差小于第1级坡高时,计算理论平距并赋值于变量Z)Abs(Q)≤(B+F)And Abs(Q)>B =>E+AB+C+ (Abs(Q)-B)D→Z:(高差小于第2级坡高时,计算理论平距并赋值于变量Z)Abs(Q)≤(B+F+L)And Abs(Q)>(B+F)=>E+AB+C+DF+G+ (Abs(Q)-B-F)K→Z:(高差小于第3级坡高时,计算理论平距并赋值于变量Z)Abs(Q)>(B+F+L)=>E+AB+C+DF+G+KL+M+ (Abs(Q)-B-F-L)N→Z:(高差大于第3级坡高时,计算理论平距并赋值于变量Z)"LI=":Z- Abs(P)(计算并显示坡脚点距假定点的距离,+为远离中线)➢5、文件名:“JFCX”(积分程序)(E-D)÷(G-F)→M:(计算线元曲率变化率并赋值于变量M)H-F→X:(计算点至线元起点距离并赋值于变量X。