分享

公路逐桩坐标计算程序

 苏睿思 2015-09-01

公路逐桩坐标计算程序

 

(苏畅改进版)

2008816

(可以计算对称、不对称缓和曲线)

Prog”DATA”               (数据库子程序)

Prog”sub1”               (测站坐标输入子程序)

Lb1 0

Z=5Z-为每段线路交点数)

V=0              V-为扩展变量位置数减1

W=V+2Fixm

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]    (读取该交点曲线要素RLs1 Ls2

PolZ[W]-Z[W-1],Z[W+Z+2]-Z[W+Z+1]       (计算该交点与下一交点直线方位角)

J<0=>J=J+360

A=J

PolZ[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=Abstanc÷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]+QcosA+C

V=Z[W+Z+1]+QsinA+C      

Q=AbsC÷C

SL=>P=0:Goto3    (如果桩号在第一缓和曲线内,则转 Lb1 3

SN-E=>S=S-L:Goto4⊿(如果桩号在圆曲线内,则转 Lb1 4

SN=>S=N-S

Q=-Q:A=A+C-180:X=M:Y=V:L=EP=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=QS^3÷6RL-S^7÷336R^3÷L^3

P=P+A+90QS^2÷πRL:Goto5

Lb1 4

M=902S+L)÷πR

I=RsinM+L÷2-L^3÷240R^2

J=QL^2÷24R+R1-cosM))

P=A+QM

Lb1 5

D=X+IcosA-jsinA:F=Y+JcosA+IsinA

Lb1 6

XX=D+Bcos(P+90)                (结果显示X坐标)

YY=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、上述程序代码中“()”里为说明,“{}”里为程序运行时显示的数值,“?”表示计算具体线路时需输入到程序中的值。

Z-为每段线路交点数。 V-为扩展变量位置数减1。如以前没有使用过扩展变量,则程序第1个扩展变量从Z[1]开始,就是V=0,输入到程序中。如以前使用了n个扩展边量,则程序第1个扩展变量从Z[n+1]开始,就是V=n,输入到程序中。

2、按扩展变量设置表顺序将曲线要素输入到扩展变量中,如果线路中无缓和曲线,则该段LS0,也要输入到扩展变量中。线路曲线起终点桩号为:线路起点、ZH点(如果无缓和曲线则为ZY点)、线路终点桩号。

3、扩展变量输入前,应按4800说明书,先将扩展变量的数目设置至够用的数目,如150个。

4、代码中有着重符号的字母表示要从计算器中调出,整体输入,见4800说明书。

5、多条线路的使用方法:

根据第1条线路的交点数计算出扩展变量的使用数量,既6Z+6个,比如交点为5个则使用扩展变量为36个,因为是第1条线路以前无使用扩展变量,所以输入Z=5V=0,然后根据第2条线路的交点数计算出扩展变量的使用数目,比如第2条线路交点为6个,则Z=6,因已使用了36个扩展变量,所以第2条线路的扩展变量从第37个开始,即V=37-1=36,依此类推,可以同时输入数条线路数据,使用时把ZV的数据修改成要计算线路的ZV就可以了。

 

附其他子程序:

SUB1  (子程序)

H”X0”G”Y0”:I=0:J=0

 

P (子程序)

Norm

ProgSUB1”

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

JHA=”◢

 

 

XY  (坐标计算子程序)

ProgSUB1”

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⊿⊿

K2000=> Goto2

Lbl 1:Q=1A=17°6′30.9″R=2583.323:C=0:F=1856.291M=7063.351: N=3346.948:Z=134°24′24.8″

Prog”S”

Lbl 2:Q=1A=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 + RecXY

J“Y”=G + J

 

程序名称:P   “坐标反算:已知AB两点坐标,算A>B的方位角

Prog “A”XY

PolXSYGJ0=>J=360+J△I“HD=”

J“HA=”

 

程序名称:P1 P2P    “双点后方交会

S“XA”G“YA”X“XB”Y“YB”ABC

Prog “P”D“HD1”=√A2+B2-2ABCOS C

D=Sin-1B SIN C÷DI“X”=S+ RecAJ+D

J“Y”=G+J

S=IG=JProg “P”

 

程序名称:S1     “斜距改正计算

Lbl 1{XY}X“S”Y“VA”Y= SIN-10.18 Sin Y÷X+Y

J“ +-〉”=IAbsX Sin Y

