公路路线座标正反算(积分公式)通用程序

合集下载

公路坐标计算程序

公路坐标计算程序

公路坐标计算程序(微积分)1、正算子程序(SUB1)A=0.1739274226:B=0.3260725774:K=0.0694318442:L=0.3300094782:F=1-L:M=1-K:X=U+W(Acos(G+57.29577951QKW(1/P+KWD))+Bcos(G+57.29577951QLW(1/P+LWD))+Bcos(G+57.29577951QFW(1/P+FWD))+Acos(G+57.29577951QKW(1/P+KWD))+Bsin(G+57.29577951QLW(1/P+LWD))+Asin(G+57.29 577951QMW(1/P+MWD))):F=G+57.29577951QW(1/P+WD)+90:X=X+ZcosF:Y=Y+ZsinF2、反算子程序(SUB2)T=G-90:W=Abs((Y-V)cosT-(X-U)sinT) :Z=0:LbI0:Prog〝SUB1〞:L=T+57.29577951QW(1/P+WD) :Z=(J-Y)cosL-(I-X)sinL:Abs Z﹤1E-6﹦>G0to1:≠>W=W+Z:G0to0⊿LbI1:Z=0:Prog〝SUB1〞:Z=(J-Y)/SinF3、数据库(SJK)LbI4:〝1.SZ﹦>XY〞:〝2.XY﹦>SZ〞:{NS}:S≤下一线元起点里程﹦>O=本线元起点里程:U=本线元起点X:V=本线元起点Y:G=本线元起算方位角:H=本线元长度:P=起点曲率半径:R=终点曲率半径:Q=0或1、-1:G0to0⊿(第一线元曲线要素)接S≤下一线元起点里程﹦>O=本线元起点里程:U=本线元起点X:V=本线元起点Y:G=本线元起算方位角:H=本线元长度:P=起点曲率半径:R=终点曲率半径:Q=0或1、-1:G0to0⊿(第二线元曲线要素)接S≤下一线元起点里程﹦>O=本线元起点里程:U=本线元起点X:V=本线元起点Y:G=本线元起算方位角:H=本线元长度:P=起点曲率半径:R=终点曲率半径:Q=0或1、-1:G0to0⊿(第三线元曲线要素)……接LbI0:D= (P-R)/(2HPR) :N=1﹦>G0to1:≠>G0to2⊿LbI1:{Z}:Z:W=Abs(S-O) :Prog〝SUB1〞:X=〝Xs〞=X▲Y=〝Ys〞=Y▲F=〝Fs〞=F-90▲C〝Xc〞:E〝Yc〞:I=0:J=0:Pol(X-C,Y-E) :I=〝I=〞▲J<0﹦>J〝J=〞+360▲≠>J〝J=〞▲⊿G0to4LbI2:{XY}:XY:I=X:J=Y:Prog〝SUB2〞:S〝S〞=O+W▲Z〝Z〞=Z▲G0to4使用说明:1、把所有线元要素依次输入数据库(一缓和曲线P=1E45,R=圆半径,圆曲线R=P=圆曲线半径,二缓和曲线P=R,R=1 E45,直线P=R=1 E45)。

工程测量坐标正反算通用程序(终极篇)

工程测量坐标正反算通用程序(终极篇)

