正反算程序

合集下载

CASIO 98605800坐标正反算计算程序

CASIO 98605800坐标正反算计算程序

CASIO 9860/5800坐标正反算计算程序Tags 58009860 2010/6/8 fffsky 发布CASIO fx-5800P分类评论 0 浏览 350 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中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。

FX5800P计算器坐标正反算程序Word文档

FX5800P计算器坐标正反算程序Word文档

(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。

) 卡西欧fx5800p计算器坐标正反算程序一、程序功能本程序由 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: F ix 3: "X = ": Locate 6,4, X◢"Y=": Locate 6,4, Y◢P rog "3JS”:Goto 0:Lb1 2:Fix 3: "KM=": Locate 6,4, Z◢"D=": Locate 6,4, D◢G oto 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◢P rog "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:G oto 3 LbI 2: X:Y:X→I :Y→J : Prog "B":O+W→Z :D→ D:G oto 3LbI 3:IF F=1 Then 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+LW S ))+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+KW S ))+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+W S )+ Z[1]→ Z[2]: X+ D cos (Z[2])→ X: Y+ D sin (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: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 。

坐标正反算计算公式

坐标正反算计算公式

坐标正反算计算公式坐标的正反算是指根据点的经纬度坐标计算出该点所对应的位置,或者根据位置信息计算出该位置的经纬度坐标。

在地理信息系统中,正反算是非常重要的基本操作。

下面将分别介绍坐标的正算和反算的计算公式。

坐标正算即通过经纬度坐标计算出该点所对应的位置。

设经度为L,纬度为B,L0为中央经度(通常取地理区域中心点的经度),E为横轴坐标,N为纵轴坐标,M0为中央经线的投影,f为椭球扁率。

(1)将地球视为一个椭球体,对于小范围的区域,可以采用球面近似。

此时可以使用平面直角坐标系进行计算,并忽略地球的扁率和曲率。

具体计算公式如下:E=L-L0N=B-B0其中,B0为中央纬度。

(2)在地表为曲面的情况下,需要考虑地球的扁率和曲率。

此时可以使用高斯平面直角坐标系进行计算,公式如下:K = (a / √(1 - e^2 * sin^2B)) * √(1 + t^2)L = (L - L0) * cosBX=K*[L+(1-t^2+q^2)*L^3/6+(5-18*t^2+t^4+14*q^2-58*t^2*q^2)*L^5/120]Y=K*(M-M0+(1-t^2+q^2)*L^2/2+(5-14*t^2+3*t^4+14*q^2-28*t^2*q^2)*L^4/24)其中,a为椭球长半轴,e为椭球第一偏心率,M为曲面子午线弧长,t = tanB,q = (ωL)^2 * cosB,ω为地球自转角速度。

坐标反算即通过位置信息计算出该位置的经纬度坐标。

(1)对于小范围的区域,可以近似为平面直角坐标系,使用直角坐标系的计算公式即可反算出经纬度坐标。

具体计算公式如下:L=L0+EB=B0+N(2)对于地球曲面的情况,使用高斯平面直角坐标系进行反算时,可以采用交迭算法(迭代计算)。

迭代计算公式如下:L1 = [(X / K) - (1 - t^2 + q^2)(L1^3) / 6 - (5 - 18 * t^2 +t^4 + 14 * q^2 - 58 * t^2 * q^2)(L1^5) / 120] / cosBB1 = [(Y / K) - M - (1 - t^2 + q^2)(L1^2) / 2 - (5 - 14 *t^2 + 3 * t^4 + 14 * q^2 - 28 * t^2 * q^2)(L1^4) / 24] / (a /√(1 - e^2 * sin^2B))其中,L1、B1为迭代计算的经纬度坐标,X、Y为已知的平面坐标,K为局部坐标系绘图比例尺系数,t、q的计算和上述正算公式相同。

公路路线坐标正反算通用程序

公路路线坐标正反算通用程序

公路路线坐标正反算通用程序(万能程序)此程序为缓和曲线在坐标系下任意位置的通用正反算程序,能完全适应缓和曲线左偏、右偏、Rs>Re、Rs<Re等各种情况,不必先凑成完整缓和曲线,降低算法的复杂程度。

虽然此公式是由缓和曲线推导出来,也适于直线和圆曲线,可降低计算机编程的复杂程度主程序:QXJS-0Lbl4:”1.KS=>XY”:”2. XY=> KS”?Q:”K”?K: Prog”QXJS-SUB0”Lbl0:Q=1=>Goto1: Q=2=> Goto2Lbl1:”S”?S:Prog”QXJS-SUB1”:IfF﹤0:thenF+360→F:Ifend”X=”:Locate5,4,N:”Y=”:Locate5,4,E:”FWJ=”:F▲Lbl2:”X”?B:”Y”?C:B →N:C →E: Prog”QXJS-SUB2”:”K=”:K ▲”S=”:S▲Goto4正算子程序:QXJS-SUB10.5(1÷R-1÷P)÷L→D:K-O→XU+∫(cos(A+(X÷P+DX²)×180÷∏,0,X)→NV+∫(sin(A+(X÷P+DX²)×180÷∏,0,X)→EA+ (X÷P+DX²)×180÷∏→FN+Scos(F+90) →N:E+Ssin(F+90) →E反算子程序:QXJS-SUB2Lbl1:0→S:1→Q: Prog”QXJS-SUB0”: Prog”QXJS-SUB1”Pol(N-B+10∧(-46),E-C+10∧(-46)):Isin(F-90-J) →W:K+W→KAbs(W)>0.0001=>Goto1Lbl2:0→S: Prog”QXJS-SUB1”:(C-E)÷sin(F+90) →S数据库子程序:QXJS-SUB0Lbl1:If K<(线元终点里程): then ***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y): ***→P(线元起点曲率半径): ***→R(线元终点曲率半径): ***→L(线元起点至终点长度):Return:Ifend…………………………………每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl数据库子程序:QXJS-A,C,E,G,H,J,T,。

王中伟老师全线正反算坐标程序

王中伟老师全线正反算坐标程序

一、前言本程序是《CASIO fx-5800P计算与道路坐标放样计算》中道路坐标放样计算程序的升级改进版本。

原道路坐标放样计算程序只基于道路的单个基本型曲线,有效计算范围仅包括平曲线部分和前后的两条直线段,使用时需要输入平曲线设计参数,无坐标反算桩号功能。

改进后的程序名称为:道路中边桩坐标放样正反算程序(全线贯通),增加了可实现全线贯通的数据库功能和坐标反算桩号功能,主要是:1.使用道路平面数据库子程序,可将一段或若干段道路的交点法格式平面参数(可容易从直线、曲线及转角表中获得)以数据库子程序形式输入计算器,程序在计算时省却了输入原始数据的麻烦;2.坐标正算方面,输入桩号即可进行道路的中、边桩坐标计算,若输入了测站坐标,还可同时计算全站仪极坐标放样数据(拨角和平距);3.坐标反算方面,输入平面坐标,即可计算对应的桩号和距中距离(含左右信息);4.对于存在断链的道路,可分段分别编写数据库子程序,然后在主程序中添加一个路段选择的功能即可实现(可参照立交匝道程序中匝道的选择)。

程序的特点:1.可进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写;2.主程序通过调用数据库子程序,省却了使用时输入平面参数的繁琐;3.使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。

二、道路示例项目基本资料基本资料同《CASIO fx-5800P计算与道路坐标放样计算》第6章HY高速公路第2合同段(合同段起止桩号:K4+800~K9+600)。

这里摘取直线、曲线及转角表资料如下(若图片不清晰,请参见参见教材P161附录1):...三、程序代码.. ....注:路线数据库子程序ROAD-DATA1是根据计算示例项目的直曲表编写,大家使用时应按各自项目的直曲表改写或新建。

..四、程序变量清单..五、计算流程示例1.中桩坐标计算示例计算任务:计算HY高速公路K6+100~K6+700段的中桩坐标及切线方位角(桩距20m),并在导线点(2807118.026,474113.687)上架设全站仪,计算各中桩的极坐标放样数据。

正反算程序说明

正反算程序说明

正反算程序说明一、规定(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元左偏时Q=-1;当线元右偏时Q=+1;当线元为直线时Q=0。

(2)当所求点位于中线时,Z=0;位于中线左侧时Z取负值;位于中线右侧时Z 取正值。

(3)当线元为直线时,其起点、止点的曲率半径为无穷大,以1045 代替。

(4)当线元为圆曲线时,无论其起点、止点与什么线元相接,曲率半径均等于圆弧的半径。

(5)当线元为完整的缓和曲线时,起点与直线相接时,曲率半径无穷大,以1045 代替,与圆曲线相接时,曲率半径等于圆曲线半径;止点与直线相接时,曲率半径无穷大,以1045 代替;与圆曲线相接时,曲率半径等于圆曲线半径。

(6)当线元为非完整的缓和曲线时,起点与直线相接时,曲率半径等于设计规定值,与圆曲线相接时,曲率半径等于圆曲线半径;止点与直线相接时,曲率等于设计规定值;与圆曲线相接时,曲率半径等于圆曲线半径。

二、输入显示说明输入部分a、SZ→XYb、XY→SZN?选择计算式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算里程和边距。

X0?线元起点的X坐标Y0?线元起点的Y坐标S0?起点里程F0?线元起点切线方位角LS?线元长度R0?线元起点曲率半径RN?线元止点曲率半径Q?线元左右偏标志(左偏Q=-1;右偏Q=1;直线段Q=0)S?正算时所求点的里程Z?正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)X?反算时所求点的X坐标Y?反算时所求点的Y坐标三、显示部分XS=?正算时,计算得出的所求点的X坐标YX=?正算时,计算得出的所求点的Y坐标S=?反算时,计算得出的所求点的里程Z=?反算时,计算得出的所求点的边距四、算例某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组成。

各段线元的要素(起点里程SO,起点坐标XO YO,起点切线方位角FO,线元长度)五、CD功能多段线合并输入法:打开CD,输入命令“pe”看标题栏里。

坐标正反算程序(4850)

坐标正反算程序(4850)

坐标正反算程序(4850)正算主程序:ZS1.Prog “SJ”2.Lbl 0: {ZS}3.Z<A=>Rec(sqrt(S2+(Z-Q)2),F+180-tan-1(S÷(Q-Z))):X=N+I:Pause 0:Y=E+J◢4.Goto 0◣第一直线5.Z<B=>L=Z-A:W=F+90GL2÷πRU+90:H=U:O=Z[5]:P=Z[6]:T=F+90G:Goto 1◣第一回旋线6.Z<C=>L=Z-B7.W=F+G((90U+180L)÷πR+270)8.Rec(R-GS,W):X=Z[9]+I: Pause 0:Y=Z[10]+J◢9.Goto 0◣圆曲线10.Z<D=>L=D-Z:W=F+G(K-90L2÷πR V)+90:H=V:O=Z[7]:P=Z[8]:T=F+G(K+90):Goto 1◣第二回旋线11.Lbl 1:X=L-L5÷40R2V2+L9÷3456R4V412.Y=L3÷6RV-L7÷336R3V3+L11÷42240R5V513.Rec(sqrt(X2+Y2),T):X=O+I:Y=P+J14.Rec(S,W): X=X+I: Pause 0:Y=Y+J◢15.Goto 0◣16.Z>D=>Rec(sqrt(S2+(Z-D+Z[4])2),F+G(K+tan-1(S÷(Z-D+Z[4])))):X=N+I: Pause 0:Y=E+I◢17.Goto 0◣第二直线反算主程序:FS1.Prog"SJ"2.H=90U÷πR第一回旋线所对圆心角β013.T=90V÷πR第二回旋线所对圆心角β024.Rec((Z[3] +Z[4]÷cosK)/tanK,F+90G):Z[11]=Z[5]+I:Z[12]=Z[6]+J ZH、HZ点垂线交点坐标5.Z[13]=F+90G+180 ZH点与ZH、HZ点垂线交点连线方位角6.Z[14]=Z[13]+GH HY点与圆心连线方位角7.Z[15]=Z[13]+G(K-H) YH点与圆心连线方位角8.Z[16]=Z[15]+GT HZ点与ZH、HZ点垂线交点连线方位角9.Lbl 0:{XY}10.Pol(X-Z[11],Y-Z[12]):J<0=>J=J+360◣11.GJ<GZ[13]=> Pol(N-X,E-Y):Rec(I,F-J): “Z”:Z=Q-I:Pause 0:“S”:J◢12.Goto 0◣第一直线13.GJ>GZ[16]=> Pol(X-N,Y-E):Rec(I,J-F-GK): “Z”:Z=I-Z[4]+D:Pause 0:“S”:J◢14.Goto 0◣第二直线15.GJ>GZ[13]=>Pol(X-Z[9],Y-Z[10]):J<0=>J=J+360◣16.GJ<GZ[14]=>P=Z[13]:H=U:M=A:T=1:Z[17]=Z[5]:Z[18]=Z[6]:Z[19]=F:Goto 1◣第一缓和曲线17.GJ<GZ[15]=> “Z”:Z=B+RG(J-Z[14]):Pause 0:“S”:S=G(R-I)◢18.Goto 0◣圆曲线19.GJ>GZ[15]=>P=Z[16]:H=V:M=D:T=-1:Z[17]=Z[7]:Z[18]=Z[8]:Z[19]=F+GK+180:Goto 1◣第二缓和曲线20.Lbl 1:Pol(X-Z[11],Y-Z[12]):J<0=>J=J+360:L= Abs(J-P) πR÷180 “L=H×Abs(J-P)÷2÷(90H÷πR)”21.Lbl 2:O=L-L5÷40R2H2+L9÷3456R4H4-L13÷599040R6H622.P=L3÷6RH-L7÷336R3H3+L11÷42240R5H5-L15÷9676800R7H723.Rec(sqrt(O2+P2),Z[19]+TGtan-1(P÷O)):O=Z[17]+I:P=Z[18]+J24.Pol(X-O,Y-P):Rec(I,J-(Z[19]+90TGL2÷πRH)):AbsI>0.001=>L=L+I:Goto 2:≠>“Z”:Z=M+TL: Pause 0: “S”:TJ◢25.Goto 0◣子程序(曲线要素数据):SJ1.Defm 19:M:M=1=>F=*:K“ZJ”=*:G=*:U(Ls1)=*:V(Ls2)=*:R=*:Q=*:N“XJ”=*:E“YJ”=*:Goto 1◣2.M=2=>F=*:K“ZJ”=*:G=*:U(Ls1)=*:V(Ls2)=*:R=*:Q=*:N“XJ”=*:E“YJ”=*:Goto 1◣3.………………4.Lbl 1:Z[1]=U2÷24R-U4÷2688R3+U6÷506880R5Z[1]第一回旋线内移值P15.Z[2]=V2÷24R-V4÷2688R3+V6÷506880R5Z[2]第二回旋线内移值P26.M=(R+Z[2]-(R+Z[1])cosK)÷sinK7.P=(R+Z[1]-(R+Z[2])cosK)÷sinK8.Z[3]= M+U÷2-U3÷240R2Z[3]第一回旋线切线长T19.Z[4]= P+V÷2-V3÷240R2Z[4]第二回旋线切线长T210.L=RKπ÷180+(U+V)÷2曲线长(Ls1+圆+Ls2)11.A=Q-Z[3]:B=A+U:D=A+L:C=D-V ZH,HY,HZ,YH里程桩号12.I=0:J=0:Rec(Z[3],F+180):Z[5]=N+I:Z[6]=E+J ZH点坐标增量计算,ZH点坐标13.Rec(Z[4],F+GK):Z[7]=N+I:Z[8]=E+J HZ点坐标增量计算,HZ点坐标14.Rec(sqrt(M2+(R+Z[1])2),F+G(K+tan-1((R+Z[2])÷P))):Z[9]=N+I:Z[10]=E+J 圆心坐标注:F-起始边方位角K-转角G-线路左转为-,右转为+U-第一回旋线长V-第二回旋线长R-半径Q-交点桩号N,E-交点坐标Z-待求点桩号S-偏距(左偏为-,右偏为+)sqrt为根号。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

直线正反算程序

直线正反算程序

直线正、反算程序一、正算程序,(XY)(4850计算器)1、LbI 02、{KD}3、E=?:F=?:A=?:L=?:S=A+90:Q=K-L4、X=E+QcosA+DcosS:Y=F+QsinA+DsinS5、"X=":X◢"Y=":Y◢6、Goto 0二、反算程序(KD)(4850计算器)1、LbI 02、{XY}3、E=?:F=?:A=?:L=?:I=0:J=04、PoI(X-E ,Y-F):Rec(I ,(J-A)):K=L+I:D=J5、"K=":K◢"D=":D◢6、Goto 0说明:E、F:直线起点桩号坐标A:进洞方向方位角L:直线起点桩号K:所求里程D:所求里程左、右偏距,左-、右+ X、Y:所求里程坐标略图见下:E、FL A直线(正反算数据)A=193°42′25.8″L=453.5 E=11954.861 F=32887.228K D X Y500 +2 11910.159 32874.266500 -2 11909.211 32878.152550 +2 11860.639 32866.345550 -2 11861.561 32862.452正算程序输K、D:反算程序输X、Y输入(4500计算器)时, 程序中I改为V、J改为W。

I=0:J=0不用输入。

显示结果(4500计算器)输入K◢D◢X◢Y◢(4850计算器)输入"K=":K◢"X=":X◢"D=":D◢"Y=":Y◢如果有两个或两个以上隧道:正算中第3节改为, P=1=> E=?:F=?:A=?:L=?:S=A+90:Q=K-L:≠> P=2=> E=?:F=?:A=?:L=?:S=A+90:Q=K-L:≠> P=3=>……反算中第3节改为, P=1=> E=?:F=?:A=?:L=?:I=0:J=0:≠>P=2=> E=?:F=?:A=?:L=?:I=0:J=0:≠> P=3=>……△△△说明:P=1:计算1号洞数据P=2:计算2号洞数据P=3……圆曲线正、反算程序一、正算(XY)(4850计算器)1、LbI 02、{KD}3、A=?:R=?:E=?:F=?:M=?:I=0:J=04、Q=90(K-M)÷Rπ:S=A-Q:Z=A-2Q+905、Rec(2RsinQ ,S):X=E+I+DcosZ:Y=F+J+DsinZ6、"X=":X◢"Y=":Y◢7、Goto 0说明:A:1—2的方位角R:半径E,F:圆曲线起点坐标Q:圆曲线起点和曲线上任意点与切线的夹角S:圆曲线起点至曲线上任意点的方位角Z:圆心至曲线上任意点的方位角M:圆曲线起点桩号注:此程序为左转路线,如右转路线此程序中第4节改为Q=90(K-M)÷Rπ:S=A+Q:Z=A+2Q-90(如输入4500计算器程序中V变I、I变V、W变J、J变W;I=0:J=0不用输入)(程序中第6节改为X◢Y◢)一、反算(KDR)(4850计算器)1、LbI 02、{XY}3、A=?:R=?:W=?:G=?:M=?:I=0:J=04、E=A+905、PoL(X-W,Y-G):J<0=>J=J+360△6、D=I-R:K=M+Rπ(E-J)÷1807、"K=":K◢"D=":D◢8、Goto 0(,)说明:A:1—2的方位角R:半径W,G:圆心坐标M:圆曲线起点桩号序为左转路线,如右转路线此程序中第4节改为E=A-90:E<0=>E=E+360△第6节改为D=I-R:K=M+Rπ(J-E)÷180注明:如输入4500计算器程序中V变I、I变V、W变J、J变W;I=0:J=0不用输入第7节改为K◢D◢如果有两个或两个以上隧道:正算中第3节改为, P=1=> A=?:R=?:E=?:F=?:M=?:I=0:J=0:≠> P=2=> A=?:R=?:E=?:F=?:M=?:I=0:J=0:≠> P=3=>……△△△反算中第3节改为, P=1=> A=?:R=?:W=?:G=?:M=?I=0:J=0:≠>P=2=> A=?:R=?:W=?:G=?:M=?I=0:J=0:≠>: P=3=>……△△△说明:P=1:计算1号洞数据P=2:计算2号洞数据P=3……直线、圆曲线正、反算程序一、正算程序(XY)(4850计算器)1、LbI 02、{KD}3、A=?:B=?:C=?:R=?:H=?:V=?:L=?:I=0:J=04、T=Rtan(C÷2):M=L-T:N=M+RπC÷1805、Rec(T,B):E=H+I:F=V+J6、Rec(T,A-C):W=H+I:G=V+J7、Q=90(K-M)÷Rπ:S=A-Q:Z=A-2Q+90:U=A-C8、K≤M=> Rec(M-K ,B):X=E+I+Dcos(A+90):Y=F+J+Dsin(A+90):≠>K≤N=>Rec(2RsinQ ,S):X=E+I+DcosZ:Y=F+J+DsinZ:≠>K >N=>Rec(K-N ,U):X=W+I+Dcos(U+90):Y=G+J+Dsin (U+90)△△△9、"X=":X◢"Y=":Y◢10、Goto 0注:此程序为左转路线,如右转路线此程序中第6节改为Rec(T,A+C):W=H+I:G=V+J 第7节改为Q=90(K-M)÷Rπ:S=A+Q:Z=A+2Q-90:U=A+CA:1—2的方位角(,)B:2—1的方位角C:转角R:半径(H,V):转点的坐标L:转点桩号(1—2的距离+1点的桩号或者圆曲线起点桩号+切线长)(E,F):圆曲线起点坐标(W,G):圆曲线止点坐标U:2—3的方位角M:圆曲线起点N:圆曲线止点T:切线长Q:圆曲线起点和曲线上任意点与切线的夹角S:圆曲线起点至曲线上任意点的方位角Z:圆心至曲线上任意点的方位角(如输入4500计算器程序中V变I、I变V、W变J、J变W;I=0:J=0不用输入)(程序中第9节改为X◢Y◢)二、反算程序(KDR)(4850计算器)1、LbI 02、{XYZ}3、U=?:A=?:B=?:C=?:R=?:H=?:V=?:L=?:I=0:J=04、T=Rtan(C÷2):M=L-T:N=M+RπC÷1805、Q=A-C:S=B+(90-C÷2)6、Rec(R÷cos(C÷2),S):W=H+I:G=V+J7、E=A+90:E>360=>E=E-360△8、F=E-C:F<0=>F=F+360△9、PoL(X-W,Y-G):J<0=>J=J+360△10、J≤F=>D=-(X-H)sinQ+(Y-V)cosQ:K=N+(X-H)cosQ+(Y-V)sinQ-T:≠>J≤E=>D=I-R:K=M+R π(E-J)÷180:≠>J>E=>D=(X-H)sinB-(Y-V)cosB:K=L-(X-H)cosB-(Y-V)sinB△△△11、Prog"GC"12、Z-H≤1.489=>R=√((AbsD-0.9)²+(H+1.489-Z)²)-(6+U):≠> AbsD≤(U+7.5)sin36°52′12″=>R=√(D²+(Z-H-0.289)²)-(7.5+U):≠>AbsD>(U+7.5)sin36°52′12″=>R=√((AbsD-0.9)²+(Z-H-1.489)²)-(6+U)ΔΔΔ13、"K=":K◢"D=":D◢"R=":R◢14、Goto 0,)(说明:(此图为1—10节说明图)A:1—2的方位角B:2—1的方位角C:转角H,V:转点的坐标M:圆曲线起N:圆曲线止点T:切线长W,G:圆心坐标Q:2—3的方位角R:半径S:转点至圆心的方位角F:圆心至圆曲线止点方位角E:圆心至圆曲线起点方位角L:转点桩号(1—2的距离+1点的桩号或者圆曲线起点桩号+切线长)注:此程序为左转路线,如右转路线此程序中第5节改为Q=A+C:S=B-(90-C÷2)第7节改为E=B+90:E>360=>E=E-360△第8节改为F=E+C:F>360=>F=F-360△第十节改为J≤E=>D= (X-H)sinB-(Y-V)cosB:K=L-(X-H)cosB-(Y-V)sinB:≠>J≤F=>D=I-R:K=M+Rπ(J-E)÷180:≠>J>F=>D= - (X-H)sinQ+(Y-V)cosQ:K=N+(X-H)cosQ+(Y-V)sinQ-T△△△(下面图形为程序11—14节说明图)U:内空半径增大值(如测内空大小输入0;如上图所示应输入80)Z:实测高程H:路面高K:所求里程√:根号D:所求里程偏离中线距离(左-、右+)R:-为欠挖、+为超挖11、Prog"GC":把计算高程程序作为子程序带入注明:如输入4500计算器程序中V变I、I变V、W变J、J变W;I=0:J=0不用输入程序中第11节改为Prog GC 第13节改为K◢D◢R◢(以上为第一种图形、下面为第二种图形)第二种图形程序中第12节改为Z-H≥2=>R=√((Z-H-2)2+D2)-(5.46+U):≠>R=√( (H+2-Z)2+ (AbsD+2)2) -(7.46+U)△下面为第二种图形示意图:直线、圆曲线正、反算程序数据(注:子程序高程;按照高程程序中的凸行竖曲线数据输入) U=0.8 A=193°42′25.8″B=13°42′25.8″C=40°47′25.7″R=1800 H=11222.276 V=32708.546 L=1207.561K D X Y Z R450 3 11958.972 32885.143 70.294 -2.578450 -3 11957.550 32890.972 82.5 +1.895700 5 11714.617 32830.975 78.8 -0.752700 -1.3 11713.680 32837.204 82.232 +0.8701000 1 11414.857 32815.133 76.5 +0.0101000 -0.5 11414.883 32816.633 75.9 -0.6342000 5 10463.690 33090.839 58.6 +0.0572000 -4 10467.788 33098.852 58.3 -0.756如果有两个或两个以上隧道:正算中第3节改为, P=1=> A=?:B=?:C=?:R=?:H=?:V=?:L=?:I=0:J=0:≠>P=2=> A=?:B=?:C=?:R=?:H=?:V=?:L=?:I=0:J=0:≠>P=3=>……△△△反算中第3节改为, P=1=> U=?:A=?:B=?:C=?:R=?:H=?:V=?:L=?:I=0:J=0:≠>P=2=> U=?:A=?:B=?:C=?:R=?:H=?:V=?:L=?:I=0:J=0:≠> P=3=>……△△△说明:P=1:计算1号洞数据P=2:计算2号洞数据P=3……直线、曲线、缓和曲线正算程(4850计算器)文件名(X Y)1、G=?:I=0 :J=0 :2、V=?:F=?:N=?:R=?:Q=?:W=?:H=?3、LbI 04、{K,D}5、M=V÷2-V³÷240÷R²6、P=V²÷24÷R-V4÷2688÷R³7、L=πRN÷180+V8、T=M+(R+P)tan(N÷2)9、A=Q-T:B=A+V:S=A+L:C=S-V10、Rec(T,F+180)11、Z[1]=I+W12、Z[2]=J+H13、Rec(T,F+GN)14、Z[3]=I+W15、Z[4]=J+H16、K<A=>Goto 117、≠>K<B=>Goto 218、≠>K<C=>Goto 319、≠>K<S=>Goto 420、≠>K≥S=>Goto 5⊿⊿⊿⊿⊿21、LbI 122、Rec(Q-K,F+180)23、E=F+9024、X=I+W+DcosE25、Y=J+H+DsinE26、LbI 727、"X=":X◢"Y=":Y◢28、Goto 029、LbI 230、Z=K-A31、O=90Z²÷R÷V÷π32、X=Z-Z5÷40÷R²÷V²+Z9÷3456÷R4÷V433、Z=Z³÷6÷R÷V-Z7÷336÷R³÷V³+Z11÷42240÷R5÷V534、LbI 635、Rec(X,F)36、X=Z[1]+I37、Y=Z[2]+J38、Rec(Z,F+90G)39、E=F+OG+9040、X=X+I+DcosE41、Y=Y+J+DsinE42、Goto 743、LbI 344、Z=K-A45、O=90(2Z-V)÷π÷R46、X=RsinO+M47、Z=R(1-cos O)+P48、Goto 649、LbI 450、Z=S-K51、O=90Z²÷π÷R÷V52、X=Z-Z5÷40÷R²÷V²+Z9÷3456÷R4÷V453、Z=Z³÷6÷R÷V-Z7÷336÷R³÷V³+Z11÷42240÷R5÷V554、Rec(X,F+GN+180)55、X=Z[3]+I56、Y=Z[4]+J57、Rec(Z,F+GN+180-90G)58、E=F+GN-OG+9059、X=X+I+DcosE60、Y=Y+J+DsinE61、Goto 762、LbI 563、Rec(K-S+T,F+GN)64、E=F+GN+9065、X=W+I+DcosE66、Y=H+J+DsinE67、Goto 7说明:G:左转-1 右转+1V:缓和曲线长度(圆曲线输0)F:起点到转点方位角(1—2)R:半径N:转角Q:转点桩号(或者圆曲线起点桩号+切线长)W,H:转点坐标具体数据见下:G= -1 V=50 F=88°58′38″N=62°53′37″R=100 Q=706.893 W=24021.369 H=94223.502K D X Y620.157 0 24019.820 94136.780650 0 24021.238 94166.579675 0 24026.251 94191.024695 0 24034.325 94209.285705 0 24039.688 94217.721715 0 24045.866 94225.579750 0 24072.807 94247.690770 0 24090.370 94257.246注明:如输入4500计算器程序中V变I、I变V、W变J、J变W;I=0:J=0不用输入如果有两个或两个以上隧道:程序中第2节改为, P=1=> V=?:F=?:N=?:R=?:Q=?:W=?:H=?:≠>P=2=> V=?:F=?:N=?:R=?:Q=?:W=?:H=?:≠>P=3=>……△△△说明:P=1:计算1号洞数据P=2:计算2号洞数据P=3……曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序一、程序功能本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

科学计算器坐标正反算操作步骤

科学计算器坐标正反算操作步骤

科学计算器坐标正反算操作步骤科学计算器是一种常见的工具,可以对数据进行各种计算和操作。

其中,坐标正反算是科学计算器的一项重要功能。

本文将介绍科学计算器中坐标正反算的操作步骤。

坐标正算坐标正算是指通过已知的数据计算出指定点的坐标。

下面是坐标正算的操作步骤:1.打开科学计算器:首先,按下科学计算器的电源按钮,打开计算器。

2.配置计算器模式:根据实际需要,选择合适的计算模式。

科学计算器通常有各种模式可供选择,比如直角坐标模式、极坐标模式等。

在这个步骤中,我们需要确保选择的是直角坐标模式。

3.输入已知数据:根据需要输入已知数据。

通常情况下,我们需要输入已知点的坐标值。

根据计算器的键盘布局,输入数据时使用对应的数字键进行输入。

例如,如果某个点的坐标是(2, 3),则需要按下相应的键来输入这两个数字。

4.进行计算:输入完毕后,按下计算器上的计算按钮(通常是“=”按钮),进行计算。

5.查看结果:计算器会自动计算出指定点的坐标值,结果会显示在计算器的显示屏上。

在直角坐标模式下,通常会显示两个结果,分别为横坐标和纵坐标。

以上就是坐标正算的操作步骤。

坐标反算坐标反算是指通过已知的数据计算出与指定坐标相符的点。

下面是坐标反算的操作步骤:1.打开科学计算器:同样地,按下科学计算器的电源按钮,打开计算器。

2.配置计算器模式:确保选择的是直角坐标模式,以便进行坐标反算。

3.输入已知数据:根据需要输入已知坐标的数值。

计算器的键盘布局通常是将数字和运算符分开的,因此你需要找到合适的键来输入每个数字。

例如,如果已知的坐标是(2, 3),则需要按下相应的键来输入这两个数字。

4.进行计算:输入完毕后,按下计算器上的计算按钮,进行计算。

5.查看结果:计算器会自动计算出与输入的坐标相符的点。

结果通常以坐标形式显示在计算器的显示屏上。

以上就是坐标反算的操作步骤。

总结:科学计算器的坐标正反算功能在我们日常生活中具有重要意义。

通过坐标正算,我们可以根据已知的数据计算出指定点的坐标;而通过坐标反算,我们可以根据已知坐标计算出与之相符的点。

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

卡西欧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↙。

坐标正反算及隧道超欠挖程序

坐标正反算及隧道超欠挖程序

任意坐标正反算及隧道超欠挖程序上面两个圆按钮,右边的一个“FUNCTION”键,3 PROG——下翻页——下翻页——4选项就是 Locate1-JIN YU(主程序)Lbl 4:"1→ZS,2→FS,3→CQW"?NN=1=>Goto 1:N=2=>Goto 2:N=3=>Goto 3Lbl 1: “K=”?S:“P=”?Z:Prog “SJ¬-PM”: Abs(S-O) → W:Prog "SUB1-ZS":“X=":Locate4,4,X:"Y=":Locate4,4,Y:F-90→F:S→ K:Prog“SJ¬-GC”:“H=”:Locate4,4,H◢Goto 4Lbl 2:“X=”?X:“Y=”?Y:Prog“SJ¬-PM”:X→ I:Y→J:Prog "SUB2-FS":O+W→S: “K=": S ◢“P=": Z◢S→ K:Prog“SJ¬-GC” :“H=”: H◢Goto 4Lbl 3: “X=”?X:“Y=”?Y:Prog“SJ¬-PM”:X→ I:Y→J:Prog "SUB2-FS":O+W→S: “K=": S ◢“P=": Z◢S→ K:Prog“SJ¬-GC” :“H=”: H◢Prog“SJ-CQW” ◢Goto4SJ¬-PM(子程序名-平面线形数据库)If S ≥59227.681(线元起点里程):Then 2599818.013→U(线元起点X坐标):496887.918→V(线元起点Y坐标):59227.681→O(线元起点里程):208028’39”→G(线元起点方位角):100 →H(线元长度):1×1045→P(线元起点曲率半径):1×1045→R(线元终点曲率半径):0 →Q(线元左右偏标志:左-1右1):IfEndIf S ≥59327.681(线元起点里程):Then 2599730.112→U(线元起点X坐标):496840.237→V(线元起点Y坐标):59327.681→O(线元起点里程):208028’39”→G(线元起点方位角):90 →H(线元长度):1×1045→P(线元起点曲率半径):750→R(线元终点曲率半径):-1 →Q(线元左右偏标志:左-1右1):IfEnd…………SJ-GC¬(子程序名-竖数据库)If S<变坡终点里程And S≥变坡起点里程:Then大里程坡度→A:小里程坡度→B:变坡点里程→O:变坡点高度→G:半径→R:Prog“SUB3-GC”:IfEnd (注:1.有多个竖曲线,依照上面的依次变更,每多一个,就增加一个。

坐标正反算计算程序

坐标正反算计算程序

坐标正反算计算程序```pythonimport mathdef coordinate_forward(h0, l0, alpha, s):"""坐标正算函数,根据给定的起始位置和观测角度、距离计算目标位置的坐标。

:param h0: 起始位置的水平坐标。

:param l0: 起始位置的纵向坐标。

:param alpha: 观测角度,以正北方向为基准,顺时针方向为正。

:param s: 距离。

:return: 目标位置的水平坐标和纵向坐标。

"""d = math.radians(alpha)h = h0 + s * math.sin(d)l = l0 + s * math.cos(d)return h, ldef coordinate_inverse(h0, l0, h, l):"""坐标反算函数,根据给定的起始位置和目标位置的坐标计算观测角度和距离。

:param h0: 起始位置的水平坐标。

:param l0: 起始位置的纵向坐标。

:param h: 目标位置的水平坐标。

:param l: 目标位置的纵向坐标。

:return: 观测角度和距离。

"""dh = h - h0dl = l - l0s = math.sqrt(dh ** 2 + dl ** 2)alpha = math.degrees(math.atan2(dh, dl))if alpha < 0:alpha += 360return alpha, s```使用这个坐标正反算计算程序,可以简单地实现坐标的正反算。

例如:```python#坐标正算示例h0=0l0=0alpha = 45s=10h, l = coordinate_forward(h0, l0, alpha, s)print(f"目标位置坐标:h={h}, l={l}")#坐标反算示例h0=0l0=0h=5l=5alpha, s = coordinate_inverse(h0, l0, h, l)print(f"观测角度和距离:alpha={alpha}, s={s}")```这段程序中的坐标正算函数`coordinate_forward`接受起始位置的坐标`h0`和`l0`,观测角度`alpha`(以正北方向为基准,顺时针方向为正),以及距离`s`作为参数,返回目标位置的水平坐标`h`和纵向坐标`l`。

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计算器)

正算主程序(ZS)FIX4:?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◢反算主程序(FS)FIX4: ?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◢边坡放样主程序(BP-FY)Lb1 0:Prog“ZS”:“H-BG”(中桩与坡脚起算点高差值,比中桩高正,反之负)?A:H +A→B:?P(实测点高程):?L(坡脚起算点到中桩的距离):0.75(挖方时一级坡度)→C:1(挖方时二级坡度)→D:1.5(挖方时三级坡度)→E:8(挖方时一级坡高)→G:10(挖方时二级坡高)→M:15(挖方时三级坡高)→N:2(平台宽度)→K:1(填方时一级坡度)→I:1.5(填方时二级坡度)→J:2(填方时三级坡度)→O:2(填方时一级坡高)→Q:8(填方时二级坡高)→R:10(填方时三级坡高)→T:ifP>B:thenGoto1:Else Goto2Lb1 1:ifP>B:thenL+C(P-B)→U:P-B→F:IfEnd←┘ifP>B+G:thenL+CG+K+D(P-B-G)→U:P-B-G→F:IfEnd←┘ifP>B+G+M:thenL+GC+2k+MD+E(P-B-G-M)→U:P-B–G-M→F:IfEn d:Goto3←┘Lb1 2:ifP≤B:thenL+I(B -P)→U: B -P→F:IfEnd←┘ifP≤B-Q:thenL+IQ+K+J(B -Q-P)→U:B-Q-P→F:IfEnd←┘ifP≤B-Q-R:thenL+IQ+2k+JR+O(B-Q-R-P)→U:B-Q-R-P→F:IfEn d:Goto3←┘Lb1 3:U-AbsZ→V:ifZ<0:thenZ-V→Z:Else z+v→z:IfEnd←┘“Z=”:Z◢计算得出正确的宽度,路线左为负,右为正。

隧道坐标正反算及超欠挖程序(1)

隧道坐标正反算及超欠挖程序(1)

坐标正反算及超欠挖程序主程序(ZBZFS) "1.SZ => XY":"2.XY => SZ":?N: If N=3:Then Goto 3:IfEnd If N=4 :Then Prog "0-ZZZB": IfEnd "K(L)= "?S:Prog "SJ-PM" 1÷P→C:(P-R) ÷(2HPR)→D:180÷π →E:If N=1:Then Goto 1:Else Goto 2:IfEnd Lbl 1:"s"?s:"z"?z:Abs(S-O)→W:Prog "SUB1":"XS=":X→X◢ "YS=":Y→Y◢ "FS=":F-90→F:F►DMS◢ Goto 1←┘ Lbl 2: "X"?X: "Y"?Y:X→I:Y→J:Prog "SUB2":"S=":O+W→S◢ "Z=":Z→Z◢ "MS:M=1,2"?B: If B=1:Then Prog "SDCQW": IfEnd:Goto 2 LbI 3 "X0"?U: "Y0"?V: "S0"?O: "F0"?G: "LS"?H: "R0"?P: "RN"?R: "Q"?Q: Goto 2: IfEnd: Goto 3 使用说明 数据库主要输入整条线路的曲线要素,再输入完成的情况下,选择正反算,按 1 正算,输入 要算的里程判断你要算的里程在那段曲线要输里面, 如 412348, 然后输入计算里程和偏距, 就可以算出改里程的坐标。

测量坐标正反算的方法有哪些

测量坐标正反算的方法有哪些

测量坐标正反算的方法有哪些在测量工程中,测量坐标的正反算是一项非常重要的工作,它涉及到坐标系的转换和计算。

坐标正算是指根据给定的坐标系和已知点的坐标计算其他点的坐标,而坐标反算则是根据已知的点的坐标和坐标系中的点的坐标计算坐标系的参数。

本文将介绍几种常用的测量坐标正反算的方法。

1. 坐标正算坐标正算是通过已知的坐标系和已知点的坐标来计算其他点的坐标。

下面介绍两种常见的坐标正算方法。

1.1. 直角坐标正算直角坐标正算是根据已知坐标点的直角坐标和坐标系的原点来计算其他点的直角坐标。

它需要用到平差原理和三角函数。

具体步骤如下:1.选择坐标系和原点,并确定坐标轴的正方向。

2.根据给定的已知点的直角坐标和坐标系的原点,计算其他点的直角坐标。

这个计算过程需要考虑坐标轴的正方向和三角函数的运算。

1.2. 极坐标正算极坐标正算是根据已知点的极坐标和坐标系的原点来计算其他点的极坐标。

它需要用到三角函数和坐标系的转换公式。

具体步骤如下:1.选择坐标系和原点,并确定极轴的方向。

2.根据给定的已知点的极坐标和坐标系的原点,计算其他点的极坐标。

这个计算过程需要考虑极轴的方向和坐标系的转换公式。

2. 坐标反算坐标反算是根据已知的点的坐标和坐标系中的点的坐标计算坐标系的参数。

下面介绍两种常见的坐标反算方法。

2.1. 直角坐标反算直角坐标反算是根据已知点的直角坐标和坐标系中的点的直角坐标来计算坐标系的参数。

具体步骤如下:1.根据已知点的直角坐标和坐标系中的点的直角坐标,计算坐标轴的旋转角度和坐标轴的比例尺。

2.根据计算得到的坐标轴的旋转角度和坐标轴的比例尺,计算坐标系的参数。

2.2. 极坐标反算极坐标反算是根据已知点的极坐标和坐标系中的点的极坐标来计算坐标系的参数。

具体步骤如下:1.根据已知点的极坐标和坐标系中的点的极坐标,计算极轴的旋转角度和坐标系的放大系数。

2.根据计算得到的极轴的旋转角度和坐标系的放大系数,计算坐标系的参数。

CASIO4800系列计算器线路正反算程序

CASIO4800系列计算器线路正反算程序

CASIO4800系列计算器线路线路正反算程序经本人苦心钻研,奋战多日,终于编写出了速度快,精度高,功能全的线路坐标正反算程序,欢迎试用并提出宝贵意见。

部分引用请注明出处。

功能简介及特点:1、选用高斯-勒让德公式作计算内核,保证精度,模块化设计,便于扩充功能。

2、线元数据可自动从数据库调用,也可手工输入。

3、可管理多条线路,如里程不在线路或线元范围,将警告里程偏大、偏小。

4、边桩计算设计为导线式递推方式,可用于由一个中桩推出结构物所有角点坐标。

5、反算实现了智能化操作,只需输入线路号(或手工输线元资料)、坐标,不需近似里程,即可自动从起点向后开始试算出里程、位置,如对算出里程、位置表示怀疑,还可以让计算器从终点起再向前试算下一个可能的位置(匝道、回头曲线同一坐标可能会有一个以上结果)。

6、程序代码规范简洁,便于阅读、理解。

程序清单:ZFS///正反算主程序Norm:Lbl 1:U"1 ZS 2 FS"=1=>Prog "ZS":≠>U=2=>Prog"FS":≠>Goto 1ZS///正算子程序{T}:Lbl 1:{K}:T"1 B"=1=>Prog"ZZ":Prog"WY":Goto 1△Prog"ZZ":Prog"ZB":Goto 1FS///反算子程序Lbl 1:{VW}:V"X"W"Y":U=2:Lbl 2:Prog "ZZ":Pol(V-X,W-Y:J=J-O:I=Rec(I,J:K=K+I:AbsI<0.001=>"KJ":K:Pause1:J◢{Z}:Z"0 NEXT"=0=>U=0:Goto 2△Goto 1△Goto 2GS///高斯法中桩子程序S=K-L:G=(P-R)÷2PQR:A=.1739274226:B=.5-A:C=.0694318442:D=.3300094782:E=1-C:F=1-D: I=4:Lbl 1:B[I]=O+180π-1SB[I](P-1+SGB[I]:Dsz I:Goto 1:O=O+180π-1S(P-1+SG:X=X+S(AcosC+BcosD+AcosE+BcosF:Y=Y+S(AsinC+BsinD+AsinE+BsinFZZ///中桩计算子程序Prog"XL":Prog"GS"WY///外移点计算子程序Lbl 1:I=0:J=90:{IJ}:I"L"≠0=>Z=J"<":J=O+J:O=O+Z:X=X+Rec(I,J:Y=Y+J:Prog"ZB":Goto 1ZB///坐标显示子程序"XY":X:Pause 1:Y◢YC///里程异常处理子程序U=2=>K=LΔU=0=>K=MΔU=1:K<L=>"<<!"◢H=1ΔK>M=>">>!"◢H=1Δ---------------------------以上为程序运算部分,以下为数据库部分-------------------------------------- XL///线路数据库选择子程序Lbl 1:H=0:N"0 SD":N=0=>Prog"0"△N=1=>Prog"1"△N=2=>Prog"2"△...有几条线路仿上行格式输几行H=1=>{NLXYOPQRK}:Goto 10///手工输入子程序L"K0"XYO"A0"Q"LS"P"R0"R"RN":M=L+Q:Prog"YC"1///线路一数据库子程序L=线路起点里程:M=线路终点里程:Prog"YC":H=1=>Goto EΔX=起点X坐标:Y=起点Y坐标:O=起点方位角:Q=线元长:P=起点半径:R=终点半径:K<L+Q=>Goto EΔL=123:X=123:Y=123:O=123:Q=123:P=123:R=123:K≤L+Q=>Goto EΔ...按里程由小到大,每条线元输一行。

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

个人小程序如有不明白联系QQ:308691518
直线计算程序
0→I:0→J:”X0”?D:”Y0”?E:”X1”?B:”Y1”?C:Pol(B-D,C-E):J→A:If A<0:
Then A+360→A:Else A→A:IfEnd:Lbl 0:?O:?S:If O≠0:Then Goto 1:IfEnd:
D+Scos(A) →X:”X=”:X ◢
E+Ssin(A) →Y:”Y=”:Y◢
Goto 0:Lbl 1:D+Scos(A)+Ocos(A+90) →X:”X=”:X ◢
E+Ssi n(A)+Osin(A+90) →Y:”Y=”:Y◢
Goto 0
输入程序时注意区别字母O 与数字0
程序运行时符号说明
X0? Y0? 分别输入直线起点的XY坐标值
X1? Y1? 分别输入直线终点的XY坐标值
O? 输入边桩与中桩的距离( 左边桩为负值, 右边桩为正值), 如计算中桩坐标输入0 S? 输入所求点到直线起点的距离
圆曲线计算程序
0→I:0→J: ”X0”?C:”Y0”?D:”X1”?E:”Y1”?F:?R:”L:-1 R:1”?N:”ZY”?W:Lbl 0:”LN”?T:
T-W→O:Pol(E-C,F-D):I→S:J→A: If A<0:Then A+360→A:Else A→A:IfEnd:
sin-1(S÷(2R)) →K:2∏RK÷180→L:180O÷(2∏R) →G:(2R)sin(G) →H:C+Hcos(A-KN+GN) →X:”X=”:X ◢
D+Hsin(A-KN+GN) →Y:”Y=”:Y◢
R-0.5√(4R2-H2) →Q:”Q=”:Q ◢
“S=”?V:If V=0:Then Goto 0:IfEnd:”L:-90 R:90”?U:X+Vcos(A-KN+2GN+U) →X:”X=”:X ◢
Y+Vsin(A-KN+2GN+U) →Y:”Y=”:Y◢
Goto 0
输入程序时注意区别字母O 与数字0
程序运行时符号说明
X0? Y0? 分别输入直线起点的XY坐标值
X1? Y1? 分别输入直线终点的XY坐标值
R? 输入圆曲线半径
L:-1 R:1? 圆曲线向左转弯时输入-1, 向右转弯时输入1
ZY? 输入起点桩号
LN? 输入所求点桩号( 按下exe 键后显示中桩坐标)
S? 输入所要求的边桩与中桩的距离
L:-90 R:90 要求左边边桩输入-90, 右边边桩输入90( 按下exe 键后显示边桩坐标)
二、程序清单
程序名:大地转施工
“QK=” ?Z:“QX=” ?A:“QY=”?B:“ZX=” ?O:“ZY=” ?Q ↙
Pol( O-A,Q-B) ↙
J<0=>J+360→J ↙
J>360=>J-360→J ↙
J→F:“JF=” :F ◆ DMS ◢
Lb1 0 ↙
?X:?Y↙
Pol (X-A,Y-B):I→D ↙
J<0=>J+360→J ↙
J>360=>J-360→J ↙
J-F→T:T→G ↙
T<0=>T+360→G ↙
T>360=>T-360→G ↙
Z+Dcos (G)→K:“K=” :K ◢
Dsin (G)→C:“C=” : C ◢
GoTo 0 ↙
三、程序使用说明:
QK-- 输入线路起始点里程
QX-- 输入线路起始点中桩X 坐标
QY-- 输入线路起始点中桩Y坐标
ZX-- 输入线路前进方向中桩X 坐标
ZY-- 输入线路前进方向中桩Y坐标
JF=-- 显示线路测量坐标方位角
X-- 输入线路附近任意点测量X 坐标
Y-- 输入线路附近任意点测量Y坐标
K-- 显示计算结果:里程桩号,即工程X 坐标
C-- 显示计算结果:左右偏距,即工程Y坐标, 中桩=0 ,左偏= 负值,右偏= 正值。

相关文档
最新文档