J“△H”=X Cos YJ“H”=Z[1]+ X Cos Y

{J}J“Goto”J=0=>Goto 1

 

程序名称:A      “输入测站数据

S“X0”G“Y0”I=0J=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+ADBCA=CB=DDsz NGoto 1

S=Abs S÷2

 

程序名称:Q       “边坡开挖线计算

A“L1”B“H1”C“L2”D“H2”E“PL”F“PH”

M=DB÷CAL“QL”=DFMC+KE÷KM

H“QH”=F+KLE

 

程序名称:= >XYZ     “从测站测设未知点坐标

X“X0”Y“Y0”Z“Z0”A“P0”B“P1”

Lbl  0{CDE}C“HA”D“S”E“VA”J=0E=Sin-10.18 Sin E÷D+E

F“HD”=Abs D Sin E

G=Z+A-B+D cos EI“X”=X+RecFC

J“Y”=Y+J

G“Z”=G

Goto 0

 

程序名称:SQX        “竖曲线计算主程序

IA“I1”B“I2”C“BP”F“HP”RT

D=CTE=C+T

Lbl  0{K}

KD= >X=CKN=AGoto 1

K≥E= >X=CKN=BGoto 1

K≤C= >X=KDY=C-KN=AGoto 2≠>X=EKY=CKN=BGoto 2⊿

Lbl  1H“HS”=F-XN◢

Goto 0

Lbl  2H“HS”=FYNI X2÷2÷R◢

Goto 0

 

程序名称:S        “单圆对称缓和曲线计算主程序

Defm 3Prog“1”Prog“A”

B=90C÷π÷RT=C÷2-C^3÷240R2+R+C2÷24÷RTanA÷2):L=ARπ÷180+C:H=FT+CO=FT+L:V=O-C

J=0:Z[2]=M+RecT,Z-180):Z[3]=N+J

Lbl  0:{KP:KP“BZ”

K≤F-T=>U=KF+TD=0E=0Goto 2⊿

K≤H=>D=KF+T Goto 1⊿

K<V=>E=B+180K-H÷πR):U=R Sin E+C÷2C^3÷R2÷240D=C2÷24÷R+R1Cos E: Goto 2⊿

K≤O=>D=OKGoto 1⊿

K≥O=>D=T+KOU=T+D Cos AD=D Sin AE=AGoto 2⊿

Lbl  1W=RCE=180D2÷2πWU=DD^5÷40÷W2D= D^3÷6÷WD^7÷336 W^3):V≤K=>E=AEW=UU=T+TWD tan ACos AD=D Cos A+TWSin A⊿Goto 2

Lbl  2Q<0=>U=U+P Sin ED=DP Cos E≠> U=UP Sin ED=D+P Cos E⊿

X=U Cos ZDQ Sin Z+Z[2]◢

Y=U Sin Z+ DQ Cos Z+Z[3]◢

Prog“P”:{J}:J“GoOn”J=0=> Goto 0⊿

Prog“S1”Goto 0

 

 

CASIO  fx-4800P    施工放样计算程序         编制:苏畅

 

  程序名称:JD COMP  “读入缓和曲线计算初始数据”  K1467.71=>K2239=>Goto1⊿⊿  K2000=> Goto2  Lbl 1:Q=1A=17°630.9R=2583.323:C=0:F=1856.291M=7063.351: N=3346.948:Z=134°2424.8  ProgS  Lbl 2:Q=1A=11°4758.2R=3300:C=0:F=1208.318: M=8517.706: N=3934.392:Z=187°3114.3  ProgS

 

 

 

程序名称:SQ19“读入竖曲线计算初始数据”  I=1:A=0.035:B=0.02:C=1970:F=270.79:R=35000:T=262.5: ProgSQX

 

 

 

 

 