工程测量坐标正反算通用程序(终极篇)第五篇坐标正反算通用程序(终极篇)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?DMS◢第6行:Goto 0K——计算点的里程BIAN——计算点到中桩的距离(左负右正)α——取前右夹角为正2. 坐标反算桩号和偏距主程序(命名为ZBFS)第1行:”X1=”? C:”Y1=”?D:”K1=”?K第2行:Lbl 0:Prog “A”第3行:Pol(C-N,D-E):Icos(F-J)→S:K+S→K第4行:Abs(S)>0.0001=>Goto 0第5行:”K1=”:K◢第6行:”BIAN=”:Isin(J-F)→Z◢X1——取样点的X坐标Y1——取样点的Y坐标K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号Z——偏距(左负右正)注:在9860或9960中需将第3行替换为Pol(C-N,D-E): List Ans[1]→I :List Ans[2]→J:Icos(J-F)→S:K+S →K,正反算主程序所有输入赋值多加一赋值符号(→),其他所有除数据库外的程序均保持不变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+S I)×90÷π→F第5行:F<0=>F+360→F: F>360=>F-360→F4. 数据库(命名为A)第1行:K≤175.191=>Stop(超出后显示Done)第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(第一缓和曲线)第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(圆曲线)第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(第二缓和曲线)第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(下一曲线的第一缓和曲线,示例为S型曲线,超出后显示Done)第6行:Lbl 1:Prog “XYF”A——曲线段起点的里程N——曲线段起点的x坐标E——曲线段起点的y坐标F——曲线段起点的坐标方位角P——曲线段起点的曲率(半径倒数,直线为0,左负右正)Q——曲线段终点的曲率(半径倒数,直线为0,左负右正)L——曲线段长度(尽量使用长度,为计算断链方便)说明:(1)正算主程序可以计算一般边桩的坐标,如要计算类似涵洞端墙的坐标需增加两个变量,具体方法参考本程序集中的第1篇辛普生公式的坐标计算通用程序(2)适用于任意线形:直线(0→P、0→Q)、圆曲线(圆半径倒数→P、圆半径倒数→Q)、缓和曲线(0或圆半径倒数→P、圆半径倒数或0→Q)、卵形曲线(接起点圆的半径倒数→P、接终点圆的半径倒数→Q),曲线左转多加一负号。

