CASIO5800计算器公路测量计算程序程序设计:魏加训2009.2.28Casio 5800计算器数据库型万能坐标正反算计算程序一、主程序:1XYLbl 0:“1.ZS 2.FS”?→V↙If V=1: Then “CZ X” ?H: “CZ Y” ?T:Goto 1: Else If V=2: Then Goto 2 :IfEnd: IfEnd↙Lbl 1: “K××+×××”?D:?Z: “RJ”?G↙Prog “P.Z”↙(注:计算另一线路时修改替换此处和FS子程序中的P.Z为对应线路的数据库名称即可)Prog “ZS” ↙If Z<0: Then Cls:“X(L)=”: “Y(L)=”: Locate 6,1,X : Locate 6,2,Y◢Pol(X-H,Y-T): Cls: “S(L)=”: Locate 6,1,I : "F(L)=":360Frac((J+360)÷360▼DMS◢Goto 1:IfEnd↙If Z=0: Then Cls:“X(Z)=”: “Y(Z)=”: Locate 6,1,X : Locate 6,2,Y : “QXFWJ (Z)=”: 360Frac((J+360)÷360▼DMS◢Pol(X-H,Y-T): Cls: “S(Z)=”: Locate 6,1,I : "F(Z)=":360Frac((J+360)÷360▼DMS◢Goto 1:IfEnd↙If Z >0: Then Cls:“X(R)=”: “Y(R)=”: Locate 6,1,X : Locate 6,2,Y◢Pol(X-H,Y-T): Cls: “S(R)=”: Locate 6,1,I : "F(R)=":360Frac((J+360)÷360▼DMS◢Goto 1:IfEnd↙Lbl 2: 0→Z:0→G:”X” ?M:”Y” ?I:Prog “FS”: Cls:“K=”:“Z=”:Locate 4,1,D : Locate 4,2,Z◢Goto 2↙二、正算子程序:ZS5→N: U(E-1-R-1)÷Abs(K-F)→P: Abs(D-F)÷N→Q: 90Q÷π→S:(注:此处5→N是控制计算精度可修改的,一般取值为4~6即可)C+(NPQ+2UR-1)NS→J:1→L↙A+Q÷6×(Cos (C)+Cos (J) +4∑(Cos (C+((L+0.5)PQ+2UR-1)×(L+0.5)S),L,0,(N-1))+2∑(Cos (C+((LPQ+2UR-1)LS,L,1,(N-1)))+ZCos(J+G) →X :B+Q÷6×(Sin(C)+Sin( J) +4∑(Sin (C+((L+0.5)PQ+2UR-1)×(L+0.5)S),L,0,(N-1))+2∑(Sin (C+((LPQ+2UR-1)LS,L,1,(N-1)))+Z Sin(J+G)→Y ↙三、反算子程序:FSLbl 0:Prog “P.Z”:Prog “ZS”↙(注:计算另一线路时修改替换此处和1XY主程序中的P.Z为对应线路的数据库名称即可)(I-Y)sin(J)+(M-X) cos(J)→ P :D+P→ D ↙If Abs(P)≥0.001:Then Goto 0 : Else Goto 1 : IfEnd↙Lbl 1: (I-Y)cos(J)-(M-X) sin(J) →Z四、曲线元要素数据库格式If D≥线元起点里程:Then线元起点里程→F:线元终点里程→K:线元起点X坐标→A:线元起点Y坐标→B:线元起点切线方位角→C:线元起点半径→R:线元终点半径→E:线元转向(注:左-1,右+1,直线为0) →U: IfEnd↙五、曲线元要素数据库样例:P.ZIf D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙If D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙If D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙...............…………………………………………………………If D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙(注:如一条路有多个曲线元要素则按顺序排列依次添加入数据库P.Z中)六、程序说明:程序线元判断原则:(1) 以道路中线的前进方向(即里程增大的方向)区分左右;(2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线右侧时,Z取正值。
(3) 当线元为直线时,其起点、终点的曲率半径为无穷大,以10的45次代替输入×10x45。
(4) 当线元为圆曲线时,无论其起点、终点与什么线元相接,其曲率半径均等于圆弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替输入×10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。
终点与直线相接时,曲率半径为无穷大,以10的45次代替输入×10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
终点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
七、输入与显示说明1.ZS时CZ X ? CZ Y? 输入置镜点即测站的X,Y坐标K××+×××? 输入所求的桩号Z ?输入所求点距中线的边距(在中线输零)RJ?输入边桩时左右边桩连线与线路前进中线的右交角X(L) 、X(Z) 、X(R)=×××计算得出的所求点的左、中、右X坐标Y(L) 、Y(Z) 、Y(R)=×××计算得出的所求点的左、中、右Y坐标QXFWJ(Z)= ×××计算得出所求点的中桩切线方位角F(L) 、F(Z) 、F(R)= ×××计算得出置镜点到测点即左、中、右的方位角S(L) 、S(Z) 、S(R)= ×××计算得出置镜点到测点即左、中、右的水平距离2.FS时X=×××输入所求点的X坐标Y=×××输入所求点的Y坐标K=×××计算得出求点所对应的里程Z=×××计算得出求点到所对应的里程的垂直距离(负就是左边,正就是右边)Casio 5800计算器数据库型全线高程计算程序一、主程序:2HLbl 1:“K××+×××”?K : Prog“S.Z”↙C÷100→C: D÷100→D: R Abs(D-C)÷2→T↙If D>C :Then 1→W:Else -1→W:IfEnd↙If K<A:Then -C→I:Else D→I: IfEnd↙Abs (A-K)→L↙If L>T:Then Z+IL→H:Cls :"H(S)=": Locate 7,1, H : 显示路面设计中桩高Gotoθ:Else Z+IL+W(T-L)2÷2÷R→H: Cls :"H(S)=": Locate 7,1, H◢显示路面设计中桩高IfEnd↙Lbl 0: “JGC(h)” ?O:”Z”?N:”HP”? J:“HC”?P:Abs(N) →N:H-O+N J÷100→B: Cls :"H=": Locate 4,1, B: "h=": Locate 4,2, B-P◢Goto 1二、竖曲线数据库格式:If K<下一竖曲线起点里程: Then: 本竖曲线前坡度(%前分子有正负)→C:本竖曲线后坡度(%前分子有正负)→D:本竖曲线半径→R:本竖曲线变坡点桩号→A:本竖曲线变坡点高程→Z: Goto 1: IfEnd ↙三、数据库样例: S.ZIf K<*** : Then: ***→C: ***→D: ***→R: ***→A: ***→Z: Goto 1: IfEnd↙If K<*** : Then: ***→C: ***→D: ***→R: ***→A: ***→Z: Goto 1: IfEnd↙If K<*** : Then: ***→C: ***→D: ***→R: ***→A: ***→Z: Goto 1: IfEnd↙…………………………………………(注:如一条路有多个竖曲线要素则按顺序排列依次添加入数据库S.Z中)If K≤*** : Then: ***→C: ***→D: ***→R: ***→A: ***→Z: Goto 1: IfEnd↙Lbl 1四、输入与显示说明K××+×××? 输入所求的桩号H(S)= ×××? 显示所求桩号的路面中桩设计高程JGC(h) ? 输入结构层厚度或从设计路面高程点处垂直向下的厚度Z ?输入所求点距中线的边距(注:只可输入正值,不可输入负值)HP?输入所求桩号处的横坡(%前分子有正负).HC?输入所求桩号处的全站仪实测高程H=×××显示计算得出的所求点的高程"h=" 显示计算得出的所求点的高差(+为填–为挖)(①当Z和JGC(h)为0时,则H=×××为路面中桩设计高程等于前面显示的H(S) ;②当Z为0,JGC(h)不为0时,则H=×××为路面垂直向下至某层的中桩设计高程;③当Z、JGC(h)、HP三者同时不为0时,则H=×××为路面垂直向下至某层的边桩对应Z位置的设计高程;④当Z不为0、JGC(h)为0、HP不为0时,则H=×××为路面边桩对应Z位置的设计高程;)。