5800简单全线坐标计算程序
5800全线直曲计算程序通用

5800全线直曲计算程序通用经实践在5800上可行,反算运行时间就是慢点有4秒左右才出结果。
5800测量程序加入了数据库,综合了网上的一些而成。
非本人原创,希望能与广大朋友交流。
5800坐标正反程序(加入了数据库) 1. 主程序(TYQXJS)Lbl 4:"1.SZ => XY":"2.XY => SZ":?N:?S:Prog“SUB0”↙1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1:Goto2:↙Lbl 1:? Z:Abs(S-O) →W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F:“FS=”:F▲DMS◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog“SUB2”:O+W→S:“S=”:S◢“Z=”:Z◢Goto4↙2. 正算子程序(SUB1)0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M↙U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+ Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+B sin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y2. 反算子程序(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)<0.000001:Then0→Z:Prog "SUB1" :(J-Y)÷sin(F)→Z Else W+Z→W:Goto4:IfEndSUB0 数据库子程序Goto1↙同时保存多个曲线时的指针Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd ……………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。
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=″?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交点法全线计算程序及其说明

FX5800 计算器交点法正反算程序输入图纸中的整个标段交点要素,输入桩号及距中桩距离正算本标段任意点坐标,及极坐标放样的方位角及距离;由输入大概桩号及实测坐标,反算准确桩号及距中桩距离。
1、主程序程序名:JDF-ZCXLbI 0:7→DimZ:Norm 2:1→A:"ZS=1,FS=2"?A:A=1=>Goto 1:A=2=>Goto 2LbI 1:Z[4] → K:Z[5] →L:“CZ-X”?K:” CZ-Y”?L:K→Z[4]:L→Z[5]:LbI A:Prog"JDF-XLXZ":90→ B: "P-JIAO"?B:B → Z[1] :LbI B: "K"?Z:Z=-1=>Goto0:Z=-2=>Goto A: Prog"JDF-YL-SJK":"P-JU"?D: Prog "JDF-ZS":I+D×COS(Z[2]+Z[1]→X: J+D×Sin(Z[2]+Z[1]→Y: Fix 3:"X=":Locate 6,4,X:"Y=":Locate 6,4,Y:Prog"JDF-JZBFY":Goto BLbI 2:Prog"JDF-XLXZ":"K"?Z:LbI C: Prog"JDF-YL-SJK": "X0"?X:X=-1=>Goto 0:X=-2=>Goto 2: "Y0"?Y:Prog "JDF-FS": Fix3:"KM=":Locate 6,4,Z:"D=":Locate 6,4,D:Goto C2. 交点法正算子程序程序名:JDF-ZSH2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R÷Sin(Abs(P))-((H∧(4)-N∧(4))÷2688÷R∧(3))÷Sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B -E→T:P÷Abs(P→W:0→M:H→C: (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:Then Z-O→S:G→Z[2]:Goto 1:IfEnd:If Z≤O-T+H:Then Z-O+T→S:Prog“JDF-HHQX”:G+WK→Z[2]:A-T→A:G→E:Goto2: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+Rs in(S)→A:R→M:G+WS→Z[2]: A-T→A:G→E :Goto 2:IfEnd:If Z≤Z[7]+N:Then Z[7]+N-Z→S:Z[6]→T :N→H:Prog “JDF-HHQX”: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. 交点法缓和段子程序程序名:JDF-HHQXS-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. 交点法反算子程序程序名:JDF-FS0→D:Do(语法):Z+D→Z:Prog“JDF-ZS”: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→D5.线路选择子程序程序名:JDF-XLXZ1→A:” SHURU=0,SJK =1”?A:A→Z[3]:If A=0:Then ”JDKM”?O:”X”?U:”Y”?V:”FW J”?G:”LS1”?H:“LS2”?N:“ZHUAN-JIAO”?P:“BAN-JIN”?R:IfEnd6.坐标计算参数矩阵调出子程序程序名:JDF-JZMat F[1,1]→O: Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G: Mat F[1,5]→H: Mat F[1,6]→N: Mat F[1,7]→P: Mat F[1,8]→R7:极坐放样计算程序(计算放样点至置仪点方位角及距离) 程序名:JDF-JZBFYZ[4]→K:Z[5]→L:Pol(X-K, Y-L+.0000000001): J<0=>J+360→J: Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:Fix 4:” FWJ=”: Locate 6,4,J:Fix 3:” JL=”:Locate 6,4,I◢8.数据子程序程序名:JDF-YL-SJKZ[3]=0=>Return:Z[3]=1=>Goto 1LbI 1If Z≤122269.856:Then [[121656.952, 2603848.019,508351.147, 98°53′22.6″,660,300,41°47′44.1″, 1415.097]]→Mat F: Prog”JDF- JZ”: Return: IfEnd:If Z≤125115.900:Then [[123984.982, 2601974.464, 509885.441, 140°41′06.8″,700,400, -39°31′43.7″,2800.000]]→Mat F: Prog” JDF- JZ”: Return:IfEnd:If Z≤396.166:Then [[213.698, 2600569.493, 514256.323, 238°49′17.1″,107.584,120.474, 64°39′40″, 250]]→Mat F: Prog” JDF- JZ”: Return: IfEnd:说明:If Z ≤交点HZ 点桩号(或者直线段桩号:Then [[交点桩号,交点X 坐标,交点Y 坐标,前交点至止交点方位角,交点前段缓和曲线长度,交点后段缓和曲线长度,交点转角,圆半径]]→Mat F: Prog”JDF- JZ”: Return: IfEnd:注:转角分正负,左偏为负,右偏为正.加粗O 为子母..Z[2]值为所计算点切线方位角。
5800全线坐标正算

GAUSSLE坐标正反算fx-4850程序源程序1、正算主程序 ZBZS“K”?K:“L(-Z +Y)”?L:90→M:(注:此处若不给M赋值,则可计算斜交点)Prog”DAT”: (P-R)÷(2(H-O)PR) →DAbs(K-O) →J:Prog“SUB1”“X=”:X ◢“Y=”: Y◢2、正算子程序 SUB14→Dimz0.1184634425→A: 0.2393143352→B: 0.2844444444→Z[4]: 0.0469100770→C: 0.2307653449→E: 0.5→Z[1]I+J(Acos(G+QCJ(1÷P+CJD)×180÷π)+Bcos(G+QEJ(1÷P+EJD)×180÷π)+Z[4 ]cos(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bcos(G+Q(1-E)J(1÷P+(1-E)JD)×18 0÷π)+Acos(G+Q (1-C)J(1÷P+(1-C)JD) ×180÷π)) →XS+J(Asin(G+QCJ(1÷P+CJD)×180÷π)+Bsin(G+QEJ(1÷P+EJD)×180÷π)+Z[4 ]sin(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bsin(G+Q(1-E)J(1÷P+(1-E)JD)×18 0÷π)+Asin(G+Q (1-C)J(1÷P+(1-C)JD) ×180÷π)) →YG+QJ(1÷P+JD) ×180÷π+M→F: X+LcosF→X: Y+LsinF→Y3. 曲线元要素数据库:DATIf K<本段曲线终点桩号:Then本段线元起点的X坐标→I:本段线元起点的Y 坐标→S:本段线元起点里程→O:本段线元起点切线方位角→G:本段线元终点里程→H:本段线元起点曲率半径→P:本段线元终点曲率半径→R:本段线元左右偏标志→Q:Else If K<二段曲线终点桩号:Then二段线元起点的X坐标→I:二段线元起点的Y坐标→S:二段线元起点里程→O:二段线元起点切线方位角→G:二段线元终点里程→H:二段线元起点曲率半径→P:二段线元终点曲率半径→R:二段线元左右偏标志→Q:…………(注:如有多个曲线元要素继续添加入数据库DAT-M中,下划线的要输数据)I=线元起点的X坐标:S=线元起点的Y坐标:O=线元起点里程:G=线元起点切线方位角:H=线元终点里程:P=线元起点曲率半径:R=线元止点曲率半径:Q=线元左右偏标志(注:如有多个曲线元要素继续添加入数据库DAT中)说明: K ?正算时所求点的里程:L ?正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零): X ?反算时所求点的X坐标: Y ?反算时所求点的Y坐标: M ? 斜交右角说明:一、程序功能及原理1.功能说明:本程序由两个主程序——正算主程序(GSZS)、反算主程序(GSFS)和两个子程——正算子程序(SUB1)、线元数据库(DAT-M)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、终点里程、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
5800计算器全线坐标计算放样正反算(定稿)

5800计算器全线坐标计算放样正反算(定稿)程序名称:ZHOUSHUNXINLb1 A↙Cls : Norm 1: 22→Dim Z: 0→Z:“0=ZS”:“1=FS”?Z ↙If Z=0:Then Goto B:IfEnd↙(Z=0进入里程点坐标正算)If Z=1:Then Prog“FSBZ ”: Goto A:IfEnd↙(Z=1进入反算里程边桩)Lb1 B ↙“X h=”?M(置镜点X):“Y h=”?N(置镜点Y):“X°=”?G(后视点X):“Y°=”?L(后视点Y): Pol(G-M,L-N):J<0=>J+360→J:“J=”:J→DMS◢(后视方位角)Fix 4:“I(m)=”:I(后视距)◢Norm 1:90→P:“Z°=”?P:(输入边桩与线路夹角)“X,Y(≠0=1)”?Z↙Lb1 C↙Norm 1:“K=”?K :(计算里程)“B(-L,+R)=”?D:(输入边桩距,左-右+)Prog“SJK ”:Prog“ZSFS”:Goto C↙子程序数据库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 :Prog”ZBJS”:Return: I fEnd↙IF…………Prog”ZBJS”:Return:I fEnd(曲线段分段输入)↙补充直线段输入如下(单独直线段)If K<本段直线终点里程And K≥本段直线起点里程:Then 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E:Z[16]+ (K- Z[3])*Cos E→Z[21]:Z[17]+ (K- Z[3])*Sin E→Z[22] : Return:IfEnd ↙子程序坐标正算,名称:ZBJSLb1 0 ↙(曲线要素计算)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])→S↙(曲线总长)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]↙(切线T 1)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]- S→Z[3] ↙(ZH点里程)Z[3]+ Z[6]→Z[4] ↙(HY点里程)Z[1]- Z[7]→Z[5] ↙(YH点里程)Goto 1 ↙Lb1 1 ↙(判断里程点与曲线关系)If K≤Z[3] A nd K> Z[2] : Then Goto 2 : IfEnd ↙If K≤Z[4] A nd K> Z[3] : Then Goto 3 : IfEnd ↙If K≤Z[5] A nd K> Z[4] : Then Goto 4 : IfEnd↙If K≤Z[1] A nd K> Z[5] : Then Goto 5 : IfEnd ↙Lb1 2 ↙(里程小于直缓点直线独立坐标)K- Z[3] →Z[18] : 0→Z[19] : E→T : Goto 6↙Lb1 3 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →Z[18] ↙H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Z[19] ↙90*H^2/( R*π* Z[6]) →T ↙If O>0 :Then T +E→T : E lse E-T →T : T<0=>360+T→T :IfEnd ↙Goto 6 ↙Lb1 4 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*Sin T+ Z[8]→Z[18] ↙R*(1-Cos T)+ Z[10]→Z[19] ↙If O>0 :Then T +E→T : E lse E-T →T : T<0=>360+T→T : IfEnd ↙Goto 6 ↙Lb1 5 ↙(第二缓和曲线独立坐标)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[18] ↙Z[13]*Sin A-U*Sin A+V*Cos A→Z[19] ↙If O>0 :Then F-T→T : T<0=>360+T→T : E lse F+T →T : IfEnd ↙Goto 6 ↙Lb1 6 ↙If O<0 : Then - Z[19]→Z[19] : I fEnd ↙Z[16]+Z[18]*Cos E-Z[19]*Sin E→Z[21]↙Z[17]+Z[18]*Sin E+Z[19]*Cos E→Z[22]↙ReTurn↙子程序反算里程边桩,名称:FSBZLb1 0↙“XK=”?X:“YK=”?Y(输入任意测点的XY坐标):“K=”?K (试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)↙Lb1 1↙Prog”SJK”:T-90 →W:W<0=>360+W→W:Abs((Y-Z[22])*Cos W-(X -Z[21])*Sin W)→S↙If S<0.0001:Then Goto 3:Else Goto 2:IfEnd↙Lb1 2↙K+S→K: Prog"SJK”:T-90 →W:W<0=>360+W→W:Abs((Y-Z[22])* Cos W-(X-Z[21])*Sin W)→Q↙If Q<0.0001 :Then Q→S: Goto 3:Else I f Q<S: Then K+Q→K: Goto 1 :Else If Q>S :Then K-Q→K:Goto 1:If End:IfEnd: IfEnd↙Lb1 3↙Pol (X-Z[21],Y-Z[22])↙(Y-Z[22])Cos(T) - (X-Z[21]) Sin(T) →D↙“K=”:K+S→K◢(里程)↙“B(-L+R)=”:D◢(偏距)↙Return↙子程序坐标放样:ZSFSLb1 0 ↙“QXJ=” :T◢(计算里程点切线方位角,可以不显示)Z[21]+D*Cos(T+P) →X↙Z[22]+D*Sin(T+P) →Y↙If Z=1 :Then Cls:“X N=”:“Y E=”:Locate 4,1,X:Locate 4,2, Y ◢IfEnd ↙Pol(X-M,Y-N):J<0=>J+360→J:“J=”:J→DMS◢(桩放样方位角)Fix 4 :“I(m)=”:I◢(桩放样距)Return↙1、坐标正算XY“0=ZS”:“1=FS”?Z: Z=0=>Goto 0: Z=1=>Goto 2↙Lb1 0: “Xh=”?M:“Yh=”?N↙Lb1 1:Norm 1:“XN=”?X:“YE=”?Y↙Pol(X-M,Y-N):J<0=>J+360→J :“J=”:J DMS◢Fix 4 :“I(m)=”:I ◢Goto 1↙2、坐标反算说明:Xh Yh:已知点坐标,J:方位角,I:两点的距离Goto 2 “Xh=”?M:“Yh=”?N↙Goto 3 “J°=”?J :“I(m)=”?I↙M+ICos(J)→X:N+ISin(J)→Y↙Cls:“X N=”:“Y E=”:Locate 4,1,X: (待求点的X坐标)Locate 4,2, Y ◢(待求点的Y坐标)Goto 3↙说明:Xh,Yh:第一点的坐标,XN,YE第二点的坐标,J:方位角I:两点距离Y线路起点0+00坐标X=4266763.294 Y=385874.5564 方位角58-39-38JD1=17.794 坐标X=4266772.549 Y=385889.7545 方位角58-39-38a y=5-39-31.8 R=270 ZH=0 HY=0QZ=0YH=0 HZ=53.333 LH1=0 LH2=53.333 TH1=17.794TH2=35.574 LH=53.333 EH=0.5857 JH=0.035缓和曲线参数1=0缓和曲线参数2=120.000JD2=245.911 坐标X=4266871.419 Y=386095.37 方位角64-19-09.8a Z=91-35-49.4 R=155 ZH=53.333 HY=117.85 QZ= 201.549 YH=285.249 HZ=343.744 LH1=64.516 LH2=58.495 TH1=192.578TH2=170.815 LH=290.4104 EH=68.808 JH=72.982 缓和曲线参数1=100 缓和曲线参数2=160JD3=500.834坐标X=4267162.86 Y=385945.0901 方位角332-43-20.4a Z=66-15-05.9 R=240 ZH=0 HY=343.744 QZ= 469.897YH=596.050 HZ=646.466 LH1=0 LH2=50.417 TH1=157.000TH2=181.613 LH=302.7226 EH=46.84 JH=35.981 缓和曲线参数1=0 缓和曲线参数2=50.417JD4=726.038坐标X=4267146.782 Y=385684.4008 方位角266-28-14.5a Y= 37-20-03.5 R=160 ZH=646.466 HY=697.091 QZ= 723.907 YH=750.907 HZ=801.348 LH(缓和曲线长度) =50.625 TH=79.572LH=302.7226 EH=46.84 JH=35.981 缓和曲线参数90线路终点1+358.861坐标X=4267501.234 Y=385155.025 方位角303-48-18If K<53.333And K≥0.000:T hen 53.333 →Z[1] :0.000 →Z[2]:1→O:270→R:0→Z[6]: 53.333 →Z[7]: 4266772.549 →B:385889.7545→C:58-39-38 →E:64-19-09.8 →F: Goto 2: IfEndIf K<343.744And K≥53.333:T hen 373.744→Z[1]:53.333→Z[2]:-1→O:155→R:64.516→Z[6]:58.495→Z[7]:4266871.419→B:386095.37→C:64-19-09.8→E:332-43-20.4→F:G ot o 2:IfEndIf K<646.466And K≥343.744:T hen 646.466→Z[1]:343.744→Z[2]:-1→O: 240 → R:0→Z[6] :50.417→Z[7]:4267162.86→B:385945.0901→C:332-43-20.4→E:266-28-14.5→F: Goto 2:IfEndIf K<801.348And K≥646.466:T hen 801.348→Z[1]:646.466→Z[2]:-1→O:160→R: 50.625→Z[6]:50.625→Z[7]:4267146.782→B:385684.4008→C:266-28-14.5→E:303-48-18→F:G oto 2:IfEndIf K<1358.861And K≥801.348:T hen 1358.861→Z[1]:801.348→Z[2]:-0→O:0→R:0.001→Z[6]:0.001→Z[7]:4267501.234→B:385155.025→C:303-48-18→E:303-48-18→F:G oto 2:IfEndPol (X-Z[18],Y-Z[19]:J<0=>J+360→J:(J-T)<0=>-I→I↙"DP(-Z+Y)=":I◢(偏距,-左+右)在反算这个判定中我感觉这个公式好像不够严密啊,但又不知从何改起请楼主再仔细看下因为当j为0到90度时,路线偏距是往右这样T正好是为270到360度范围,此时T 是比J大,按你的公式判断出来却是往左的。
5800程序(线元法全线坐标正方算)

5800程序(线元法全线坐标正方算)本程序比较复杂.测量原理不是很明白的朋友慎用请大家经常关注程序B-H的更新2009,5,10日修改见超高子程序B-H黄色部分,另超高数据库增加在超高缓和段输入超高为公路外侧超高说明2009,5,8日正反算选择程序:ZS-FS 更改小错,详见紫色修改内容2009,4,30日更改如下:把原来的4个子程序分解成5个子程序,解决了一个大的竖曲线不能包含几个超高变化段,另外程序内也有两处改变请看红色区域.本程序经过综合考虑5800的设计缺陷,计算速度较慢故只使用高斯四节点法为计算内核.支持多条线路正反算,中桩,边桩高程计算,超高计算,超高缓和计算,加宽计算,加宽缓和计算,边坡开口线计算,挡土墙坡脚线计算,考虑了中间绿化带的影响,适用与国家高速公路至乡村四级公路计算和放样,路基路面工程可以直接得出中边桩的设计三维坐标,去掉加宽和超高影响的计算困难,边坡和坡脚线计算可直接在边坡上提取坐标带入程序,经过所有设计因素的综合,得出更改边距并显示修改偏差后的坐标.反算速度明显提高,只需要3秒.程序无错,可放心输入,另本程序可以增加隧道超欠挖计算子程序,非常方便,因为每个隧道的断面数据不一样,所以在此没有明确写出,有需要的可以联系我.本人QQ76805071,只为交友.计算器主程序:ZHU-CHENG-XULbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。
”?U:U=1=>Prog”ZS-FS”:进入公路三维程序U=2=>Porg”ZS”:进入坐标正算程序U=3=>Porg”FS”:进入坐标反算程序U=4=>Porg”XY =>SG”:进入大地坐标转施工坐标程序…………Goto0:说明:计算器总的主程序,进入选择各种分支计算程序。
1为公路三维计算,2为普通正算,3为普通反算,4为大地坐标转施工坐标。
选择错误重新选择。
此程序可以不用输入,只为给大家一个思路,可以把计算器所有程序集中到一个主程序内管理.公路三维部分正反算选择程序:ZS-FSDeg: //设置角度模式20→DimZ: //扩展变量“1LZ=>XY,2XY=>LZ,3BIANPO-FY”?U://正反算选择,正算选1,反算选2,坡口坡脚选3If U=1: ThenProg”ZS-XH”:IfEnd://进入正算循环主程序IfU=2:Then Prog”FS-XH”:IfEnd: //进入反算循环主程序IfU=3:ThenProg”BP-FY”:IfEnd://进入边坡开挖主程序正算循环主体程序ZS-XH“1PT-2SJ”?W://普通计算和设计边距计算选择“XL-XZ“?U://选择线路1~NIf W=1: Then //运行普通计算模式边踞自由输入Lbi0:”L=”?L:”Z=”?Z: //输入桩号和边距Porg”ZS-XH-1“:Goto0:IfEnd: //运行正算循环子程序If W=2:Then //运行设计计算模式边距按设计输入Lbi1:”L=”? L: //输入桩号Porg”0。
5800简单全线坐标计算程序
5800全线任意坐标计算程序1. 正算主程序(ZHCX) (不运行)8→DimZ1÷P→Z[4 ]:(P-R)÷(2HPR)→D: 180÷π→E“Z=”?Z:”YJJ=”?A:Abs(S-O)→W0.26→Z[1 ]: 0.74→B: 0.02→K: 0.82→Z[3 ]: 1-Z[3 ]→F:1-K→Z[2 ]U+W(Z[1 ]cos(G+QEKW(Z[4 ]+KWD))+Bcos(G+Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+Bcos(G+QEFW (Z[4 ]+FWD))+ Z[1 ]cos(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→X:V+W(Z[1 ] sin (G+QEKW(Z[4 ]+KWD))+B sin(G+ Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+B sin(G+QEFW (Z[4 ]+FWD))+ Z[1 ] sin(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→Y:G+QEW(Z[4 ]+WD)→F:X+Zcos(F+A)→X:Y+Zsin(F+A)→Y:If F≧360:Then F-360→F:IfEnd”X=”:X→X◢”Y=”:Y→Y◢If F﹤0:Then F+360→F:IfEnd”QX FWJ=”:F▼DMS◢“C=1=>XX: C=2=>XZ”: ”C=”?C: ”QHJU=”?L: If C=1:Then Goto 1:Else Goto 2: IfEnd 可以计算斜交斜做或斜交正做的桥涵坐标Lbi 1X+L cos(F)→X:Y+Lsin(F)→Y: Goto 3Lbi 2X+L cos(F+A-90)→X:Y+Lsin(F+A-90)→Y: Goto 3Lbi 3“QH-X=”: X →X◢“QH-Y=”: Y →Y◢Prog “FY”2 . 参数子程序(直接运行)M(主线) 一条线路一个名称“S=”?SIf S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd……If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEndLbi 1Prog “ZBJS”3. 放样程序(FY)(不运行)“X0=”?M:“Y0=”?NPol((X-M, Y-N)If J﹤0:Then J+360→J:IfEnd“FWJ=”:J▲DMS◢“JU-LI=”:I◢说明:一、程序功能及原理1.功能说明:本程序由一个主程序和两个子程——正算主程序(ZH)、参数子程序(M)、放样程序(FY),可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径、左偏或右偏)及里程边距或坐标,对该线元段范围内任意里程中边桩坐标进行正算。
卡西欧5800测量坐标计算程序
一.使用说明:1.规定:(1)以道路中线的前进方向区分线路的左右偏转方向,线路左偏Q=-1,线路右偏Q=1,直线Q=0。
(2)当所求点位于线路中线时,Z=0;当位于左侧时,Z取负值;当位于右侧时,Z取正值。
(3)当线元为直线时,其起终点的曲率半径为无穷大,取10的45次方代替。
(4)当线元为圆曲线时,起终点曲率半径为圆曲线半径。
(5)当线元为缓和曲线时,起终点曲率半径与直线相接取10的45次方代替,与圆曲线相接取圆曲线半径。
2.输入与显示说明:(1)输入部分:N?:选择计算方式,输入1表示由里程边距计算坐标,输入2表示由坐标计算里程边距。
X0?线元起点X坐标。
Y0?线元起点Y坐标。
S0?线元起点里程。
F0?线元起点切线方位角。
LS?线元长度。
R0?线元起点曲率半径。
RN?线元终点曲率半径。
Q?线元左右偏标志(左偏=-1,右偏=1,直线=0)S?正算时所求点里程。
Z?正算时所求点距中线边距。
位于线路左侧输入负值,在右侧输入正值。
AR?斜交角度。
(为线路右角,在0-180度之间)X?反算时所求点X坐标。
Y?反算时所求点Y坐标。
(2)显示部分:XS=计算结果,所求点X坐标。
YS=计算结果,所求点Y坐标。
FS=计算结果,所求点切线方位角。
S=计算结果,反算时所求点里程Z=计算结果,反算时所求点边距。
二.程序清单1(用于任意曲线元的坐标计算)1.主程序(TYQXJS)″1.SZ=>XY″:″2.XY=>SZ″:?N:″X0″?U:″Y0″?V:″S0″?O: ″F0″?G:″LS″?H:″R0″?P:″RN″?R:?Q:1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E:If N=1: THEN Goto 1:Else Goto 2:IfEnd:Lbl 1:?S:”D(Z-,Y+)=”?Z:90→T:”O=”?T:Abs(S-O) →W:Prog ″SUB1″:″XS″:X◢″YS″:Y◢″FS″:F◢Goto 1:Lbl 2:?X:?Y:I→X:J→Y:Prog ″SUB2″:″S″:O+W→S:◢″Z″:Z◢Goto 22.正算子程序(SUB1)0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD))) →X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD) →F:X+Zcos(F+T) →X:Y+Zsin(F+T) →Y3.反算子程序(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)<1E-6 :Then Goto 1:Else W+Z→W:Goto 0 : IfEnd:Lbl 1:0→Z:Prog ″SUB1″:(J-Y)÷sin(F)→Z 三.用于提前将曲线元要素输入子程序,计算时只输入里程桩号与边距。
卡西欧5800完整程序
卡西欧5800计算程序(请仔细核对)(程序输完毕后记得先在普通模式扩展变量,输入:35→Dimz,按EXE键,出现Done,扩展成功)ZHYHZ(不运行,该程序为主线坐标的计算程序)E2÷24÷R→Z[1]: E÷2-E^(3)÷(240R2) →Z[2]: F2÷24÷R→Z[3]: F÷2-F^3÷(240R2) →Z[4]: (R+Z[1])tan(H÷2)+Z[2]-(Z[1]-Z[3])÷sin (H)→Z[5]: (R+Z[3])tan (H÷2)+Z[4]+(Z[1]-Z[3])÷sin (H)→Z[6]: tan-1 ((R+Z[1])÷(Z[5]-Z[2]))→ Z[7]: tan-1 ((R+Z[3])÷(Z[6]-Z[4])) →Z[8]: E÷R×90°÷π→Z[9]: F÷R×90°÷π→Z[10]: G+DH→Z[11]: A-Z[5]→Z[12]: Z[12]+E→Z[13]: Z[13]+( 90°-Z[7]-Z[9])Rπ÷180°→Z[14]: Z[13]+(H-Z[9]-Z[10]) Rπ÷180°→Z[15]: Z[15]+F→Z[16]: B+Z[5]cos (G-180°)→Z[17]: C+Z[5]sin (G-180°)→Z[18]: B+Z[6]cos (Z[11])→Z[19]: C+Z[6]sin (Z[11])→Z[20] ←┚If K≤Z[14]:Then E→Q: K-Z[12] →L: Else F→Q: Z[16]-K→L:IfEnd ←┚If K≤Z[12]: Then Goto 1:Else If K>Z[12] And K≤Z[13]: Then Goto 2: Else If K>Z[13] And K≤Z[14]: Then Goto 3: Else If K >Z[14] And K≤Z[15]: Then Goto 4: Else If K>Z[15] And K≤Z[16]: Then Goto 5: Else If K>Z[16]: Then Goto 6:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI 1:G→Z[26]: Z[17]-Lcos (G-180°)→Z[21]: Z[18]-Lsin(G-180°) →Z[22]: Goto 9←┚LbI 2: L-L^5÷(40R2Q2) →Z[23]: L^(3)÷(6RQ)- L^(7)÷(336R^(3)Q^(3)) →Z[24]: G+DL2×90°÷(QRπ) →Z[26]: Goto 7←┚LbI 3: (L-Q)×180°÷(Rπ)+Z[9]→Z[25]: Rsin (Z[25])+Z[2]→Z[23]: R(1-cos (Z[25]))+Z[1]→Z[24]: G+DZ[25]→Z[26]: Goto 7←┚LbI 4: (L-Q)×180°÷(Rπ)+Z[10]→Z[25]: Rsin( Z[25])+Z[4]→Z[23]: R(1-cos (Z[25]))+Z[3]→Z[24]: Z[11]-DZ[25]→Z[26]: Goto 8←┚LbI 5: L-L^5÷(40R2Q2)→Z[23]: L^(3)÷(6RQ)- L^7÷(336R^(3)Q^(3))→Z[24]: Z[11]-DL2×90°÷(QRπ)→Z[26]: Goto 8←┚LbI 6: Z[11]→Z[26]: Z[19]-L×cosZ[11]→Z[21]: Z[20]-Lsin (Z[11])→Z[22]: Goto 9←┚LbI 7: Z[17]+Z[23]cos(G)+Z[24]cos(G+D×90°)→Z[21]: Z[18]+ Z[23]sin(G)+Z[24]sin(G+D×90°)→Z[22]: Goto 9←┚LbI 8: Z[19]+Z[23]cos(Z[11]+180°)+Z[24]cos(Z[11]+ D×90°)→Z[21]: Z[20]+Z[23]sin(Z[11]+180°)+Z[24]sin(Z[11]+D×90°)→Z[22]: Goto 9←┚LbI 9: "JJ"?N:"PJ"?P: "X=":Z[21]+Pcos(z[26]+N)→X◢"Y=": Z[22]+Psin(Z[26]+N)→Y◢"QXFWJ="DMS◢←┚ZXZB(该程序为主线程序,只运行该程序)"CZX"?S:"CZY"?W ←┚LbI 0: "K"?K: If K<54074.263(第1条曲线的终点桩号带大桩号,也就是是缓直点桩号,下面同上): Then Goto A:Else If K<56247.409 (第2条曲线的终点桩号带大桩号)And K≥54074.263(第1条曲线的终点桩号带大桩号): Then Goto B:Else If K<58007.266 And K ≥56247.409: Then Goto C:IfEnd:IfEnd:IfEnd←┚(有几条曲线就是几个IfEnd)LbI A: 53203.87266(第1条曲线的交点桩号)→ A: 3560815.660(第1条曲线交点的X坐标)→B:484158.7230(第1条曲线交点的Y 坐标)→ C:76°10'54.56"(计算方位角)→G: 16°49'2.2"(转角)→ H:-1(路线左右偏,左-,右+)→D:4500(半径)→R:430→(第1缓和曲线的长度)E:430(第2缓和曲线的长度)→F:Prog"ZHYHZ": GotoW←┚(下面同上)LbI B: 55278.9644→ A: 3561878.191→B: 485952.830→ C: 59°21'52.34"→G: 19°22'48.7"→ H:+1→D:4500→R:430→E:430→F:Prog"ZHYHZ": GotoW←┚LbI C: 57236.8579→ A: 3562263.305→B: 487888.000→ C: 78°44'41"→G:14°13'19.1"→ H:-1→D:4500→R:430→E:430→F:Prog"ZHYHZ": GotoW←┚LbI W:"PJ1"?T←┚If T=0:Then X→Z: Y→M: GotoP: Else GotoV: IfEnd←┚LbI V:"JJ1"?O←┚"X1=": X+Tcos(Z[26]+N+O)→U◢"Y1=":Y+Tsin(Z[26]+N+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢"FWJ="DMS◢Goto0显示:1、CZX?(输入仪站X坐标)2、CZY?(输入仪站Y坐标)3、K?(输入所求桩号,带大桩号)4、JJ?(输入夹角,正交输90°,斜交输夹角)5、PJ?(输入偏距,左负右正,中桩输0)6、X=(所求X坐标)7、Y=(所求Y坐标)8、QXFWJ(所求曲线方位角)9、PJ1?(输入左右边桩再偏距离,前负后正,不需要再偏输0)10、JJ1?(输入左右边桩再偏夹角,上面输0,该步不会显示)11、X1= (所求左右边桩再偏X坐标)12、Y1= (所求左右边桩再偏Y坐标)13、JL= (仪站点至所求点的距离)14、FWJ=(仪站点至所求点的方位角)再往下继续计算Z-ZBFSLbI 0"DQX"?W:"DQY"?S←┚"JDX"?A:"JDY"?B:"A0"?G:"ZJ"?H:"Z(-1)Y(1)"?D:"R"?R:"LS1"?E:"LS2"?F:"K"?K←┚LbI 1←┚Norm 1: Prog"ZHYHZ": Pol(W-Z[21],S-Z[22]): If J>0:Then J →J:I→I: Else J+360°→J: I=I:IfEnd←┚J-Z[26]→Z[27]:Icos(Z[27])→Z[28]:K+Z[28]→K: If Abs(Z[28]≥0.001:Then Goto1:Else Fix 3:IfEnd:Isin(Z[27])→Z[29]: Fix 3:"FSJL=":Z[29] ◢"FSK=":K◢Goto 0反算时要在反算区域正算一次,获取曲线要素显示1、DQX?(输入反算时的X坐标)2、DQY?(输入反算时的Y坐标)3、然后一直按"EXE"出现下面的字符4、FSJL= (所求反算左右偏距,左负右正)5、FSK= (所求反算的桩号)6、再按继续运算WN(不运行)"ZS=1,FS=2"?N: 1÷P→C:(P-R)÷(2HPH)→D:180÷π→E: If N=1: Then Goto 1: Else Goto 2: IfEnd←┚LbI 1:1→I:0→Z:Abs(K-O)→W: Prog"ZS"←┚F-90→F←┚"JJ"?K:"PJ"?L: "ZX=":Z[7]+Lcos(F+K)→Z[3]◢"ZY=": Z[8]+Lsin(F+K)→Z[4]◢"QXFWJ="DMS◢Abs(Z)→Z:Goto 8←┚LbI 2:"X"?I:"Y"?J: Prog"FS":"FSZH=":O+W→K◢"FSJL=":Z◢Lbl 8正算子程序(ZS)(不运行)1÷P→C:(P-R)÷(2HPR)→D: 180÷π→E0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→Z[7]:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Z[8]:G+QEW(C+WD)+90→F:Z[7]+ZcosF→Z[7]:Z[8]+ZsinF→Z[8]3反算子程序(FS)(不运行)G-90→T:Abs((Z[8]-V)cosT-(Z[7]-U)sinT)→W:0→Z←┚Lbl 0←┚prog"ZS":T+QEW(C+WD)→L:(J-Z[8])cosL-(I-Z[7])sinL→Z:If Abs(Z)<0.001: Then Goto1:Else W+Z→W:IfEnd :Goto 0←┚Lbl 1:0→Z:Prog"ZS":(J-Y)÷sinF→ZZX-WN(运行主程序,该程序适用于匝道,对全段完整非完整曲线计算太过麻烦)"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)LbI 0: "K"?K: If K≤218.50(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤373.307 And K>218.50: Then Goto B:Else If K≤526.691 And K>373.307: Then Goto C:Else If K≤946.255 And K>526.691: Then Goto D IfEnd:IfEnd:IfEnd: IfEnd←┚LbI A:3803701.508(起点X坐标)→U:494281.813(起点Y坐标)→V:0起点桩号→O:293°47'49"(方位角)→G:218.50(曲线长度)→H:3990.75 (起点半径)→P:3990.75 (止点半径)→R:+1(路线左右偏,左负右正)→Q:Prog "WN":Goto WLbI B:3803795.099→U:494084.403→V:218.50→O:296°56'2.4"→G:154.807→H:10^45 →P:10^45 →R:0→Q:Prog "WN":Goto W LbI C:3803865.221→U:493946.388→V:373.307→O: 296°56'2.4"→G:153.384→H:10^45 →P:496.5 →R:+1→Q:Prog "WN":Goto W LbI D:3803941.562→U:493813.538→V:526.691→O: 305°47'3.15"→G:419.564→H:496.5 →P:496.5 →R:+1→Q:Prog "WN":Goto WLbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←┚LbI V:"JJ1"?O←┚(左右边桩再偏夹角,用180°减去路线夹角)"X1=": Z[3]+Tcos(F+K+O)→U◢"Y1=" :Z[4]+Tsin(F+K+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢(仪站至测点的距离)"FWJ="DMS◢(仪站至测点的方位角)Goto01.规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0°2.当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值:当位于中线右侧时,Z取正值°当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替°3.当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径°4.当线元为完整的缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替°与圆曲线相接时,曲率半径等于圆曲线的半径,止点跟直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径°5.当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线衔接时,曲率半径等于圆曲线的半径°止点与直线相接时,曲率半径等于设计规定的值;与圆曲线衔接时,曲率半径等于圆曲线的半径°二、输入与显示说明1.输入部分:2.. 输入3.ZS=1,FS=2,选择计算方式,输入1正算;输入2反算4.数据库的输入5.U?线元起点的X坐标6.V?线元起点的Y坐标7.O?线元起点的里程8.G?线元的起点切点方位角9.H?线元的长度10.P?线元起点的曲率的半径11.R?线元止点的曲率的半径.12.ZY?线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)13.计算时:14.K?正算时所求的里程15.JJ?夹角,(正交90°,斜交直接输角度)16.PJ?偏距(左负右正)17..结果18.ZX=正算时,计算得出的测点的X坐标19.ZY=正算时,计算得出的测点的Y坐标20.QXFWJ=正算时,测点对应中线点的切线方位角21.PJ1?:左右桩号再偏距离,不需要时输022.JJ1? :左右边桩再偏角度23.JL=仪站与测点的距离24.FWJ=仪站与测点的方位角25.反算时输入:26.X?反算时所求点的X坐标27.Y?反算时所求点的Y坐标28.结果29.FSZH=反算时,计算得出的所求点的里程30.FSJL=反算时,计算得出的所求点的边距(负为左偏,正为右偏)GCJSAbs(C-D)×R÷2→Z[1]: A-Z[1]→Z[2]: A+Z[1]→Z[3]:If D-C>0:Then 1→E:Else -1→E:IfEnd←┚If K≤Z[2] :Then Goto 1:Else If K>Z[2] And K≤A: Then Goto 2: Else If K>A And K≤Z[3]: Then Goto 3: Else IF K>Z[3]:then Goto 4:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI 1: Z[2]-K→L: B-(Z[1]+L)×C→H: Goto 5←┚LbI 2: K-Z[2]→L: B-(Z[1]-L)×C+E×L2÷R÷2→H: Goto 5←┚LbI 3: Z[3]-K→L: B+(Z[1]-L)×D+E×L2÷R÷2→H: Goto 5←┚LbI 4: K-Z[3]→L: B+(Z[1]+L)×D→H:Goto 5←┚LbI 5:"EL=":H◢←┚主线高程(ZXGC)LbI 0: "K"?K: If K≤552.156(第1条竖曲线的终点下面同上): Then Goto A:Else If K≤1352.805 And K>552.156: Then Goto B:Else If K≤2045.311 And K>1352.805: Then Goto C:Else If K≤2493.942 And K>2045.311: Then Goto D:Else If K≤3265.244 And K>2493.942: Then Goto E:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd←┚LbI A: 501.436(边坡点桩号)→ A: 226.395(边坡点高程)→B: -0.0257(边坡点前坡比)→ C: -0.005(边坡点后坡比)→D:4900(半径)→R: Prog"GCJS": Goto F←┚(下面同上)LbI B: 1303.305→A: 222.386→B: -0.005→ C: 0.04→D:2200→R: Prog"GCJS": Goto F←┚LbI C: 1985.311→A: 249.666→B: 0.04→ C: -0.04→D:1500→R: Prog"GCJS": Goto F←┚LbI D: 2425.578→A: 232.055→B: -0.04→ C: -0.0218→D:7500→R: Prog"GCJS": Goto F←┚LbI E: 2849.694→A: 222.823→B: -0.0218→ C: -0.03→D:6000→R: Prog"GCJS": Goto F←┚LbI F:If K≤309.562(第1条曲线的终点): Then Goto 1:Else If K≤1053.022 (第2条曲线终点)And K>309.562: Then Goto 2:Else If K≤1354.954 And K>1053.022: Then Goto 3:Else If K≤1613.025 And K>1354.954: Then Goto 4:Else If K≤1863.124 And K>1613.025: Then Goto 5:Else If K≤2937.433 And K>2312.560: Then Goto 6:Else If K≤3145.553 And K>2937.433: Then Goto 7:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd:←┚LbI 1: -0.015(直线段横坡)→ F: -0.02(圆曲线线段横坡)→G: 126.9(第1缓和曲线起点)→ I: 176.9(第1缓和曲线终点)→J:259.562(原曲线终点)→L: 309.562(第2缓和曲线终点)→M: 1(方向,左负右正)→N :Goto G←┚(下面同上)LbI 2: -0.015→ F: -0.02→G: 860.749→ I: 920.749→J:993.022→L: 1053.022→M:-1→N :Goto G←┚LbI 3: -0.015→F: -0.02→G: 1248.441→I: 1283.441→J:1319.954→L: 1354.954→M:+1→N :Goto G←┚LbI 4: -0.015→F: -0.02→G: 1439.731→I: 1489.731→J:1563.025→L: 1613.025→M:-1→N :Goto G←┚LbI 5: -0.015→ F: -0.02→G: 1712.165→ I: 1757.165→J:818.124→L: 1863.124→M: 1→N :Goto G←┚LbI 6: -0.015→F: -0.02→G: 2121.544→I: 2121.544→J:2312.560→L: 2312.560→M: 1→N :Goto G←┚LbI 7: -0.015→F: -0.02→G: 2752.223→I: 2812.223→J:2877.433→L: 2937.433→M: 1→N :Goto G←┚LbI 8: -0.015→F: -0.02→G: 3060.515→I: 3060.515→J:3145.553→L: 3145.553→M:-1→N :Goto G←┚LbI G:IfK≤I:Then Goto H :Else If K≤J And K>I: Then Goto I: Else If K≤L And K>J: Then Goto J: Else If K≤M And K>L: Then Goto K: Else If K>M: Then Goto L: IfEnd:IfEnd:IfEnd:IfEnd: IfEnd←┚LbI H:F→Z:F→Y: Goto 9LbI I:J=I=>Goto J:((K-I)× (Abs(F)+ Abs(G)))÷(J-I) -Abs(F)→Z[1]:If N=-1: Then Goto M: Else Goto N: IfEnd←┚LbI M:Z[1]→Y:If Z[1]≤-F:Then F→Z:Else –Z[1]→Z: IfEnd :Goto 9LbI N:Z[1]→Z:If Z[1]≤-F:Then F→Y:Else –Z[1]→Y: IfEnd :Goto 9LbI J:If N=-1:Then G→Z:-G→Y:Else -G→Z: G→Y: IfEnd: Goto 9←┚LbI K: M=L=>Goto L: (M-K)×(Abs(F)+ Abs(G))÷(M-L)- Abs(F)→Z[2]: If N=-1: Then Goto P: Else Goto Q: IfEnd←┚LbI P:Z[2]→Y:If Z[2]≤-F:Then F→Z:Else –Z[2]→Z: IfEnd :Goto 9LbI Q:Z[2]→Z:If Z[2]≤-F:Then F→Y:Else –Z[2]→Y: IfEnd :Goto 9LbI L:F→Z:F→Y: Goto 9Lbl 9:"ZC=1,YC=2"?X:If X=1:Then Goto V:EIse Goto W: IfEnd Ibl V:” BJZ”?J:”BHZ=”:H+J×Z◢Goto 0Ibl W:” BJY”?S:”BHY=”:H+S×Y◢Goto 0显示K?输入桩号显示结果:EL= 所求点中桩高程显示“ZC=1,YC=2”?左侧边桩输1,右侧边桩输2显示“BJZ”或“BJY”输入左右边桩的距离显示结果:“BHZ=”或“BHY=”所求点左右边桩的高程。
(整理)5800计算器全线坐标计算放样程序.
任意桩号坐标及高程一、程序功能本程序由一个主程序(ZHUCHENXU)和几个子程序——正算子程序(SUB1)、反算子程序(SUB2)、数据库(SUB3)、曲线要数(SUB4,4-1)、边坡放样程序(BIANPO),可以根据直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标及中桩高程,对该曲线段范围内任意里程中边桩坐标进行正反算。
二、源程序增加变量18→DimZ1.主程序(ZHUCHENXU)"1.SZ → XY,2.XY → SZ,3.SDYX,4. BIANPO "?N:Lbl 1:”ZHUANGHAO=”?S: Prog "SUB3":N≥2=>Goto 2: Abs(S -O)→W:”BIANZHU=”?→Z:Prog "SUB1":Prog"SUB4":“H=”H◢"XS=”:X→X◢"YS=”:Y→Y◢"FS=”:(F-90) →F:F►DMS◢ Goto1 Lbl 2:”CX=”?X: X→I:”CY=”?Y: Y→J:”DMG=”?→Z[7]:P rog "SUB2": "S=":(O+W) →S◢"Z="Z→Z◢ Z→Z[17] :If N=3:Th en Prog”SDYX”: IfEnd :If N=4:Then Prog”BIANPO”:IfEnd:G oto 22.SUB1(正算子程序名)0.1739274226→A:0.3260725774→B 0.0694318442→K:0.330009482→L 1-L→F:1-K→MG+QEKW(C+KWD)→Z[1]G+QELW(C+LWD)→Z[2]G+QEFW(C+FWD)→Z[3]G+QEMW(C+MW D)→Z[4]A×cos(Z[1])→X(剩號可省略) X+Bcos(Z[2])→XX+Bcos(Z[3])→XX+Acos(Z[4])→XU+WX→XAsin(Z[1])→YY+Bsin(Z[2])→YY+Bsin(Z[3])→YY+Asin(Z[4])→YV+WY→YG+QEW(C+WD)+90→FX+Zcos(F)→XY+Zsin(F)→Y3.SUB2(反算子程序名)G-90→T(Y-V)cos(T)-(X-U)sin(T)→WAbs(W)→W:0→ZLbI 4:Prog"SUB1"T+QEW(C+WD)→L(J-Y)cos(L)-(I-X)sin(L)→ZIf Abs(Z)<1E-6:Then 0→Z :Prog"SUB1"(J-Y)÷sin(F)→ZElse W+Z→W:Goto 4:IfEnd注:1E-6即是10的負6次方,亦即是等於0.000001輸入時按SHIFT---log---(-)---64. 数据库(SUB3)If S<226100:Then Cls:Stop: IfEndIf S<226255.833:Then 226100→O:99037.9736→U: 4282.3590→V:201.3266304→G:1045→P:1045→R:253.543→H:0→Q: Goto 1:IfEndIf S>And S<…………If S>236005.651:Then Cls:Stop: IfEndLbl 1: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:5、曲线主程序: 1-E.BG(SUB4)Fix 3:Prog”Z.EBG”:R Abs(D-C)/2→T:if D-C>θ :Then 1→W:Else -1→W:ifendif S<A:Then -C→I:Else D→I:ifendAbs (A-S)→Lif L-T>θ:Then Z+IL→H:Else Z+IL+W(T-L)2/2/R→H:"HS=":H◢曲线数据库: Z.EBG(SUB4-1)if S<332.599:Then 0.02793→C:-0.03309→D:1800→R:235→A:32. 7→Z: goto 1:ifendif S>322.599 And K<734.085:Then -0.03309→C:-0.00485→D:60 00→R:460→A:25.254→Z: goto 1:ifend----Lbl 1C—前坡:D—后坡:R—呵呵,都知道是什么!A—变坡点:Z—变坡点设计高O—从设计高程点处垂直向下的距离:N—距设计高程处的平距(若你的设计高程线是路中线的话,请把0.75改为0):J—所求桩号处的横坡.6. 边坡放样程序(BIANPO) (SUB6)“QPDJL=”? → Z[3]: “QPDGD=” : Prog “(SUB4)”:H→ Z[4]◢“PG=” ?→ Z[5]:PTK→Z[6]:“P1=” ? → Z[8]:“P2=”? → Z[9]:“P3=” ? → Z[10] (没有的话就删): Z[7]-Z[4] → Z[11]:If Z[11]〈0 Then AbsZ[11] →Z[11]: “T=”:Z[1 1] ◢Else“W=”:Z[11] ◢IfEnZ[11]÷Z[5] →Z[12]:If Z[12]〈1 Then Z[8]×Z[11] →Z[13]:Else Z[8]×Z[5]+Z[9]×Z[5]×(Z[12]-1)→Z[13]:IfEnd: AbsZ [17]-(Z[13]+Z[6] ×Int (Z[12])+Z[3])→Z[14]:“BP+C-J=”: Z[14] ◢说明:Z[3]= QPDJL ………………起坡点离中桩距离Z[4]=“QPDGD” ……………起坡点设计标高Z[5]=“PG” ………………坡高Z[6]=“PTK” ……………… 平台宽度Z[7]=“DMG” ………………实测地面高度Z[8]=“P1” ………………一级边坡坡度Z[9]=“P2” ………………二级边坡坡度Z[10]=“P3” ……………… 三级边坡坡度(没有的话就删)Z[14]=“BP+C-J=” ………………边坡超欠挖宽度(+表超,-表欠)三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5800全线任意坐标计算程序
1. 正算主程序(ZHCX) (不运行)
8→DimZ
1÷P→Z[4 ]:(P-R)÷(2HPR)→D: 180÷π→E
“Z=”?Z:”YJJ=”?A:Abs(S-O)→W
0.26→Z[1 ]: 0.74→B: 0.02→K: 0.82→Z[3 ]: 1-Z[3 ]→F:1-K→Z[2 ]
U+W(Z[1 ]cos(G+QEKW(Z[4 ]+KWD))+Bcos(G+Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+Bcos(G+QEFW (Z[4 ]+FWD))+ Z[1 ]cos(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→X:
V+W(Z[1 ] sin (G+QEKW(Z[4 ]+KWD))+B sin(G+ Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+B sin(G+QEFW (Z[4 ]+FWD))+ Z[1 ] sin(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→Y:
G+QEW(Z[4 ]+WD)→F:X+Zcos(F+A)→X:Y+Zsin(F+A)→Y:If F≧360:Then F-360→F:IfEnd
”X=”:X→X◢
”Y=”:Y→Y◢
If F﹤0:Then F+360→F:IfEnd
”QX FWJ=”:F▼DMS◢
“C=1=>XX: C=2=>XZ”: ”C=”?C: ”QHJU=”?L: If C=1:Then Goto 1:Else Goto 2: IfEnd 可以计算斜交斜做或斜交正做的桥涵坐标
Lbi 1
X+L cos(F)→X:Y+Lsin(F)→Y: Goto 3
Lbi 2
X+L cos(F+A-90)→X:Y+Lsin(F+A-90)→Y: Goto 3
Lbi 3
“QH-X=”: X →X◢
“QH-Y=”: Y →Y◢
Prog “FY”
2 . 参数子程序(直接运行)
M(主线) 一条线路一个名称
“S=”?S
If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd
…
…
If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd
Lbi 1
Prog “ZBJS”
3. 放样程序(FY)(不运行)
“X0=”?M:“Y0=”?N
Pol((X-M, Y-N)
If J﹤0:Then J+360→J:IfEnd
“FWJ=”:J▲DMS◢
“JU-LI=”:I◢
说明:
一、程序功能及原理
1.功能说明:
本程序由一个主程序和两个子程——正算主程序(ZH)、参数子程序(M)、放样程序(FY),可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径、左偏或右偏)及里程边距或坐标,对该线元段范围内任意里程中边桩坐标进行正算。
本程序可以在CASIO fx-4800P计算器及CASIO fx-4850P计算器上运行。
2.计算原理:
利用Gauss-Legendre 5点通用公式计算线路中边桩坐标并计算放样数据。
利用待求点至线元起点切线作垂线,逐次迭代趋近原理反算里程及边距。
二、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1。
(2) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(3) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
(4) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(5) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、运行参数子程序(要做哪条线就直接运行哪条线的参数子程序)
输入
S (S=?)为任意里程桩号
Z (Z=?) 为斜距(当所求点位于中线时,Z=0;当位于中线左侧时,Z 取负值;当位于中线右侧时,Z取正值)
A (YJJ=?) 为右夹角(0≦W≦180)
输出
X=********* 计算的X坐标值
Y=********* 计算的Y坐标值
QXFWJ= *°*′*″计算的里程桩号K的切线方位角
输入
C=? 当C=1时,为计算斜交斜做的桥涵坐标;当C=2时,为计算斜交正做的桥涵坐标
QHJU=? 相对于刚计算完坐标的那个点的大桩号(+)或小桩号(-)的距离输出
QH-X=*******.*** 计算的斜交斜做或斜交正做的X坐标值
QH-Y=********* 计算的斜交斜做或斜交正做的Y坐标值输入
X0=? 测站的X值
Y0=? 测站的Y值
输出
FWJ= *°*′*″计算的X 、Y对于测站的方位角
JU-LI=******* 计算的X 、Y对于测站的距离。