打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
公路逐桩坐标计算程序
(苏畅改进版)
2008年8月16日
(可以计算对称、不对称缓和曲线)
Prog”DATA”               (数据库子程序)
Prog”sub1”               (测站坐标输入子程序)
Lb1 0
Z=5Z-为每段线路交点数)
V=0              (V-为扩展变量位置数减1
W=V+2:Fixm
{KB}:KB”-ZB YB”
Lb1 1
K>Z[W+5Z+4]=>W=W+1:Goto 1⊿    (判断桩号在哪个交点范围,就是该交点曲线起点至下一交点曲线起点)
S=K-Z[W+5Z+3]                              (计算该桩号与曲线起点的距离)
R=Z[W+2Z+2]:L=Z[W+3Z+2]:E=Z[W+4Z+2]    (读取该交点曲线要素R、Ls1 、Ls2)
Pol(Z[W]-Z[W-1],Z[W+Z+2]-Z[W+Z+1])       (计算该交点与下一交点直线方位角)
J<0=>J=J+360⊿
A=J
Pol(Z[W-1]-Z[W-2],Z[W+Z+1]-Z[W+Z])      (计算该交点与上一交点直线方位角)
J<0=>J=J+360⊿
C=A-J:A=J                            (计算偏角)
W=V+2=>Goto2⊿                (如果桩号在起点与第一交点曲线起点之间,则转 Lb1 2 )
I=Abs(tan(c÷2))
M=L÷2-L^3÷240R^2:N=E÷2-E^3÷240R^2
P=L^2÷24÷R
Q= E^2÷24R
D=AbsC
M=(R+Q-(R+P)Cos D)÷Sin D+M     (计算切线长Th1)
Q=(R+P-(R+Q)Cos D)÷Sin D+N     (计算切线长Th2)
N=πRAbsC÷180+(L+E)÷2      (计算圆曲线长Ly)
X=Z[W-1]-McosA
Y=Z[W+Z+1]-MsinA
M=Z[W-1]+Qcos(A+C)
V=Z[W+Z+1]+Qsin(A+C)
Q=AbsC÷C
S≤L=>P=0:Goto3⊿    (如果桩号在第一缓和曲线内,则转 Lb1 3)
S≤N-E=>S=S-L:Goto4⊿(如果桩号在圆曲线内,则转 Lb1 4)
S≤N=>S=N-S
Q=-Q:A=A+C-180:X=M:Y=V:L=E:P=180:Goto3⊿   (如果桩号在第二缓和曲线内,则转 Lb1 3)
P=A+C:S=S-N:D=M+ScosP:F=V+SsinP
Goto6                                           (如果桩号在直线内,则转 Lb1 6)
Lb1 2
P=A+C
D=Z[W-1]+ScosP
F=Z[W+Z+1]+SsinP:Goto6
Lb1 3
I=S-S^5÷40R^2÷L^2+S^9÷3456R^4÷L^4
J=Q(S^3÷6RL-S^7÷336R^3÷L^3)
P=P+A+90QS^2÷πRL:Goto5
Lb1 4
M=90(2S+L)÷πR
I=RsinM+L÷2-L^3÷240R^2
J=Q(L^2÷24R+R(1-cosM))
P=A+QM
Lb1 5
D=X+IcosA-jsinA:F=Y+JcosA+IsinA
Lb1 6
X″X″=D+Bcos(P+90)◢                (结果显示X坐标)
Y″Y″=F+Bsin(P+90)◢                (结果显示Y坐标)
Prog ″P″          (坐标计算子程序,结果显示测站到放样点的方位角和距离)
Goto 0
以上是坐标计算程序,括号内是程序计算的大致原理及说明,中间部分为直线、圆曲线、缓和曲线计算的各种公式,大家也知道,书上也有。
该程序是最基本的,如再加几条语句就可以处理断链。
该程序还需变量输入,把整条线路曲线要素一次输入到4800中,就可以计算线路任意中、边桩坐标。
扩展变量设置表
扩展变量
线路起点
第1交点
第2交点
第…交点
第n交点
第z交点
线路终点
X坐标
Z[V+1]
Z[V+2]
Z[V+3]
……
Z[V+n+1]
Z[V+Z+1]
Z[V+Z+2]
Y坐标
Z[V+Z+3]
Z[V+Z+4]
Z[V+Z+5]
……
Z[V+n+Z+3]
Z[V+2Z+3]
Z[V+2Z+4]
半径R
Z[V+2Z+5]
Z[V+2Z+6]
……
Z[V+2Z+n+4]
Z[V+3z+4]
Ls1
Z[V+3Z+5]
Z[V+3Z+6]
……
Z[V+3Z+n+4]
Z[V+4Z+4]
Ls2
Z[V+4Z+5]
Z[V+4Z+6]
……
Z[V+4Z+n+4]
Z[V+5Z+4]
线路起、终点、曲线起点桩号
Z[V+5Z+5]
Z[V+5Z+6]
Z[V+5Z+7]
……
Z[V+5Z+n+5]
Z[V+6Z+5]
Z[V+6Z+6]
三、使用说明:
1、上述程序代码中“()”里为说明,“{}”里为程序运行时显示的数值,“?”表示计算具体线路时需输入到程序中的值。
为每段线路交点数。 V-为扩展变量位置数减1。如以前没有使用过扩展变量,则程序第1个扩展变量从Z[1]开始,就是V=0,输入到程序中。如以前使用了n个扩展边量,则程序第1个扩展变量从Z[n+1]开始,就是V=n,输入到程序中。
2、按扩展变量设置表顺序将曲线要素输入到扩展变量中,如果线路中无缓和曲线,则该段LS为0,也要输入到扩展变量中。线路曲线起终点桩号为:线路起点、ZH点(如果无缓和曲线则为ZY点)、线路终点桩号。
3、扩展变量输入前,应按4800说明书,先将扩展变量的数目设置至够用的数目,如150个。
4、代码中有着重符号的字母表示要从计算器中调出,整体输入,见4800说明书。
5、多条线路的使用方法:
根据第1条线路的交点数计算出扩展变量的使用数量,既6Z+6个,比如交点为5个则使用扩展变量为36个,因为是第1条线路以前无使用扩展变量,所以输入Z=5,V=0,然后根据第2条线路的交点数计算出扩展变量的使用数目,比如第2条线路交点为6个,则Z=6,因已使用了36个扩展变量,所以第2条线路的扩展变量从第37个开始,即V=37-1=36,依此类推,可以同时输入数条线路数据,使用时把Z、V的数据修改成要计算线路的Z,V就可以了。
附其他子程序:
SUB1  (子程序)
H”X0”G”Y0”:I=0:J=0
P (子程序)
Norm
Prog“SUB1”
Fix 3:Pol(X-H,Y-G):I”HD=” ◢
J<0=>J=J+360⊿
J=Int J+.01Int(60Frac J)+.006Frac (60Frac J)
Fix 4
J“HA=”◢
XY  (坐标计算子程序)
Prog“SUB1”
C”HD”D”HA”
X=S+Rec(C,D) ◢
Y=G+J◢
DATA  (数据库子程序)
Defm 36
Z[1]=89295.096
Z[2]=88950.455
Z[3]=88193.448
Z[4]=87059.143
Z[5]=86111.693
Z[6]=85507.241
Z[7]=85276.834
Z[8]=59160.460
Z[9]=59166.770
Z[10]=58709.660
Z[11]=59031.890
Z[12]=58206.705
Z[13]=58416.463
Z[14]=58355.228
Z[15]=950.000
Z[16]=650.000
Z[17]=650.000
Z[18]=600.000
Z[19]=520.000
Z[20]=140.000
Z[21]=150.000
Z[22]=160.000
Z[23]=160.000
Z[24]=130.000
Z[25]=160.000
Z[26]=150.000
Z[27]=160.000
Z[28]=130.000
Z[29]=160.000
Z[30]=32218.492
Z[31]=32218.492
Z[32]=33074.377
Z[33]=34145.335
Z[34]=35346.241
Z[35]=36121.572
Z[36]=36575.340
扩展变量设置表
Z-为每段线路交点数。 V-为扩展变量位置数减1
本例中:Z=5   V=0
变量名
数据
公 式
备 注
变量名
数据
公式
备 注
Z[1]
89295.096
Z[V+1]
起点坐标X
线路起点
Z[2]
88950.455
Z[V+2]
JD35-X
第1交点
Z[20]
140.000
Z[V+3Z+5]
JD35-Ls1
Z[3]
88193.448
Z[V+3]
JD36-X
第2交点
Z[21]
150.000
Z[V+3Z+6]
JD36-Ls1
Z[4]
87059.143
……
JD37-X
第…交点
Z[22]
160.000
……
JD37-Ls1
Z[5]
86111.693
Z[V+n+1]
JD38-X
第n交点
Z[23]
160.000
Z[V+3Z+n+4]
JD38-Ls1
Z[6]
85507.241
Z[V+Z+1]
JD39-X
第z交点
Z[24]
130.000
Z[V+4Z+4]
JD39-Ls1
Z[7]
85276.834
Z[V+Z+2]
终点坐标X
线路终点
Z[8]
59160.460
Z[V+Z+3]
起点坐标Y
线路起点
Z[9]
59166.770
Z[V+Z+4]
JD35-Y
第1交点
Z[25]
160.000
Z[V+4Z+5]
JD35-Ls2
Z[10]
58709.660
Z[V+Z+5]
JD36-Y
第2交点
Z[26]
150.000
Z[V+4Z+6]
JD36-Ls2
Z[11]
59031.890
……
JD37-Y
第…交点
Z[27]
160.000
……
JD37-Ls2
Z[12]
58206.705
Z[V+n+Z+3]
JD38-Y
第n交点
Z[28]
130.000
Z[V+4Z+n+4]
JD38-Ls2
Z[13]
58416.463
Z[V+2Z+3]
JD39-Y
第z交点
Z[29]
160.000
Z[V+5Z+4]
JD39-Ls2
Z[14]
58355.228
Z[V+2Z+4]
终点坐标Y
线路终点
线路起点
Z[30]
32218.492
Z[V+5Z+5]
起点桩号
Z[15]
950.000
Z[V+2Z+5]
JD35-R
第1交点
Z[31]
32218.492
Z[V+5Z+6]
JD35-ZH
Z[16]
650.000
Z[V+2Z+6]
JD36-R
第2交点
Z[32]
33074.377
Z[V+5Z+7]
JD36-ZH
Z[17]
650.000
……
JD37-R
第…交点
Z[33]
34145.335
……
JD37-ZH
Z[18]
600.000
Z[V+2Z+n+4]
JD38-R
第n交点
Z[34]
35346.241
Z[V+5Z+n+5]
JD38-ZH
Z[19]
520.000
Z[V+3Z+4]
JD39-R
第z交点
Z[35]
36121.572
Z[V+6Z+5]
JD39-ZH
线路终点
Z[36]
36575.340
Z[V+6Z+6]
终点桩号
程序名称:JD COMP “读入缓和曲线计算初始数据”
K≥1467.71=>K≤2239=>Goto1⊿⊿
K<2000=> Goto2⊿
Lbl 1:Q=1:A=17°6′30.9″R=2583.323:C=0:F=1856.291:M=7063.351: N=3346.948:Z=134°24′24.8″
Prog”S”
Lbl 2:Q=1:A=11°47′58.2″R=3300:C=0:F=1208.318: M=8517.706:N=3934.392:Z=187°31′14.3″
Prog”S”
程序名称:SQ19“读入竖曲线计算初始数据”
I=-1:A=-0.035:B=-0.02:C=1970:F=270.79:R=35000:T=262.5:Prog”SQX”
程序名称:X   “坐标正算:已知A点坐标,A点到B点方位角及距离,算B点坐标”
Prog”A”:X“HD”Y“HA”
I“X”=S + Rec(X,Y◢
J“Y”=G + J
程序名称:P   “坐标反算:已知A、B两点坐标,算A->B的方位角”
Prog “A”:XY
Pol(X-S,Y-G:J<0=>J=360+J△I“HD=”◢
J“HA=”◢
程序名称:P1 P2-P    “双点后方交会”
S“XA”G“YA”X“XB”Y“YB”ABC
Prog “P”:D“HD1”=√(A2+B2-2ABCOSC◢
D=Sin-1(B SIN C÷D:I“X”=S+Rec(A,J+D◢
J“Y”=G+J◢
S=I;G=J:Prog “P”
程序名称:S1    “斜距改正计算”
Lbl 1:{XY}:X“S”Y“VA”:Y= SIN-1(0.18 Sin Y÷X)+Y
J“ 〈+-〉”=I-Abs(X Sin Y◢
J“△H”=X Cos Y:J“H”=Z[1]+ X Cos Y◢
{J}:J“Goto”:J=0=>Goto1⊿
程序名称:A     “输入测站数据”
S“X0”G“Y0”:I=0:J=0
程序名称:1      “输入测站点高程”
Z[1]=测站点高程+仪器高-觇标高   “如:Z[1]=270.654+1.548-1.30
程序名称:GJ      “输入相应钢筋直径可计算每米钢筋重量”
P=0.617D2÷100
程序名称:AREA   “多边形面计算”
NA“X0”B“Y0”:S=0
Lbl 1:{CD}:C“X”D“Y”:S=S+AD-BC:A=C:B=D:Dsz N:Goto 1:
S=Abs S÷2◢
程序名称:Q      “边坡开挖线计算”
A“L1”B“H1”C“L2”D“H2”E“PL”F“PH”
M=(D-B)÷(C-A:L“QL”=(D-F-MC+KE)÷(K-M◢
H“QH”=F+K(L-E◢
程序名称:= >XYZ     “从测站测设未知点坐标”
X“X0”Y“Y0”Z“Z0”A“P0”B“P1”
Lbl  0:{CDE}:C“HA”D“S”E“VA”:J=0:E=Sin-1(0.18 SinE÷D)+E
F“HD”=Abs (D Sin E ◢
G=Z+A-B+D cos E:I“X”=X+Rec(F,C◢
J“Y”=Y+J◢
G“Z”=G◢
Goto 0
程序名称:SQX       “竖曲线计算主程序”
IA“⊿I1”B“⊿I2”C“BP”F“HP”RT
D=C-T:E=C+T
Lbl  0:{K}
KD= >X=C-K:N=A:Goto 1⊿
K≥E= >X=C-K:N=B:Goto 1⊿
K≤C= >X=K-D:Y=C-K:N=A:Goto 2:≠>X=E-K:Y=C-K:N=B:Goto 2⊿
Lbl  1:H“HS”=F-XN◢
Goto 0
Lbl  2:H“HS”=F-YN-I X2÷2÷R◢
Goto 0
程序名称:S       “单圆对称缓和曲线计算主程序”
Defm 3:Prog“1”:Prog“A”
B=90C÷π÷R:T=C÷2-C^3÷(240R2)+(R+C2÷24÷R)Tan(A÷2):L=ARπ÷180+C:H=F-T+C:O=F-T+L:V=O-C
J=0:Z[2]=M+Rec(T,Z-180):Z[3]=N+J
Lbl  0:{KP}:KP“BZ”
K≤F-T=>U=K-F+T:D=0:E=0:Goto 2⊿
K≤H=>D=K-F+T: Goto 1⊿
K<V=>E=B+180(K-H)÷(πR):U=R Sin E+C÷2-C^3÷R2÷240:D=C2÷24÷R+R(1-Cos E): Goto 2⊿
K≤O=>D=O-K:Goto 1⊿
K≥O=>D=T+K-O:U=T+D Cos A:D=D Sin A:E=A:Goto 2⊿
Lbl  1:W=RC:E=180D2÷(2πW:U=D-D^5÷40÷W2:D= D^3÷6÷W-D^7÷(336 W^3):V≤K=>E=A-E:W=U:U=T+(T-W-D tan A)Cos A:D=D Cos A+(T-W)Sin A⊿Goto 2
Lbl  2:Q<0=>U=U+PSin E:D=D-P Cos E:≠> U=U-P Sin E:D=D+P Cos E⊿
X=U Cos Z-DQ Sin Z+Z[2]◢
Y=U Sin Z+ DQ CosZ+Z[3]◢
Prog“P”:{J}:J“GoOn”:J=0=>Goto 0⊿
Prog“S1”:Goto 0
CASIO fx-4800P    施工放样计算程序         编制:苏畅
程序名称:JD COMP  “读入缓和曲线计算初始数据”  K≥1467.71=>K≤2239=>Goto1⊿⊿  K<2000=> Goto2⊿  Lbl 1:Q=1:A=17°6′30.9″R=2583.323:C=0:F=1856.291:M=7063.351:N=3346.948:Z=134°24′24.8″  Prog”S” Lbl 2:Q=1:A=11°47′58.2″R=3300:C=0:F=1208.318: M=8517.706:N=3934.392:Z=187°31′14.3″  Prog”S”
程序名称:SQ19“读入竖曲线计算初始数据”  I=-1:A=-0.035:B=-0.02:C=1970:F=270.79:R=35000:T=262.5:Prog”SQX”
程序名称:P1 P2-P    “双点后方交会”  S“XA”G“YA”X“XB”Y“YB”ABC  Prog “P”:D“HD1”=√(A2+B2-2ABCOS C◢  D=Sin-1(B SIN C÷D:I“X”=S+ Rec(A,J+D◢  J“Y”=G+J◢ S=I;G=J:Prog “P”
程序名称:S1     “斜距改正计算”  Lbl 1:{XY}:X“S”Y“VA”:Y= SIN-1(0.18Sin Y÷X)+Y  J“ 〈+-〉”=I-Abs(X Sin Y◢  J“△H”=X Cos Y:J“H”=Z[1]+ X Cos Y◢  {J}:J“Goto”:J=0=>Goto 1⊿
程序名称:A      “输入测站数据”  S“X0”G“Y0”:I=0:J=0
程序名称:GJ       “输入相应钢筋直径可计算每米钢筋重量”  P=0.617D2÷100
程序名称:AREA    “多边形面计算”  NA“X0”B“Y0”:S=0  Lbl 1:{CD}:C“X”D“Y”:S=S+AD-BC:A=C:B=D:Dsz N:Goto 1: S=Abs S÷2◢
程序名称:Q       “边坡开挖线计算”  A“L1”B“H1”C“L2”D“H2”E“PL”F“PH” M=(D-B)÷(C-A:L“QL”=(D-F-MC+KE)÷(K-M◢  H“QH”=F+K(L-E◢
程序名称:= >XYZ     “从测站测设未知点坐标”  X“X0”Y“Y0”Z“Z0”A“P0”B“P1”  Lbl  0:{CDE}:C“HA”D“S”E“VA”:J=0:E=Sin-1(0.18 Sin E÷D)+E  F“HD”=Abs (D Sin E ◢  G=Z+A-B+D cos E:I“X”=X+Rec(F,C◢  J“Y”=Y+J◢  G“Z”=G◢ Goto 0
程序名称:SQX        “竖曲线计算主程序”  IA“⊿I1”B“⊿I2”C“BP”F“HP”RT  D=C-T:E=C+T Lbl  0:{K}  KD= >X=C-K:N=A:Goto 1⊿  K≥E= >X=C-K:N=B:Goto 1⊿  K≤C=>X=K-D:Y=C-K:N=A:Goto 2:≠>X=E-K:Y=C-K:N=B:Goto 2⊿  Lbl  1:H“HS”=F-XN◢  Goto 0  Lbl  2:H“HS”=F-YN-I X2÷2÷R◢ Goto 0
程序名称:PQX  “读入缓和曲线计算初始数据”  W=1:A=17°6′30.9″R=2583.323:C=0:F=1856.291:M=7063.351: N=3346.948:Z=134°24′24.8″
W----曲线转向左偏为-1,右偏为1
A-----偏角值
R-----半径
C-----缓和曲线长
F-----JD桩号
M,N-----分别为JD坐标X,Y
Z-----ZH->JD的方位角
程序名称:HHQX       “缓和曲线计算主程序”
Prog“PQX”  B=90C÷π÷R:P=C2÷24÷R:Q=C÷2-C^3÷(240R2):T=Q+(R+P)Tan(A÷2):L=ARπ÷180+C
H=F-T+C:O=F-T+L:V=O-C  J=0:M=M+Rec(T,Z-180):N=N+J  Lbl  0:{KL}:KL“-ZB YB”  K≤F-T=>U=K-F+T:D=0:E=0:Goto 2⊿
(桩号在上一直线内)
K≤H=>D=K-F+T: Goto1⊿
(桩号在第一缓和曲线内)K<V=>E=B+180(K-H)÷(πR):U=R Sin E+Q:D=P+R(1-Cos E): Goto 2⊿
(桩号在圆曲线内)
K≤O=>D=O-K:Goto 1⊿
(桩号在第二缓和曲线内)  K≥O=>D=T+K-O:U=T+D Cos A:D=DSin A:E=A:Goto 2⊿
(桩号在下一直线内)
Lbl 1:E=180D*D÷(2πRC:U=D-D^5÷40÷R2÷C2:D= D^3÷(6RC)-D^7÷(336 R^3C^3):V≤K=>E=A-E:I=U:U=T+(T-I-D tan A)Cos A:D=D Cos A+(T-I)Sin A⊿Goto 2
(缓和曲线坐标计算)
Lbl 2:W<0=>U=U+L Sin E:D=D-L Cos E:≠>U=U-L Sin E:D=D+L Cos E⊿
(边桩坐标计算)
X=U Cos Z-DW SinZ+M◢
Y=U Sin Z + DW Cos Z+N◢
(大地坐标系转换)
[Prog“P”]
(加入此子程序可以显示测站至前视点的距离和方位角)
Goto 0 (再次转入加桩计算)
程序名称:A  “子程序”
S”X ”G“Y”:  I=0: J=0
程序名称:X  “坐标正算:已知A点坐标,A点到B点方位角及距离,算B点坐标”  Prog”A”:X“HD”Y“HA”  I“X”=S + Rec(X,Y◢  J“Y”=G + J
程序名称:P  “坐标反算:已知A、B两点坐标,算A->B的方位角”
Norm
Prog “A”:XY
Fix 3
Pol(X-S,Y-G:I“HD=”◢
J<0=>J=360+J△J=Int  J+.01Int(60FracJ)+.006Frac (60Erac J)
Fix 4
J“HA=”◢
苏畅
2008年8月16日
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【测量程序】FX
卡西欧9750公路线元法计算程序
fx-5800p 全线坐标放样(交点法)正反算程序
CASIO fx-4850p公路工程计算器程序集
程序2020.12.20
CAISO9750及5800计算器程序(交点法)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服