FX5800计算器公路全线坐标正、反算计算程序

合集下载

5800曲线道路全线坐标正反算(已验证)

5800曲线道路全线坐标正反算(已验证)

CASIO fx-5800P线元法坐标正反算程序V2.0说明:本程序适用于卡西欧计算器 CASIO fx-5800P,可对全线贯通坐标正反算、竖曲线高程计算。

该程序可计算任意线型,包含(直线、圆曲线、缓和曲线、卵形曲线)等,还可以能通过坐标反推该点里程和距中线距离,适用测量员专用。

主程序名:ABCYT第1步Deg:Fix 3:10→DimZ第2步Lbl 3:"1.DK=>XY":"2.XY=>DK":"Q"?W:"K0+"?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:"E"?Z90=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:"E=":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数据库名: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—5800计算器 工程测量与公路测量程序

CASIO fx—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=〞?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:待求点里程。

5800计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序此处无法提供完整的程序,但是可以提供一些关于全线坐标计算放样正反算的基本知识。

全线坐标计算放样是指将一条曲线按照一定比例进行分割,然后计算每个分段的坐标值,最终得到完整曲线上每个点的坐标。

这个过程可以分为正算和反算两部分。

正算是根据曲线的起点、终点以及每个分段的长度,通过数学公式计算出每个分段末点的坐标,最终得到完整曲线上每个点的坐标。

反算则是根据给定的曲线上某个点的坐标,以及曲线起点到该点的距离,计算出该点在曲线上的位置。

在实际工作中,使用计算器进行全线坐标计算放样非常常见。

通常使用的计算器有5800和2000等型号,这些计算器都有相应的程序可以使用。

以下是大致的步骤:
正算步骤:
1. 选择“坐标计算放样”功能;
2. 输入曲线的起点坐标和终点坐标;
3. 输入曲线分段长度以及分段数量;
4. 计算每个分段的末点坐标;
5. 输出所有点的坐标。

反算步骤:
1. 选择“坐标计算放样”功能;
2. 输入曲线的起点坐标和终点坐标;
3. 输入参考点的坐标;
4. 输入参考点到曲线起点的距离;
5. 计算参考点在曲线上的位置;
6. 输出参考点在曲线上的坐标。

全线坐标计算放样是一项非常重要的工程测量工作,也是计算器的常见应用之一。

需要结合具体需求和计算器机型进行操作。

5800公路坐标正反算程序(线元法数据输入)

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各指令工作原理,以便更好掌握编程。

卡西欧fx-5800 坐标正算程序

卡西欧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公路全线坐标正反算程序

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=>反算坐标。

CASIO fx-5800计算器测量坐标程序

CASIO fx-5800计算器测量坐标程序

主程序坐标正反算程序名称:001XYLB1 A↙Cls : Fix 4 : 30→Dim Z :"v=1,v=0"?Z ↙If Z=1:Then Goto B:IfEnd↙(Z=1进入里程点坐标正算)If Z=0:Then Prog"FSLCBZ ": Goto A:IfEnd↙(Z=0进入反算里程边桩)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] :E →T: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↙"POINT=X"?X:" POINT=Y"?Y↙(输入任意测点的XY坐标):“K=”?K (试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)↙Lb1 2↙Prog"SJK1 ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"SJK1":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else IF Q<S: THEN K+Q→K: Goto 2 :Else IF Q>S :THEN K-Q→K:Goto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"W(-Z,Y+)=":I◢(偏距)(由于该程序不能准确判断边桩左右方向,暂作修改,取消左右边判定)"K=":K+S→K◢(里程)Return↙子程序坐标放样:ZBFYLB1 0 ↙"P(N)="?M:"P(E)="?N ↙“a=”?P◢(输入边桩与线路夹角,左-右+)“W=”?D◢(输入边桩距)Z[18]+D*COS(T+P) →Z[20] ↙Z[19]+D*SIN(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)Pol(Z[20]-M,Z[21]-N):"HD=":I◢(边桩放样距)J<0=>J+360→J:"HAR=":J→DMS◢(边桩放样方位角)Return↙直线短链要将该直线分成二条直线来对待编制数据库文件即可,曲线长链要单独建判定语句子程序并然后编制二个数据库(按来向里程和去向里程分别推出曲线起终点里程,以此编制曲线段的数据库)。