坐标正反算程序(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为根号。

公路坐标正反算程序

公路坐标正反算程序

RAπ÷180-(B+C) ÷2→Q↙
(R+(Z[6]+Z[7])÷2)÷cos(A÷2)-R→E↙
K-S→Z[1] ↙↙
Z[1]+B→Z[2] ↙↙
Z[2]+Q÷2→Z[3]↙
Z[1]+L-C→Z[4]↙
Z[4]+C→Z[5]↙
子程序2名: JDB
X-Scos(M)→Z[19]:
(Abs(K-O)) →J:Prog"SUB1":
(F-M) →F
Return
2. 反算主程序 GSFS
Lbi 0:?X:?Y:X→Z[2]:Y→Z[3]:
“QDXO”?I:"QDY0"?S:"QDLC"?O:"QDFWJ "?G:"ZDLC"?H:"QDR"?P:"ZDR"?R:”Q(Z=-1 ZX=0 Y=1)” ?Q:
M+90WL2 ÷(BRπ)→Z↙
Goto 5↙
LbI 2 : If P>Z[4]:Then Goto 3 :IfEnd↙
P-Z[1]→L:90(2L-B)÷R÷π→Z[11]↙
Rsin(Z[11])+Z[8]→Z[14]:R(1-cos(Z[11]))+Z[6]→Z[15]↙
M→Z : Goto 5↙
LbI 1 : If P>Z[2]:Then Goto 2 :IfEnd↙
P-Z[1]→L:L→Z[12]:B→Z[13]:Prog"JDC"↙
Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙

线元法线路坐标正反算程序

线元法线路坐标正反算程序

线元法线路坐标正反算程序经苦心钻研,奋战多日,终于编写出了代码短,速度快,精度高,功能全的线路坐标正反算程序,欢迎试用并提出宝贵意见。

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

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

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

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

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

第三次及以后试算才要求输入近似里程。

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

完整程序清单:ZFS %正反算主程序B=.1739274226:C=.5-B:Lbl 1:U"0 ZS 1 FS"=0=>Prog "ZS":≠>U=1=>Prog"FS":≠>Goto 1ZS %正算子程序{K}:Prog"ZZ":I=0:{I}:I"L"≠0=>"Prog"WY":≠>Prog"ZB"FS %反算子程序{KVW}:V"XC"W"YC":Lbl 2:Prog "ZZ":I=V-S:J=W-T:Pol(I,J: J=J-F:K=K+Rec(I,J:AbsI<1m=>Prog"WZ":≠>Goto 2ΔM=0:{M}:M"0 NEXT"=0=>U=U+1:Goto 2:≠>U=1ZZ %高斯法中桩子程序(4节点)Prog"XL":M=K-L:O=(P-R)÷2PQR:D=.0694318442:E=.3300094782:F=1:G=1-E:H=1-D:I=5:Lbl 1:C[I]=A+MrC[I](1÷P+OMC[I]:Dsz I:Goto 1:S=X+M(BcosD+CcosE+CcosG+BcosH:T=Y+M(BsinD+CsinE+CsinG+BsinHWY %外移点计算子程序Lbl 1:J=90:{J}:J=F+J"<":F=J:S=S+Rec(I,J:T=T+J: Prog"ZB":I=0:{I}:I"L"≠0=>Goto 1WZ %位置显示子程序"KJ":K:Pause 1:J◢ZB %坐标显示子程序"XY":S:Pause 1:T◢YC %异常处理子程序U=1=>K=L:U=2ΔU=3=>K=M:U=4ΔU=5=>{K}:U=4ΔK"<K>M=>">>!":Z=1DL %断链处理子程序"DL":K=L:I>0=>K=L+Q-------------------------以上为程序运算部分,以下为数据库部分-------------------------------XL %线路数据库选择子程序Lbl 1:Z=0:N"0 SD"=0=>Prog"0"△N=1=>Prog"1"△N=2=>Prog"2"△...有几条线路仿上行格式输几行Z=1=>{NLXYOPQRK}:Goto 10 %手工输入子程序L"K0"XYAQ"LS"P"R0"R"RN":M=L+Q:Prog"YC"1 %线路一数据库子程序①Lbl B:L=线路起点里程:M=线路终点里程:Prog"YC":Z=1=>Goto EΔ②Q=线元长:P=起点半径:R=终点半径:K≤L+Q=>X=起点X坐标:Y=起点Y坐标:A=起点方位角:Goto EΔL=L+Q:③......④Q=短链长:KProg "DL":Goto BΔL=L+Q:⑤Q=线元长:P=起点半径:R=终点半径:K≤L+Q=>X=起点X坐标:Y=起点Y坐标:A=起点方位角:Goto EΔL=L+Q:⑥......⑦Q=线元长:P=起点半径:R=终点半径:X=起点X坐标:Y=起点Y 坐标:A=起点方位角:Lbl E2 %线路二数据库子程序输入要求和线路一相同。

坐标正反算计算程序

坐标正反算计算程序

坐标正反算计算程序在进行坐标正反算计算之前,需要先了解一些基本概念和公式:1.大地坐标系:大地坐标系是用经纬度表示地球表面上的点的坐标系统,其中经度表示东西方向的位置,纬度表示南北方向的位置。

2.平面坐标系:平面坐标系是用平面直角坐标系表示地球上的点的坐标系统,其中X轴表示东西方向的位置,Y轴表示南北方向的位置。

3.椭球坐标参数:椭球坐标参数包括椭球体长半轴a、短半轴b和偏心率e等参数,用来描述地球表面的形状。

4.大地坐标与平面坐标的转换公式:-大地坐标转平面坐标:平面X坐标 = N * (cosB * (L - L0))平面Y坐标 = M + N * sinB * tan(B - B0)-平面坐标转大地坐标:B=B0+(Y-M)/NL = L0 + X / (N * cosB)H = (N / cosB) - N其中,N、M、B0、L0分别代表椭球的参数计算中的一些辅助数值,H 代表大地高。

下面是一个示例的坐标正反算计算程序:```pythonimport mathclass CoordinateConverter:def __init__(self, a, b, e, lon_origin, lat_origin):self.a = aself.b = bself.e = eself.lon_origin = lon_origint_origin = lat_origindef geodetic_to_plane(self, lon, lat):lon_diff = lon - self.lon_originM = self.a * (1 - self.e ** 2) / (1 - self.e ** 2 * math.sin(t_origin) ** 2) ** 1.5N = self.a / math.sqrt(1 - self.e ** 2 *math.sin(t_origin) ** 2)X = N * math.cos(t_origin) * lon_diffY = M + N * math.sin(t_origin) * math.tan(lat - t_origin)return X, Ydef plane_to_geodetic(self, X, Y):M = self.a * (1 - self.e ** 2) / (1 - self.e ** 2 *math.sin(t_origin) ** 2) ** 1.5N = self.a / math.sqrt(1 - self.e ** 2 *math.sin(t_origin) ** 2)lat = t_origin + (Y - M) / Nlon = self.lon_origin + X / (N * math.cos(lat))H = (N / math.cos(lat)) - Nreturn lon, lat, H#示例用法#大地坐标转平面坐标X, Y = converter.geodetic_to_plane(lon=121, lat=41)print("平面坐标:", X, Y)#平面坐标转大地坐标print("大地坐标:", lon, lat, H)```注意:在实际使用时,需要根据具体的椭球参数和坐标系定义进行适当修改,以满足实际需求。

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

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

目录一、坐标正算基本公式………………………………………………………02二、坐标反算原理 (04)三、高程数据库录入变换 (05)四、计算器程序………………………………………………………07 01、ZBZS(坐标正算)………………………………………………………0702、ZBFS(坐标反算)………………………………………………………0803、GCJF(高程积分) (09)04、PJFY(坡脚放样)………………………………………………………1005、JFCX(积分程序) (11)06、ZBFY(坐标放样)………………………………………………………1107、DT(递推) (12)08、H P(横坡) (13)09、LK(路宽)………………………………………………………1410、SJK1(平面数据库) (14)11、SJK2(纵面数据库)………………………………………………1412、SJK3(左路宽度数据库) (15)13、SJK4(右路宽度数据库) (15)14、SJK5(横坡数据库)......................................................1615、SJK6(下边坡数据库) (16)16、SJK7(左上边坡数据库)………………………………………………1717、SJK8(右上边坡数据库)………………………………………………18五、后记 (19)CASIO 5800计算器公路工程测量程序一、正算所涉及得计算公式 X R i d XαβBd Y d l d βI图表 错误!不能识别的开关参数。

在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标点。

设: A点得X 坐标为X A ,Y 坐标为Y A ,A点得切线方位角为α,A 点得曲率为ρA,A 点得里程为LA,B 点得曲率为ρB,B点得里程为L B,I 点得曲率为ρI ,I点得里程为LI 。

工程测量坐标正反算通用程序(终极篇)

工程测量坐标正反算通用程序(终极篇)

第五篇坐标正反算通用程序(终极篇)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►DMS◢第6行:Goto 0K——计算点的里程BIAN——计算点到中桩的距离(左负右正)α——取前右夹角为正2. 坐标反算桩号和偏距主程序(命名为ZBFS)第1行:”X1=”? C:”Y1=”?D:”K1=”?K第2行:Lbl 0:Prog “A”第3行:Pol(C-N,D-E):Icos(F-J)→S:K+S→K第4行:Abs(S)>0.0001=>Goto 0第5行:”K1=”:K◢第6行:”BIAN=”:Isin(J-F)→Z◢X1——取样点的X坐标Y1——取样点的Y坐标K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号Z——偏距(左负右正)注:在9860或9960中需将第3行替换为Pol(C-N,D-E): List Ans[1]→I :List Ans[2]→J:Icos(J-F)→S:K+S →K,正反算主程序所有输入赋值多加一赋值符号(→),其他所有除数据库外的程序均保持不变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+S I)×90÷π→F第5行:F<0=>F+360→F: F>360=>F-360→F4. 数据库(命名为A)第1行:K≤175.191=>Stop(超出后显示Done)第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(第一缓和曲线)第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(圆曲线)第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(第二缓和曲线)第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(下一曲线的第一缓和曲线,示例为S型曲线,超出后显示Done)第6行:Lbl 1:Prog “XYF”A——曲线段起点的里程N——曲线段起点的x坐标E——曲线段起点的y坐标F——曲线段起点的坐标方位角P——曲线段起点的曲率(半径倒数,直线为0,左负右正)Q——曲线段终点的曲率(半径倒数,直线为0,左负右正)L——曲线段长度(尽量使用长度,为计算断链方便)说明:(1)正算主程序可以计算一般边桩的坐标,如要计算类似涵洞端墙的坐标需增加两个变量,具体方法参考本程序集中的第1篇辛普生公式的坐标计算通用程序(2)适用于任意线形:直线(0→P、0→Q)、圆曲线(圆半径倒数→P、圆半径倒数→Q)、缓和曲线(0或圆半径倒数→P、圆半径倒数或0→Q)、卵形曲线(接起点圆的半径倒数→P、接终点圆的半径倒数→Q),曲线左转多加一负号。