程序名称:P1 P2P    “双点后方交会”  SXAGYAXXBYYBABC  Prog P”:DHD1=√(A2+B2-2ABCOS C  D=Sin-1B SIN C÷DIX=S+ RecAJ+D  JY=G+J  S=IG=JProg P

 

 

 

程序名称:S1     “斜距改正计算”  Lbl 1{XY}XSYVA”:Y= SIN-10.18 Sin Y÷X+Y  J“ 〈+-〉”=IAbsX Sin Y  J“△H=X Cos YJH=Z[1]+ X Cos Y  {J}JGoto”:J=0=>Goto 1

 

程序名称:A      “输入测站数据”  SX0GY0”:I=0J=0

 

 

 

程序名称:GJ       “输入相应钢筋直径可计算每米钢筋重量”  P=0.617D2÷100

 

 

 

程序名称:AREA    “多边形面计算”  NAX0BY0”:S=0  Lbl 1{CD}CXDY”:S=S+ADBCA=CB=DDsz NGoto 1  S=Abs S÷2

 

 

 

程序名称:Q       “边坡开挖线计算”  AL1BH1CL2DH2EPLFPH  M=DB)÷(CALQL=DFMC+KE)÷(KM  HQH=F+KLE

 

 

 

程序名称:= >XYZ     “从测站测设未知点坐标”  XX0YY0ZZ0AP0BP1  Lbl  0{CDE}CHADSEVA”:J=0E=Sin-10.18 Sin E÷D+E  FHD=Abs D Sin E   G=Z+A-B+D cos EIX=X+RecFC  JY=Y+J  GZ=G  Goto 0

 

 

 

程序名称:SQX        “竖曲线计算主程序”  IA“⊿I1B“⊿I2CBPFHPRT  D=CTE=C+T  Lbl  0{K}  KD= >X=CKN=AGoto 1  KE= >X=CKN=BGoto 1  KC= >X=KDY=C-KN=AGoto 2:≠>X=EKY=CKN=BGoto 2  Lbl  1HHS=F-XN  Goto 0  Lbl  2HHS=FYNI X2÷2÷R  Goto 0

 

 

 

  程序名称:PQX  “读入缓和曲线计算初始数据”  W=1A=17°630.9R=2583.323:C=0:F=1856.291M=7063.351: N=3346.948:Z=134°2424.8 

 

W----曲线转向左偏为-1,右偏为1

 

A-----偏角值

 

R-----半径

 

C-----缓和曲线长

 

F-----JD桩号

 

M,N-----分别为JD坐标XY

 

Z-----ZH->JD的方位角

 

 

 

   程序名称:HHQX        “缓和曲线计算主程序” 

 

ProgPQX  B=90C÷π÷RP=C2÷24÷R:Q=C÷2-C^3÷(240R2:T=Q+R+PTanA÷2):L=ARπ÷180+C

 

H=FT+CO=FT+L:V=O-C  J=0:M=M+RecT,Z-180):N=N+J  Lbl  0:{KL:KL-ZB YB  KF-T=>U=KF+TD=0E=0Goto 2

 

(桩号在上一直线内)

 

 KH=>D=KF+T Goto 1 

 

(桩号在第一缓和曲线内) K<V=>E=B+180K-H)÷(πR):U=R Sin E+QD=P+R1Cos E: Goto 2 

 

(桩号在圆曲线内)

 

KO=>D=OKGoto 1

 

(桩号在第二缓和曲线内)  KO=>D=T+KOU=T+D Cos AD=D Sin AE=AGoto 2

 

(桩号在下一直线内)

 

Lbl  1E=180D*D÷(2πRCU=DD^5÷40÷R2÷C2D= D^3÷(6RC)D^7÷(336 R^3C^3):VK=>E=AEI=UU=T+TID tan ACos AD=D Cos A+TISin AGoto 2

 

(缓和曲线坐标计算)

 

Lbl  2W<0=>U=U+L Sin ED=DL Cos E:≠> U=UL Sin ED=D+L Cos E

 

(边桩坐标计算)

 

X=U Cos ZDW Sin Z+M

 

Y=U Sin Z + DW Cos Z+N

 

(大地坐标系转换)

 

[ProgP]

 

(加入此子程序可以显示测站至前视点的距离和方位角)

 

Goto 0  (再次转入加桩计算)

 

 

 

程序名称:A   “子程序”

 

  SX GY:  I=0: J=0

 

 

 

程序名称:X   “坐标正算:已知A点坐标,A点到B点方位角及距离,算B点坐标”  ProgA”:XHDYHA  IX=S + RecXY  JY=G + J

 

 

 

程序名称:P   “坐标反算:已知AB两点坐标,算A>B的方位角” 

 

Norm

 

Prog A”:XY 

 

Fix 3

 

PolXSYGIHD=”◢

 

J0=>J=360+JJ=Int  J+.01Int(60Frac J)+.006Frac (60Erac J)

 

Fix 4

 

JHA=”◢

 

 

 

苏畅

2008816


 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多