5800公路坐标正反算程序

合集下载

非常好的5800坐标正反算程序

非常好的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公路坐标正反算程序

卡西欧5800公路坐标正反算程序

卡西欧5800公路坐标正反算程序卡西欧5800公路坐标正反算程序是一种用于测量和计算公路坐标的工具。

它基于卡西欧5800全站仪的技术和功能,能够准确地测量和计算公路的坐标信息。

下面我将详细介绍卡西欧5800公路坐标正反算程序的工作原理和使用方法。

一、工作原理:卡西欧5800全站仪是一种高精度的测量仪器,它能够通过测量角度和距离来确定地点的坐标。

在公路测量中,我们通常会在公路上设置一系列的控制点,然后使用全站仪测量这些控制点的坐标。

通过这些测量数据,我们可以计算出公路上其他点的坐标。

卡西欧5800公路坐标正反算程序基于这些测量数据,通过一系列的计算和算法,能够准确地计算出公路上其他点的坐标。

具体的计算方法包括正算和反算。

正算是指已知控制点的坐标,通过测量数据和算法计算出其他点的坐标。

反算是指已知某个点的坐标,通过测量数据和算法计算出该点在公路上的位置。

二、使用方法:1. 设置控制点:首先,在公路上选择一些具有代表性的控制点,并使用全站仪进行测量。

在测量过程中,需要确保全站仪的水平和垂直仪器准确,以获得准确的测量数据。

2. 导入测量数据:将测量数据导入卡西欧5800公路坐标正反算程序。

该程序通常会提供一个界面,用于导入和管理测量数据。

3. 正算:如果需要计算公路上其他点的坐标,可以选择正算功能。

在正算功能中,需要输入已知控制点的坐标和测量数据。

程序将根据这些数据进行计算,并给出其他点的坐标。

4. 反算:如果需要计算某个点在公路上的位置,可以选择反算功能。

在反算功能中,需要输入已知点的坐标和测量数据。

程序将根据这些数据进行计算,并给出该点在公路上的位置。

5. 结果输出:计算完成后,卡西欧5800公路坐标正反算程序将给出计算结果。

结果通常以表格或图形的形式呈现,以便用户查看和使用。

三、注意事项:1. 测量准确性:为了获得准确的测量结果,使用卡西欧5800全站仪时需要注意测量准确性。

在测量过程中,需要保持仪器的稳定和准确,并避免测量误差。

卡西欧5800计算器坐标正反算程序

卡西欧5800计算器坐标正反算程序

卡西欧5800计算器坐标正反算程序M = (1.0/Re-1.0/Rs)/Ls;x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L};y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L};a(i)= Ta +L/Rs + 0.5*M *L*LRs:缓和曲线起点半径Re:缓和曲线止点半径Rs,Re (NE坐标系下,右偏为正,左偏为负)Ta:缓和曲线起点的真北方位角Ls:不完整缓和曲线长度。

此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全适应缓和曲线左偏、右偏、Rs >Re 、Rs <="">Fx-5800计算机程序QXJS-000 主程序Lbl 4:“1.SZ=>NE”:“2.NE=>SZ”:?Q:?S:Prog“QXJS-SUB0”↙Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙Lbl 1:?Z:?G:Prog“QXJS-SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢: “Z=”:Z◢: Goto4↙QXJS-SUB0 数据库子程序Goto1↙同时保存多个曲线时的指针Lbl 1IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R:***→L: Return:IfEnd↙………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。

5800公路全线坐标正反算程序

5800公路全线坐标正反算程序

FX-5800公路全线坐标正反算程序1. 主程序(ZBJS)Lbl 4:"1.SZ => XY":"2.XY => SZ":?N:?S:Prog“SUB0”↙1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:N=1 => Goto1:Goto2↙Lbl 1:? Z:Abs(S-O) →W:Prog "SUB1":F-90→F:Cls↙"XS=":Locate 4,1,X:"YS=":Locate 4,2,Y:“FS=”:F▲DMS◢Goto 4↙Lbl 2:?X:?Y:X→I:Y→J:Prog“SUB2”:O+W→S:Cls ↙“S=”:Locate 4,1,S:“Z=”:Locate 4,2,Z◢Goto 42. 正算子程序(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+L WD))+Bcos(G+ QEFW(C+FWD))+Acos(G+QEMW(C+MWD))) →X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+ QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y 2. 反算子程序(SUB2)G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T) ) →W:0→Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)<1*10-6:Then Goto 1:Else W+Z→W:Goto0:IfEnd ↙Lbl 1:0→Z:Prog“SUB1”:(J-Y) ÷sin(F) →ZSUB0 数据库子程序Goto1↙同时保存多个曲线时的指针Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径):***→H(线元起点至终点长度):0或1、-1→Q(线元转角,左转为负,右转为正,直线为0):Return:IfEnd↙IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径):***→H(线元起点至终点长度):0或1、-1→Q(线元转角,左转为负,右转为正,直线为0):Return:IfEnd↙……………..坐标正算说明:1:运行主程序ZBJS,选择1.SZ=>XY(正算坐标)2.XY=>反算坐标。