公路曲线线路正反算程序 Microsoft Word 2007 文档

公路曲线线路正反算程序 Microsoft Word 2007 文档

公路曲线线路正反算程序(原名:互通式立交、匝道多线路综合计算程序(四))⑴有关资料采用复化辛普森公式:X=XA+H / 6(cos aA+4∑cos aK+1/2 +2 ∑cos aK +cos ai)(K=0~n-1)Y=YA+ H / 6(sin aA+4∑sin aK+1/2 +2 ∑sin aK +sin ai)(K=0~n-1)式中:aA为回旋曲线起点A的切线方位角;aK+1/2为里程DXK+1/2点切线方位角;aK为里程DXK点切线方位角;ai为里程DKi点切线方位角。

对于上式,虽然是由回旋曲线导出的,但该式也适用直线段和圆曲线段。

⑵ ZDY-8程序(主程序)AC MODE 5 1 ZDY ALPHA — 7 EXE 1Lbl 0 ∶“1.KB=>XY”: “2.XY=>KB”: {J}:J=1=> Goto 1∶≠> GOTO 2∶LbI 1∶{H L O}∶H“KP”L“B”O∶Prog ″ABCD1″∶Prog ″XY 9 ″∶Prog ″XY10 ″∶ Goto 1∶Lbl 2∶Prog ″XY 8 ″∶ GOTO 0 EXE⑵支程序①XY8程序(反算程序)AC MODE 5 1 X Y ALPHA 8 EXE 1Lbl 0 ∶H“KP”∶ Prog ″ABCD1″∶Prog ″XY9 ″∶{LO}∶L”X0”∶O”Y0”∶U= Z - 90∶P= (O-N)cos U -(L-M) sin U ∶AbsP≥0.001=>H=H+P∶GOTO 0 : ≠>H” KI =”▲ V= (O -N)cos Z - (L -M) sin Z ▲②XY9程序(正算程序)AC MODE 5 1 XY ALPHA 9 EXE 1P=(E-D)÷(G-F)∶ Q= H-F∶I=PQ ∶R =8∶LbI 3∶R[R]=C+RQ(RI÷8+2D)r÷16∶DSZ R∶Goto 3∶R=C∶M“X”=A+Q∑(cosR[2K]+4 cos R[2K+1]+cos R[2K+2],K,0,3)÷24 ▲N“Y”=B+Q∑(sinR[2K]+4 sin R[2K+1]+sin R[2K+2],K,0,3)÷24 ▲Z“QI”=360 Frac((Z+360) ÷ 360 ) ▲③XY10程序(边桩计算程序)AC MODE 5 1 XY ALPHA 10 EXE 1U“X1”=M+Lcos(Z-180+O)▲V“Y1”=N+Lsin(Z -180+ O )▲U “X2”=M+Lcos(Z+O )▲V “Y2”=N+Lsin(Z+O )▲④ABCD程序系列⑴ABCD1程序第一条匝道AC MODE 5 1 ABCD ALPHA 1 EXE 1H≤G =>H≥F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔH≤G =>H>F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔH≤G=>H>F=> F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔ……H≤G=>H>F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔ⑵ABCD 2程序第二条匝道AC MODE 5 1 ABCD ALPHA 2 EXE 1H≤G =>H≥F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔH≤G =>H>F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔH≤G=>H>F=> F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔ……H≤G=>H>F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔ⑶ABCD 3 程序第三条匝道AC MODE 5 1 ABCD ALPHA 3 EXE 1H≤G =>H≥F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔH≤G =>H>F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔH≤G=>H>F=> F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔ……H≤G=>H>F=>F“KA”=***∶A“XA”=***∶B“YA”=***∶C“QA” =***∶D “PA” =***∶G“KB” =***∶E“PB” =***∶ΔΔ⑷ ABCD i 第i条匝道注:式中的“**”便于输入数据时便于识别,避免输错,因此在计算器输入时均可将“**”删去。

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

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

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

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

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

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

)卡西欧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]:G oto 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←┘L bl 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 。