(坐标正反算5800[数据库版]

(坐标正反算5800[数据库版]

曲线任意里程中边桩坐标正反算及高程、隧道断面超欠挖程序(CASIO fx-5800P计算器)程序(加数据库版)1.正算主程序[KP-XY]"DK="?K:"PJ="?P:Prog"SJK""XS=":X+P cos(Z[4]+90)→X◢"YS=":Y+P sin(Z[4]+90)→Y◢"QX-FWJ=":Z[4]►DMS◢Prog"SQX":O→I:O→J:"XC="?A:"YC="?B:Pol(X-A,Y-B)J<0=>360+J→J"FWJ=":J►DMS◢"P=":I◢2.反算主程序[XY-KP]"DK="?K:"X:"?U:"Y:"?VLbl 0Prog"SJK":O→I:O→J:Pol(U-X,V-Y):J<0=>J+360→JIcos(J-Z[4])→Z[5]If Abs(Z[5])≥0.001:Then K+Z[5]→K:Goto 0Else Isin(J-Z[4])→P:Ifend"DK=":K◢"PJ=":P◢Prog"SQX"Return3.隧道超欠挖主程序[CQW]Prog"XY-KP":"Q="?QIf Q≥H+6.471:Then "X=":Abs(P)-√(4.26²-(Q-H-4.34)²)→X◢"Y=":Abs(Q-H-4.34)-√(4.26²-P²)→Y◢Eles If Q≥H+2.17:Then "X=":Abs(P)-(√(7.41²-(H+2.77-Q)²)-2.73)→X◢Eles If Q≥H-0.415:Then "X=":Abs(P)-(4.65-(H+2.17-Q)×0.22÷2.58)→X◢"Y=":H-0.42-Q→Y◢Eles If Q≥H-3.2:Then "Y(YG)=":(H+5.2-Q)-√(7.1²-P²)→Y◢IfEnd:IfEnd:IfEnd:IfEnd4.综合洞超欠挖主程序(ZHD)Prog"XY-KP":K-302480→D:"Q="?QIf Q≥H+4.8:Then "X=":Abs(D)-√(2.5²-(Q-H-4.8)²)→X◢"Y=":Abs(Q-H-4.8)-√(2.5²-D²)→Y◢Else If Q≥H:Then "X=":2.5-Abs(D)→X◢"Y=":H-Q→Y◢说明:302480综合洞里程,2.5半径,4.8总高度5.竖曲线主程序[SQX]0.003(6.984/1000)→I:0.006(-6.4/1000)→J:20000(15000)→R:301420(42350)→L:R Abs(I-J)÷2→Z[2]:RAbs(I-J)÷(I-J)→RIf K≤L-Z[2]:Then 0→Z:Else If K≥L+Z[2]:Then 0→Z:J→I:Else K-L+Z[2]→Z IfEnd:IfEnd"H=":200.621(164.958 )-I(L-K)-Z²÷2÷R→H◢说明:0.003前坡坡度,0.006后坡坡度,20000竖曲线半径,301420竖曲线交点里程,200.621竖曲线交点高程(有竖曲线使用考虑后的高程)0.003→I:0.006→J:0→R:301420→L:RAbs(I-J)÷2→Z[2]:RAbs(I-J)÷(I-J)→RIf K≤L-Z[2]:Then 0→Z:Else If K≥L+Z[2]:Then 0→Z:J→I:Else K-L+T→Z: IfEnd:IfEnd"H=":200.621-I(L-K)→H◢未有竖曲线6.数据库程序[SJK]4500(4500)→R:340(120)→G:157°25′52.55″(220.350722°)→Z:300412.156(43227.29)→F:-23°37′53.48″(6.23477)→O1→Z[1]: 0<0=>-1→Z[1]K-F→SIf S≤0:Then S→I:Z+180→J:Z→Z[4]:2953202.491(3678.283)+Icos(J)→X:497703.0998(1696.445)+Isin(J)→Y:Else If S≤G:Then 30Z[1]S²÷(πRG)→W:√((S-S^5÷(40R²G²))²+(S^3÷(6RG))²)→I:Z+W→J:Z+3W→Z[4]:2953202.491(3678.283)+Icos(J)→X:497703.0998(1696.445)+Isin(J)→Y:Else If S≤2196.015(622.3879)-G:Then S-G→S:90Z[1]S÷(πR)→W:2Rsin(Abs(W))→I:Z+90Z[1]G÷π÷R+W→J:J+W→Z[4]:2952890.216(3587.499)+Icos(J)→X:497837.5235(1617.971)+Isin(J)→Y:Else If S≤2196.015:Then 2196.015-S→S:30Z[1]S²÷(πRG)→W:√((S-S^5÷(40R²G²))²+(S^3÷(6RG))²)→I:Z+0+180-W→J:Z+0-3W→Z[4]:2951406.6187(3229.258)+Icos(J)→X:498932.0473(1266.092)+Isin(J)→Y:Else If S>2196.015:Then S-2196.015→I:Z+O→Z[4]:2951406.6187(3229.258)+Icos(Z[4])→X:498932.0473(1266.092)+Isin(Z[4])→Y:IfEnd:IfEnd:IfEnd:IfEnd:IfEndReturn说明:4500→R曲线半径,340→G缓和曲线长度,157°25′52.55″→Z线路方位角,-23°37′53.48″→O转向角(沿线路方向左负右正),300412.156→F直缓点里程(ZH),2953202.491,497703.0998沿线路方向直缓点坐标(ZH),2196.015曲线长度,2952890.216,497837.5235沿线路方向缓圆点坐标(HY),2951406.6187,498932.0473沿线路方向缓直点坐标(HZ)。

FX-5800计算器公路测量常用程序

FX-5800计算器公路测量常用程序

FX-5800计算器公路测量常用程序一、程序功能本程序由6个主程序、5个次子程序及5个参数子程序组成。

主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。

程序坐标计算适应于任何线型.二、源程序1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XYLb1 0:Norm 2F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量)Z[1]=90(与路线右边夹角)Prog"THB":F=1=>Goto 1:F=2=>Goto 2Lb1 1:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 02.主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:”H=”:Locate 6,4,H◢“I=”: Locate 6,4,I◢Goto 03.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:3JSX:Y:1268.123→K(置仪点X坐标)2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)Y-L→E:X-K→F:Pol(F,E):IF J<0: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:Then0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5] →G:Goto W:Else Z[5] →G:Goto T:LbI W:Prog “W0”:Z[10]+Z[11]→A: If G>A:Then Goto 1:Else If G>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z:LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:Goto Z:LbI 3:L+Z[12]+G×Z[7]:Goto z:LbI T:L+0.5→N:If G>Z[17]:Then (N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:GotoZ:Else (N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:”L0=”:L Locate 6,4,T◢"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢“TW=”: Locate 6,4,Z[5]◢Goto 06.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名:6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7.坐标计算次程序(THB)程序名:THB18→DimZ:"KM"?Z:Prog "X0"1÷P→C: (P-R)÷(2HPR) →S:180÷π→E:F=1=>Goto 1:F=2=>Goto 2←┘Lbl 1:?D: Abs(Z-O) →W:Prog "A":X:Y:Goto 3LbI 2:X:Y:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 3LbI 3:IF F=1Then X:Y:Else Z:D8. 正算子程序(A)程序名:A0.1184634425→A:0.2393143352→B:0.2844444444→N 0.046910077→K:0.2307653449→L:0.5→M: U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+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)W S))) →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+W S) →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:Goto0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:Then Q+LI+L2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:LbI I:H:I:11.高程超高计算程序(I)程序名:IProg”I0”:W=1=> Goto 0:W=2=>Goto 1:LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷L+M)→V:Goto2:IfEnd:LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:El seAbs(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。

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坐标,与先输入大里程后
输入小里程的坐标,计算结果为相反方向!。

fx-5800p全线坐标正反算带高程计算程序(线元法)

fx-5800p全线坐标正反算带高程计算程序(线元法)

曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能及原理1.功能说明:本程序由一个主程序(TYQXJS)和五个子程——正算子程序(SUB-ZS)、反算子程序(SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。

本程序在CASIO fx-5800P计算器运行。

2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。

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

卡西欧5800计算器的详细编程

卡西欧5800计算器的详细编程

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=〃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) →HLbl 1”END〃说明:QZHAO:曲中点里程,H+B:曲中点高程,I1:第一坡度,I2:第二坡度,R:半径,T:切线长,DQ:待求点里程。

卡西欧5800程序

卡西欧5800程序

卡西欧FX5800计算器公路测量全线中边桩正反算交点法程序修改版1.主程序:一般坐标计算及放样程序-----交点法程序名:1-JDLal 0:10→DimZ:Norm 2:1→A:"A: XY=1,KMD=2"? A:A=1=>Goto 1:A=2=>Goto 2: (选择正算还是反算)Lal 1:Lal A:Prog"QX": 90→B "PJ"?B:B→Z[1]: (默认与道路切线方向90度)Lal B:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K":?D:(输入正算计算里程,输入-1则停止,输入- 2转反算),偏距默认中桩0,左为-,右为+,)Porg"Z":I+Dcos(Z[2]+Z[1]→X:J+Dsin(Z[2]+Z[1]→Y:Fix 3:"X=":Locate 6,4,X: "Y=":Locate 6,4,Y: "FWJ"=:Locate 6,4,Z[2]◢(显示坐标,切线方位角)Prog “S-Z”: Prog “3-GC”: “H=”:H◢(高程计算并显示,如不需要高程此部分可以省略) Prog"5-SD":"-CW +QW=":M◢(隧道超欠挖,如不需要此部分可以省略)LpWhile Z≠-1(Goto B此处也可以用这个命令)Lal 2 Prog"QX": (选线,默认(线路1) X1=1,(线路2)X2=2.........)Lal C:Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: (反算时输入大概桩号,输入-1则停止,输入-2正算)Prog"K": "X0"?X: "Y0"?Y: Porg"B"Fix 3: "KM":Lcoate6,4,Z: "D=":Locate 6,4,D◢Prog “S-Z”: Prog “3-GC”: “H=”:H◢Prog"5-SD":"-CW +QW=":M◢LpWhile Z≠-1(Goto C此处也可以用这个命令)2.线路中线元段判别子程序(K)程序名:KIf Z[3]=0:Then Return: IfEnd:If Z[3]=1:Then Prog “X1”:Return:IfEnd:If Z[3]=2:Then Prog “X2”:Return:IfEnd:If Z[3]=n:Then Prog “Xn”:Return:IfEnd.....(后面可以增加N条线路!!但需要在QX程序里面"QX:?=0,X1=1,X2=2,Xn=n"做更改)。

FX-5800计算器公路测量常用程序

FX-5800计算器公路测量常用程序

日志[转]FX-5800计算器公路测量常用程序2012-3-1 18:25阅读(6)转载自℡承诺ヾ下一篇:工程造价大全;一... |返回日志列表•赞(2)•转载(163)•分享(18)•评论•复制地址•编辑一、程序功能本程序由6个主程序、5个次子程序及5个参数子程序组成。

主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。

程序坐标计算适应于任何线型.二、源程序1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XYLb1 0:Norm 2F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量)Z[1]=90(与路线右边夹角)Prog"THB":F=1=>Goto 1:F=2=>Goto 2Lb1 1:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 02.主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:” H=”:Locate 6,4,H◢“ I=”: Locate 6,4,I◢Goto 03.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:3JSX:Y:1268.123→K(置仪点X坐标)2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)Y-L→E:X-K→F:Pol(F,E):IF J<0:ThenJ+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:”FW J=”: Locate 6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)Fix 3:” S=”:Locate 6,4,I◢4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)程序名:4JH-XYLbI 0:Norm 290→Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量)1→F:Prog”THB”:?L:Z[2]-Z[1] →E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3: "X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:5FBXLbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog“THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5]→G:Goto W:Else Z[5] →G:Goto T:LbI W:Prog “W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else IfG>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z: LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:Goto Z:LbI 3:L+Z[12]+G×Z[7]:Goto z:LbI T:L+0.5→N:If G>Z[17]:Then(N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:Goto Z:Else(N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:” L0=”:L Locate 6,4,T◢"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢“ TW=”: Locate 6,4,Z[5]◢Goto 06.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名:6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7.坐标计算次程序(THB)程序名:THB18→DimZ:"KM"?Z:Prog "X0"1÷P→C: (P-R)÷(2HPR) →S:180÷π→E:F=1=>Goto 1:F=2=>Goto 2←┘Lbl 1:?D: Abs(Z-O) →W:Prog "A":X:Y:Goto 3LbI 2:X:Y:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 3 LbI 3:IF F=1Then X:Y:Else Z:D8. 正算子程序(A)程序名:A0.→A:0.→B:0.→N 0.→K:0.→L:0.5→M: U+W(Acos(G+QEKW(C+KW S))+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:ThenQ+LI→H:Goto 0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:ThenQ+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:ElseAbs(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:Then25900→O:11587.421→U:1847.983→V:101。

5800直线道路全线任意点坐标正反算(已优化)

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:每增加一行则为增加一个竖曲线要素。

fx5800p全线坐标正反算带高程计算程序线元法

fx5800p全线坐标正反算带高程计算程序线元法

曲线任意里程中边桩坐标正反算(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。

线路测量坐标正、反算原理及卡西欧5800计算器程序说明_secret..

线路测量坐标正、反算原理及卡西欧5800计算器程序说明_secret..

线路测量坐标正、反算计算原理 及卡西欧fx-5800P 程序说明一、计算原理在各测量书中对于坐标正算的相关计算式均有说明,故在此不做详解,仅对正算过程中需要用到的原理及公式做一汇总。

对于坐标反算,虽然都采用无限趋近原理进行计算,但计算方式各有差别,本文仅对其中一种自认为相对简单易懂并便于操作的原理进行详解。

1.1 坐标转换[1]如图1,设X P 、Y P 为P 点在国家控制网坐标系中的坐标;x P 、y P 为P 点在工程独立控制网坐标系中的坐标。

X O 、Y O 为工程独立坐标系原点o 在国家坐标系中的坐标,Δα为两坐标系纵坐标轴的交角。

如果一条边在国家坐标系中的坐标方位角为A ,而在工程独立坐标系中的坐标方位角为α,则:(1-1)当由工程独立坐标系坐标换算至国家坐标系坐标时,换算公式为:(1-2)当由国家坐标系坐标换算至工程独立坐标系坐标时,也可使用式(1-2),此时应将X 、Y 与x 、y 互换,且。

1.2 坐标方位角关系计算 1.2.1 正、反坐标方位角[2]一条直线的坐标方位角与直线的前进方向有关,沿直线前进方向的坐标方位角称为正坐标方位角,与其相反方向的坐标方位角称为反坐标方位角。

如图2,由于轴子午线之间是互相平行的,因此同一直线的正、反坐标方位角相差180°,即:(2-1)当时,取“+”号;当时,取“-”号。

1.2.2 坐标方位角的推算[3]1.2.2.1 转折角为右角如图3(a),为已知边坐标方位角,为推算边的坐标方位角,为该两边所夹的右角,则:(2-2)1.2.2.2 转折角为左角如图3(b),为已知边坐标方位角,为推算边的坐标方位角,(2-3)无论用右角还是左角推算,如遇出现负数的情形,应加上。

当推算出的坐标方位角超过,则应减去。

如果已知导线起始边的坐标方位角和导线各右角或左角时,可直接用以下公式计算第n边的坐标方位角:按右角:(2-4)按左角:(2-5)1.3基本曲线要素及坐标计算各类测量书均对曲线要素及坐标计算有详细推到过程,此处仅列出计算公式,便于程序编制说明。

公路工程坐标正反算原理及5800计算器程序

公路工程坐标正反算原理及5800计算器程序

0年11月14日目录一、坐标正算基本公式...............................................................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)0年11月14日CASIO 5800计算器公路工程测量程序一、正算所涉及的计算公式XR id XαβBd Yd ld βI图表 1在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标点。

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

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、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。

5、此程序显示较直观,结果在同一屏幕显示。

注* :程序中乘号用*标示,其余为X。

5800全线任意点设计高程计算,可计算竖曲线范围内外任意点的设计高程!“BPDZH=”?Z:“GC=”?H:“R=”?R:“I1=”? I:“I2=”?L :“T=”:0.005RAbs(I -L) →T◢“E=”: T2÷2÷R◢Lbl 0:“JZZH=”?→K:Z-T→A:Z+T→B:K-A→C:B-K→D:K-Z→E←┘If L >I:Then 1→J:Else -1→J:IfEnd←┘If KB =>0→D: IfEnd←┘If K≦Z:Then I→Y:C→G:Else K >Z=>L→Y:D→G: IfEnd←┘Lbl 1:Fix 3:“H=”:H+EY÷100+JG2÷2÷R◢Goto 0←┘说明:BPDZH:前变坡点桩号用变量Z表示H:前变坡点高程R:半径I L:前后纵坡值输入格式:6.1%输入6.1,有负号的要输入负号T:切线长 E:竖距JZZH:待求点设计高程的桩号用变量K表示Fix 3:计算结果保留3位小数5800计算器公路全线坐标正、反算计算程序正算主程序(ZS)Lb1 0FIX4:?S:?Z:Prog “PM-SJ”: Abs(S-O) → W:Prog "SUB1": "XS=":X◢"YS=":Y◢F-90→F(需要时可以让他显示,不要时不必输入):Prog“SQX-SJ”: Prog“SQX”:“H=”:H◢Goto 0反算主程序(FS)正算子程序(SUB1): (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+M WD))) → X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+M WD))) → Y: G+QE W(C+WD)+90→ F:X+ZcosF→ X:Y+ZsinF→ Y反算子程序(SUB2):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←┘:0→ Z:Prog "SUB1": (J-Y)÷sinF→ Z子程序(平面线形数据库)PM-SJ 1÷P→ CG-90→TLbl 1ifS ≥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。

相关文档
最新文档