CASIO5800坐标正反算计算程序

CASIO5800坐标正反算计算程序

CASIO 9860/5800 坐标正反算计算程序1. 坐标正算主程序(命名为ZBZS)第1 行:Lbl 0: ” K= K: ” BIAN=” Z: ” a =” B第2 行:Prog “ A”第3 行:” X仝:N+Zcos(F+B)丄第4 行:” 丫仝:E+Zsin(F+B)丄第5行:” F=” :F丄第6 行:Goto 0K――计算点的里程BIAN --- 计算点到中桩的距离(左负右正)a ---- 取前右夹角为正2. 坐标反算桩号和偏距主程序(命名为ZBFS)第1 行:” X1=” C: ” 丫1=” D: ” K1=” K第2 行:Lbl 0:Prog“A”第3 行:Pol(C-N,D-E)第4 行:List Ans[1]T I第5 行:List Ans[2]T J第6 行:Icos(F-J) T S:K+S T K第7 行:Abs(S)>=>Goto 0第8行:” K仁”:K丄第9 行:” BIAN=” :lsin(J-F)Z JX1——取样点的X坐标Y1——取样点的Y坐标K1――输入时为计算起始点(在线路内即可),输出时为反算点的桩号Z――偏距(左负右正)3. 计算坐标子程序(命名为XYF)为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1 行:K-A T S:(Q-P)- L T I第2N+/ (cos(F+X(2P+XI) X 90-n ),0,S) T N行:第3E+/ (sin(F+X(2P+XI) X 90-n ),0,S) T E行:第4F+S(2P+SI) X 90-nT F行:4. 数据库(命名为A)第1 行:K< =>Stop第2 行A: T N: T E:92 ° 26' 40 F:0 f P:1/240 f Q: f L:KC A+L =>GoTo 1 (第一缓和曲线,圆半径为240)第3 T A: T N:T E: 100 °50'"T F: 1/240 T P:1/240 T Q:T L: K C A+L =>Goto 1 (第圆曲线,半径为240)第4 T A: T N:T E: 118 °15'"T F: 1/240 T P: 0 T Q:f L: K C A+L =>Goto 1 (第二缓和曲线,圆半径为240)第5 T A: T N:T E:124 °50'"T F:0 T P:-1/180 T Q:T L:K C A+L=>Goto 1:Stop (第一缓和曲线,圆半径为180)第6 行:Lbl 1:Prog “ XYF”A――曲线段起点的里程N 曲线段起点的x坐标E 曲线段起点的y坐标F ---- 曲线段起点的坐标方位角P――曲线段起点的曲率(左负右正)Q曲线段终点的曲率(左负右正)L――曲线段长度(尽量使用长度,为计算断链方便)说明:(1 )在9860中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。

卡西欧5800公路坐标正反算程序

卡西欧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计算器全线坐标计算放样正反算程序

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

5800 坐标正算程序、坐标反算程序

5800 坐标正算程序、坐标反算程序

CASIO FX-5800 P坐标正算反算
坐标正算
Lbl 0: “X0=”?S:“Y0=”?K
“FWJ=”?F:“JL=”?D
“JSZB X=”:S+Dcos(F)→X◢
“JSZB Y=”:K+Dsin(F)→Y◢
Goto 0
坐标反算
Lbl 0:“X1=”?Z:“Y1=”?W
“X2=”?X:“Y2=”?Y
X-Z→A:Y-W→B
“JULI D”:√(A²+B²)→D◢“FWJ”:cos-1(A÷D) →J
IF B≥0:Then J→J:J►DMS◢
Else 360-J→J:J► DMS◢
IfEnd
Goto 0
坐标正算说明:
1.已知一个点的坐标X、Y,方位角和距离,计算未知点坐标
2.计算中桩是用靠近待求点的小里程的X、Y坐标,方位角,以及待求点到已知点的距离,
计算出待求点X、Y坐标
3.计算边桩坐标时,先求出待求点的坐标,然后输入待求点(要计算的里程)的X、Y坐
标,计算时距离输入永远为正值,左侧用计算里程方位角-90°,如果出现负值,则再加上360°(即方位角-90°+360°);右侧则直接用方位角+90°
坐标反算说明:
1.已知两个点的X、Y坐标,计算出两点间的距离和方位角
2.输入时先输入小里程的X、Y坐标再输入大里程方向的X、Y坐标,与先输入大里程后
输入小里程的坐标,计算结果为相反方向!。

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

坐标正反算程序
程序变量说明:
D:选线。

E、F:置仪点坐X、Y。

K:待算点桩号。

B:待算点距离。

Q:待算点与线路交角(以顺时针方向)L:线元起点至待算点长度。

0:待算点方位角。

S:线元长度。

U:线元起点半径。

V:线元终点半径。

X、Y:正算结果。

Z、计算序列。

C、I、J T:内部运算。

A、G、H、M、N、P、R、W未用变量。