casio5800积分法线路坐标正反算

casio5800积分法线路坐标正反算

CASIO-5800积分法线路坐标正反算—雨中听风施工测量工作中较高档的计算器已很普及,施工放样的数据处理也应该采用程序化计算,以避免出错和提高测量工作的效率。

下面介绍本人炎汝(炎陵至汝城湘粤界)高速公路施工测量工作中应用的CASIO-5800计算器线元积分法坐标正反算程序(程序应用了测量空间里李艳阳老师提供的通用积分公式,在此表示感谢)。

该程序适用于任意线元的坐标、里程及偏距计算,只需更新数据库或者手工输入线元要素便可计之所需。

1.积分坐标正反算主程序(JF.ZBZFS)Lb1 0: Cls↓〝1.SZ => XY〞↓〝2.XY =>SZ〞:?Q↓〝灵活LH.K=0〞↓〝左线ZX.K=1〞↓〝右线YX.K=2〞:?K↓IF K=1:Then Prog〝YS1〞:Else IF K=2:Then Prog〝YS2〞:Else IF K=0:Then 〝QS.FW〞?A: 〝QS.LC〞?O: 〝QS.X〞?U:〝QS.Y〞?V: 〝R0〞?P: 〝RN〞?R: 〝XY.CD〞?L↓Ifend:Ifend:Ifend:?S:S -(字母)O→X:IF X <(数字)0 Or X > L:Then 〝=CUOWU="◢Goto 0 :Ifend :Q=2=>Goto 2↓Lbl 1:?Z:Prog 〝ZS〞↓Cls:Fix 3:〝N=〞:Locate 3,1,N:〝E=〞:Locate 3,2,E:〝FW=〞:F▲DMS◢Norm 2 :Goto 0↓Lbl 2:〝CX〞?B:〝CY〞?C:B→N:C→E:Prog〝FS〞↓Cls: Fix 3:〝S=〞:Locate 4,1,S:〝Z=〞:Locate 4,2,Z◢Norm 2 :Goto 02. 正算子程序(ZS)0.5(1÷R-1÷P)÷L→D:S-(字母)O→X↓U+∫(cos(A+(X÷P+DX²)×180÷(圆周率)∏),(数字)0,X)→N↓V+∫(sim(A+(X÷P+DX²)×180÷(圆周率)∏),(数字)0,X)→E↓A+(X÷P+DX²)×180÷(圆周率)∏→FN+Zcos(F+90)→N:E+Zsim(F+90)→E↓3. 反算子程序(FS)Lb1 1:(数字)0→Z: 1→Q: Prog〝ZS〞↓Pol(N-B+10^(-46) ,E-C+10^(-46)) ↓Isim(F-90-J)→W:S+W→S↓Abs(W)>0.0001=> Goto 1↓Lb1 2: (数字)0→Z : Prog〝ZS〞↓(C-E)÷sin(F+90)→Z数据库子程序(炎汝11标左线)(YS1)Goto 1 ↓Lb1 1 ↓IF S≥45871.346 And S<47089.759:Then194°17°39.6°→A:45871.346→O: 3966.911→U: 733.518→V:10^45→P: 10^45→R: 1218.413→L:Return:IfEnd↓IF S≥47089.759 And S<47254.759:Then194°17°39.6°→A:47089.759→O: 2786.220→U: 432.688→V:10^45→P: -1480→R: 165→L:Return:IfEnd↓IF S≥47254.759 And S<47905.918:Then191°06°01.73°→A:47254.759→O: 2625.621→U: 394.932→V:-1480→P: -1480→R: 651.159→L:Return:IfEnd↓IF S≥47905.918 And S<48070.918:Then165°53°30.93°→A:47905.918→O:1979.924→U:411.883→V:-1480→P: 10^45→R: 165→L:Return:IfEnd↓IF S≥48070.918 And S<48332.968:Then162°41°53°→A:48070.918→O: 1821.528→U: 458.013→V: 10^45→P: 10^45→R: 262.050→L:Return:IfEnd↓IF S≥48332.968 And S<48477.968:Then162°41°53°→A:48332.968→O: 1571.335→U: 535.949→V: 10^45→P: 800→R: 145→L: Return:IfEnd↓IF S≥48477.968 And S<48915.797:Then167°53°25.75°→A: 48477.968→O: 1431.708→U: 574.858→V: 800→P: 800→R: 437.829→L:Return:IfEnd↓IF S≥48915.797 And S<49060.797:Then199°14°51.64°→A: 48915.797→O:1000.161→U:547.941→V: 800→P: 10^45→R: 145→L:Return:IfEnd↓IF S≥49060.797 And S<49556.014:Then204°26°24.40°→A: 49060.797→O:866.451→U:491.983→V: 10^45→P: 10^45→R: 495.217→L:Return:IfEnd↓IF S≥49556.014 And S≤50236.938:Then204°26°24.40°→A: 49556.014→O:415.608→U:287.091→V: -2500→P: -2500→R:680.924→L:Return:IfEnd↓Lb1 1: A:O:U:V:P:R:L数据库子程序(炎汝11标右线)(YS2)Goto 1 ↓Lb1 1 ↓IF S≥45700.089 And S<47055.633:Then194°17°39.6°→A:45700.089→O:4117.556→U:500744.038→V:10^45→P: 10^45→R:1355.544→L:Return:IfEnd↓IF S≥47055.633 And S<47220.633:Then194°17°39.6°→A:47055.633→O: 2803.979→U: 409.351→V:10^45→P: -1480→R: 165→L:Return:IfEnd↓IF S≥47220.633 And S<47871.792:Then191°06°01.73°→A:47220.633→O: 2643.381→U: 371.595→V:-1480→P: -1480→R: 651.159→L:Return:IfEnd↓IF S≥47871.792 And S<48036.792:Then165°53°30.93°→A: 47871.792→O:1997.684→U:388.546→V:-1480→P: 10^45→R: 165→L:Return:IfEnd↓IF S≥48036.792 And S<48291.984:Then162°41°53°→A: 48036.792→O: 1839.287→U: 434.676→V: 10^45→P: 10^45→R: 255.192→L:Return:IfEnd↓IF S≥48291.984 And S<48436.984:Then162°41°53°→A: 48291.984→O: 1595.643→U: 510.571→V: 10^45→P: 800→R: 145→L:Return:IfEnd↓IF S≥48436.984 And S<48957.197:Then167°53°25.75°→A: 48436.984→O:1456.015→U:549.480→V: 800→P: 800→R:520.213→L:Re turn:IfEnd↓IF S≥48957.197 And S<49102.197:Then205°08°52.79°→A: 48957.197→O:948.224→U:491.452→V: 800→P: 10^45→R: 145→L:Return:IfEnd↓IF S≥49102.197 And S<49510.315:Then210°20°25.50°→A: 49102.197→O:820.975→U:422.046→V: 10^45→P: 10^45→R: 408.118→L:Return:I fEnd↓IF S≥49510.315 And S<49650.315:Then210°20°25.50°→A: 49510.315→O:468.753→U:215.891→V: 10^45→P: -1000→R:140→L:Return:IfEnd↓IF S≥49650.315 And S<49909.924:Then206°19°46.96°→A: 49650.315→O:346.337→U:148.025→V: -1000→P: -1000→R:259.609→L:Return:IfEnd↓IF S≥49909.924 And S≤50049.924:Then191°27°18.76°→A: 49909.924→O:101.402→U:64.201→V: -1000→P: 10^45→R:140→L:Return:IfEnd↓Lb1 1: A:O:U:V:P:R:L数据库变量说明:S≥(线元的起点里程)[可要亦可不要]。

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

公路路线座标正反算
由于现在计算机普及,计算机功能日益强大,宜采用较简单的积分公式,便于计算机处理。

单线元通用积分公式如下
M = (1.0/Re-1.0/Rs)/Ls;
x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L};
y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L};
a(i)= Ta +L/Rs + 0.5*M *L*L
Rs:缓和曲线起点半径
Re:缓和曲线止点半径
Rs,Re (NE坐标系下,右偏为正,左偏为负)
Ta:缓和曲线起点的真北方位角
Ls:不完整缓和曲线长度。

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

虽然此公式是由缓和曲线推导出来,也可和于直线与圆曲线,可降低计算机编程的复杂程度。

Fx-5800计算机程序
QXJS-000 主程序
Lbl 4:“1.SZ=>NE”:“2.NE=>SZ”:?Q:?S:Prog“QXJS-SUB0”↙
Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙
Lbl 1:?Z:Prog“QXJS-SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙
Lbl 2: “N=”:?B: “E=”:1?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢“Z=”:Z◢Go
to4↙
QXJS-SUB0 数据库子程序
Goto1↙同时保存多个曲线时的指针
Lbl 1
IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径): ***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfE nd↙
………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。

QXJS-SUB1 正算子程序
0.5(1÷R-1÷P)÷L→D:S-O→X↙
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙
V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙
A+(X÷P+ DX2)×180÷π→F↙
N+Zcos(F+90) →N:E+Zsin(F+90) →E
QXJS-SUB2 反算子程序
Lbl 1:0→Z:1→Q:Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙
Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-90-J) →W:S+W→S↙
Abs(W)>0.0001 => Goto1↙
Lbl 2: 0→Z:Prog“QXJS-SUB1”:(C-E) ÷sin(F+90) →Z
三、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当曲线半径在左时,P、R取负值,当曲线半径在右时,P、R取正值,当曲线半径为无穷大(即直线)时,P、R以10的45次代替。

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

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

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

止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

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

止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

2、输入与显示说明
输入部分:
1. SZ => XY
2. XY = > SZ
注:只用QXJS-000 主程序
Q ? 选择计算方式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算里程和边距
S:为待求里程,
Z:为偏距左负,右正
N,E:为待求里程的X,Y的坐标
F: 为待求方位角
输入时QXJS-000 主程序输入完成时退出重新建立文件输入子程序。

相关文档
最新文档