ZB-
Deg:Norm 2
Z[1]T Z:”两个空格ZS=1 Or FS=2Z
If Z M 1 And Z M2:Then Cls:Locate 5,2,”NO 10r 2”:Locate 6,3 !Stop!”: Stop:Else Z Z[1]:lfEnd
Z[10]T D:四个空格XL T 1 T 2T3九个空格XL N=N”D
If D M 1 And D M 2 And D M 3:Then Cls:Locate 5,2,'XL r 1 T2T3”:Locate 5,3 !Stop!”: Stop: Else D T Z[9]: IfEnd
If D=Z[10]:The n Cls:Do:Locate 3,1,"[EXE] GO!GO!':Locate 8,2,9-I ntg(Z/7)
Locate 4,3,"10S T DAT":Locate 12,3,D:Isz Z:Z=70=>Goto 1:Lpwhile Getkey M 47:Goto 2:IfE nd
Lbl 1
D=1=>Prog” ”:D=2=>Prog” ”:D=3=>Prog” ”:D=X=>Prog‘
D T Z[7]:For 1 T Z To Z[7]-1
Cls: Locate 9,2,Z[7]-Z
Z[10Z+11]-Z[10Z+1]T L
Prog" TQSJ:Next
Lbl 2
Z[9] T Z[10]
Cls:Z[1]=2=>Prog”FS'
Z[2]T E: (X)=”E:E T Z[2]:Z[3] T F:”(Y)仝F:F T Z[3]:Prog ”ZS'
正算子程序1 ( ZS
Lbl 0:Norm 2
“0+000= ” K:”+Xm=”B:” a =”Q
0T Z:Prog TQSJ
Rec(B,O+Q)
X+I T X:Y+4 Y
Pol(X-Z[2],Y-Z[3])
Cls:Fix 3
X=”:Locate 5,1,X
Y=”:Locate 5,2,Y
=--=:Locate 5,3,I
=>< =":Locate 5,4,J°
Goto 0
数据调用子程序3(TQSJ)
If Z[10] M 0:Then Do:Isz Z:Lpwhile K> Z[10Z+1]:Dsz Z:K-Z[10Z+1T L:IfE nd
Z[10Z+2]-1T U
Z[10Z+3]T O
Z[10Z+4]T X
Z[10Z+5]T Y
Z[10Z+12]-1T V
Z[10Z+11]-Z[10Z+1]T S
Prog JS'
O+90L2(U-V)/( n S)-180UL/nT O
If Z[10] M 0:Then Return:IfEnd
O> 360=>O-360T O
O< 0=>O+360T O
O O T Z[10Z+13]
X T Z[10Z+14]
Y T Z[10Z+15] 反算子程序2 (FS
Lbl 0:Norm 2
Z[4]T E: Xp”E:Z[5]T F:”Yp”F:”k0+000m= ”K
K=0=>Z[1]T K:E T Z[4]: F T Z[5]
D O:0T Z:Prog" TQSJ Pol(Z[4]-X, Z[5]-Y)
Rec(I,O-J)
K+T K:Lpwhile Abs(I) >0. 01
Cls :Fix 3
ZH=":Locate 5,1,K jL=':Locate 5,2,J
Goto 0
坐标运算子程序4(JS)
If U M V:Then Abs(S/( U-V))T C
CU T D
(U-V)/Abs(U-V) T E
EL-D T F
F+D-(F5+D5)/(40C2)+(F9+D9)/(3456C4)T I (F3+D3)/(6C)-(F7+D7)/(336C3)+(F11+D11)/(42240C5)T J O-90ED/( n C)T C
X+Elcos(C)-Jsi n(C T X
Y+EIsi n( C)+Jcos(C>Y
Return:IfE nd
If UV=0:The n X+Lcos(O T X:Y+Lsi n(O T Y:Return:IfE nd
O-180LU/ nT C
X+(si n( O)-si n(C))/U T X
程序运行内容说明:开机运行程序后,1、进入GLZB-ZF宝程序,选择正算或反算,1为正算,2为反算。

2、选择线路,1为第线。

2为第线。

3为第线等等。

3、如果上一次计算过的话提示是不更新数线路参数,十秒钟不操作更新,按EXE不更新。

如果上一次不是计算现在要计算的线路的话直接更新数据库(数据库更新
会倒计时提示)。

3、正算。

提示入入置仪点坐标。

提示输入待算点桩号。

提示输入离中桩距离。

提示输入与线路方向夹角。

结果:坐标X、Y。

距置仪点距离和方位角。

再次提示输入待算点桩号。

反算。

提示输入实测点坐标X、Y。

结果:待算点桩号程距中桩距离。

再次提示输入实测点坐标X、Y。

程序特点:1、输入参数少,只要输入线路起点的桩号、半径、方位角、XY 坐标以及各线元的桩号和半径(左+右-直线x 1045)即可。

2、调用变量少,本程还有A、G、H、M、N、P、R、W字母变量未使用,可以用于其它程序而不会和本程序产生冲突。

3、数据库独立,更换工程时数据更换方便。

4、界面友好,尽量做到人人都容易上手,操作一学就会。

5、程序尽量运用5800计算器各种指令,使程序速度提高。

并能够起到帮助大家学习5800各指令工作原理,以便更好掌握编程。

相关文档
最新文档