道路曲线程序含隧道.docx

上传人:b****4 文档编号:6851938 上传时间:2023-05-10 格式:DOCX 页数:22 大小:627.30KB
下载 相关 举报
道路曲线程序含隧道.docx_第1页
第1页 / 共22页
道路曲线程序含隧道.docx_第2页
第2页 / 共22页
道路曲线程序含隧道.docx_第3页
第3页 / 共22页
道路曲线程序含隧道.docx_第4页
第4页 / 共22页
道路曲线程序含隧道.docx_第5页
第5页 / 共22页
道路曲线程序含隧道.docx_第6页
第6页 / 共22页
道路曲线程序含隧道.docx_第7页
第7页 / 共22页
道路曲线程序含隧道.docx_第8页
第8页 / 共22页
道路曲线程序含隧道.docx_第9页
第9页 / 共22页
道路曲线程序含隧道.docx_第10页
第10页 / 共22页
道路曲线程序含隧道.docx_第11页
第11页 / 共22页
道路曲线程序含隧道.docx_第12页
第12页 / 共22页
道路曲线程序含隧道.docx_第13页
第13页 / 共22页
道路曲线程序含隧道.docx_第14页
第14页 / 共22页
道路曲线程序含隧道.docx_第15页
第15页 / 共22页
道路曲线程序含隧道.docx_第16页
第16页 / 共22页
道路曲线程序含隧道.docx_第17页
第17页 / 共22页
道路曲线程序含隧道.docx_第18页
第18页 / 共22页
道路曲线程序含隧道.docx_第19页
第19页 / 共22页
道路曲线程序含隧道.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

道路曲线程序含隧道.docx

《道路曲线程序含隧道.docx》由会员分享,可在线阅读,更多相关《道路曲线程序含隧道.docx(22页珍藏版)》请在冰点文库上搜索。

道路曲线程序含隧道.docx

道路曲线程序含隧道

5800公路测量程序使用说明

一、程序使用流程

本程序数据和主程序是分开的,编程时将不同的工程数据存放到不同的数据文件里,如A匝道,文件名为A,将匝道A所有的曲线线元参数输入A文件里。

运行时只要运行文件名A的程序就可以了,具体运行流程见下图:

 

二、数据文件的编写

(一)交点法数据文件编辑

交点法编写数据文件必须是对称型的,即直线段→缓和曲线段→圆曲线段→缓和曲线段→直线段,(如果任意一端没有直线段,则把直线段长度看做是0),另外圆曲线两侧缓和曲线的旋转常数必须相等,并且和直线段连接处的半径必须是无穷大。

交点法数据文件编写一般是根据设计图纸提供的平面曲线参数一览表提供的参数来编写,每个弯道包括:

弯道起点方位角(C),交点X坐标(D),交点Y坐标(E),缓和曲线长度(F,当没有设缓和曲线时,F=0),交点转交(G,向左转弯,G为负值,向右转弯,G取正值),交点桩号(H),弯道圆曲线半径(R)。

下图是一段市政道路设计参数数据。

 

根据上图提供的数据,可以编辑成如下的数据文件:

文件名:

CHLNR

3→DimZ“X0”?

A:

”Y0”?

B:

“Ln”?

L:

Abs(L)-Int(Abs(1000L))/1000→Z[3]:

Lbl0:

IfZ[3]≠0.0001:

Then?

L:

Else“Xp”?

X:

”Yp”?

Y:

X→Z[1]:

Y→Z[2]:

IfEnd:

Lbl1:

IfL>0:

Then98°39°35.12°→C:

4474.384→D:

2415.861→E:

140→F:

31°17°23°→G:

410.007→H:

600→R:

IfEnd:

IfL>1060Then129°56°58.19°→C:

4206.421→D:

3093.946→E:

70→F:

-33°50°48°→G:

1285.437→H:

600→R:

IfEnd:

Prog”XLJS”:

IfZ[3]≠0.0001:

ThenGoto0:

Else(Z[1]-X)cos(O)+(Z[2]-Y)sin(O)→N:

L+N→L:

-(Z[1]-X)sin(O)+(Z[2]-Y)cos(O)→K:

IfAbs(N)≥0.001:

ThenGoto1:

Else“L=“:

L◢

“K=”:

K◢

IfEnd:

Goto0:

IfEnd

在面程式中,有两个条件转移语句即IfL>0:

Then98°39°35.12°→C:

4774.384→D:

2415.861→E:

140→F:

31°17°23°→G:

410.007→H:

600→R:

IfEnd

IfL>1060:

Then129°56°58.19°→C:

4206.421→D:

3093.946→E:

70→F:

-33°50°48°→G:

1285.437→H:

600→R:

IfEnd

……

如果还有其他弯道,可以继续完后加。

在这些存放设计参数的语句前后的程序表达式是固定的。

说明:

编辑曲线参数时,每个曲线参数放在一个IfL>***.***(两个弯道中间直线段上的任意桩号):

Then***°**°**.**°→C(弯道起点方位角):

****.***→D(交点X坐标):

****.****→E(交点Y坐标):

***.***→F(缓和曲线长度:

**°**°**°→G(转角,向左转为负值,向右转为正值):

***.***→H(交点里程桩号):

***→R(圆曲线半径):

IfEnd条件式语句里,如果有多个弯道,一直按上述形式编下去,

变量说明:

1、L>***.***

弯道参数的起点范围,可以是弯道起点,也可以是弯道前直线段里的任意点桩号

2、***°**°**.**°→C弯道起点方位角

3、****.***→D、****.****→E

交点X坐标、Y坐标

4、***.***→F

缓和曲线长度,如果没设置缓和曲线,则缓和曲线长度看做0

5、**°**°**°→G转角,向左转为负值,向右转为正值

6、***.***→H、交点里程桩号

7、***→R圆曲线半径

注意,运行程序时,第一部是输入测站坐标X0,Y0,然后输入近似桩号,主要是为了加快收敛,输入时注意当根据桩号和距中距离计算所求点坐标时,请不要把小数点第四位输入0.0001,如K21+369.0921,请把桩号输入21369.092即可,相反,当根据坐标反算桩号和距中距离时,请在输入时把第四位小数数位0.0001,如K21+200,输入时请输入21200.0001。

(二)线元法数据文件编辑

线元法数据文件编辑适合于各种各样的线型组合,特别是在大型立交区或者是不规则的线型组合地方,如小区道路、重丘区山路等有特别明显的有点,本程序为了减少使用者设计参数的输入,特别把直线与缓和曲线以及圆曲线连接的地方只要输入缓和曲线参数就可以了,这样可以减少输入很多设计参数,同时节约大量的内存。

看下图,

 

该图是一个半喇叭型的互通立交,一共是5条匝道,我们以D匝道为例,来看看线元法数据文件的建立。

 

下表是D匝道的线元表:

线元名称

起点桩号

偏向

半径或缓和曲线旋转常数A

线元长度(m)

线元起点坐标、方位角

X(m)

Y(m)

方位角

缓和曲线

DK0+000.00

右偏

55

39.289

494341.902

478027.825

260°38′55.7″

圆曲线

DK0+039.289

右偏

40

39.216

494347.926

477989.873

302°18′26.0″

缓和曲线

DK0+078.504

右偏

65

105.625

494380.677

477971.271

358°28′45.9″

 

D匝道线元数据分析:

从上表中可以看出,D匝道由三个线元组成,第一段是缓和曲线段,根据上表判断,该缓和曲线属于第一段缓和曲线,其最小半径处桩号为J=K0+039.289,该处坐标X=494347.926,Y=477989.873,半径为R=40米,方位角W=302°18′26.0″,缓和曲线旋转常数P=55,在缓和曲线终点K0+039.289处,有一圆曲线与其相连接,长度I=39.216。

第二段是圆曲线,第三段又是一段缓和曲线,根据上表判断,该曲线属于第二缓和曲线,曲线最小半径位于与园曲线连接处,桩号J=K0+78.504,坐标为X=494380.677,Y=477971.271,方位角W=358°28′45.9″,最小半径R=40,缓和曲线旋转常数P=-65(为了判断是第一段还是第二缓和曲线,我们通过P的正负来判断,第一缓和段P统一用正数表示,第二缓和段统一用负号表示。

起点处相连的圆曲线长度I可以看做0,也可以看做是39.216.由此我们整理下。

从整个线型全部是向右转向,所以R全部取正数。

具体如下:

第一段缓和曲线线元参数:

最小半径处坐标X=494347.926Y=477989.873

最小半径R=40

最小半径处方位角:

W=302°18′26.0″

缓和曲线旋转常数P=55

与之相连的圆曲线长度I=39.216

最小半径处桩号J=39.289

此段数据计算范围可以从K0+000~K0+78.504

第二段缓和曲线线元参数

最小半径处坐标X=494380.677Y=477971.271

最小半径R=40

最小半径处方位角:

W=358°28′45.9″

缓和曲线旋转常数P=65

与之相连的圆曲线长度I=39.216

最小半径处桩号J=W=358°28′45.9″

此段数据计算范围可以从K0+78.504到匝道结束。

当桩号L位于K0+000~K0+78.504时,曲线参数按第一段编写,当L>78.504时,按第二段缓和曲线编写,当然第二段缓和曲线计算范围也可以从圆曲线起点K0+039.289到K0+78.504中间任意桩号开始。

下面是D匝道的数据程序文件(文件名“DZD”):

3→DimZ:

X0”?

A:

”Y0”?

B:

“Ln”?

L:

Abs(L)-Int(Abs(1000L))/1000→Z[3]:

Lbl0:

IfZ[3]≠0.0001:

Then?

L:

Else“Xp”?

X:

”Yp”?

Y:

X→Z[1]:

Y→Z[2]:

IfEnd:

Lbl1:

IfL≥0:

Then494347.926→X:

477989.873→Y:

40→R:

302°18°26°→W:

55→P:

39.216→I:

39.289→J:

IfEnd:

IfL≥78.504:

Then494380.677→X:

477971.271→Y:

40→R:

358°28°45.9°→W:

-65→P:

39.216→I:

78.504→J:

IfEnd:

Prog”FDCH”:

Prog”XLJS”:

IfZ[3]≠0.0001:

ThenGoto0:

Else(Z[1]-X)cos(O)+(Z[2]-Y)sin(O)→N:

L+N→L:

-(Z[1]-X)sin(O)+(Z[2]-Y)cos(O)→K:

IfAbs(N)≥0.001:

ThenGoto1:

Else“L=“:

L◢

“K=”:

K◢

IfEnd:

Goto0:

IfEnd

在上面程式中,每个缓和曲线的线元参数放在一个If…Then……IfEnd循环语句中,If后面紧跟计算的起点范围,终点范围从下段的起点范围结束。

变量定义:

1、X、Y输入缓和曲线半径最小处的X、Y坐标

2、R缓和曲线最小半径,当线路左转时,半径数据前面加“-”号,以判断线路转向。

3、W输入缓和曲线半径最小处的方位角

4、P缓和曲线旋转常数,第一缓和曲线长度为正数,第二缓和曲线常数为负数。

当不设缓和曲线时,P=0

5、I与缓和曲线最小半径端连接的圆曲线长度。

6、J缓和曲线小半径段的桩号。

再看看E匝道数据文件编辑

 

E匝道线元设计数据表

 

线元名称

起点桩号

偏向

半径或缓和曲线旋转常数A

线元长度(m)

线元起点坐标、方位角

X(m)

Y(m)

方位角

直线

EK0+000.00

71.296

494360.619

477706.293

79°49′57.0″

缓和曲线

EK0+071.296

右偏

120

72

494373.205

477776.470

79°49′57.0″

圆曲线

EK0+143.296

右偏

200

60.070

494381.631

477847.870

90°08′44.6″

缓和曲线

EK0+203.366

右偏

95

45.125

494372.527

477907.018

107°21′16.3″

缓和曲线

EK0+248.491

左偏

75

64.841

494355.878

477948.932

113°49′05.6″

圆曲线

EK0+313.333

左偏

86.75

17.800

494337.373

478010.658

92°24′19.0″

 

在E匝道线元表中,我们可以看出,E匝道式由一段直线段→缓和曲线段→圆曲线段→缓和曲线段→缓和曲线段→圆曲线段连接起来的。

值得注意的是,在位于K0+248.491处,是两段反向的缓和曲线连接点,在编写数据程序文件时,分三段编写,第一段从K0+000到K0+203.366,第二段从K0+203.366到K0+248.919,第三段从K0+248.919到线路终点K0+331.13。

具体文件如下:

(文件名“EZD”)

3→DimZ:

X0”?

A:

”Y0”?

B:

“Ln”?

L:

Abs(L)-Int(Abs(1000L))/1000→Z[3]:

Lbl0:

IfZ[3]≠0.0001:

Then?

L:

Else“Xp”?

X:

”Yp”?

Y:

X→Z[1]:

Y→Z[2]:

IfEnd:

Lbl1:

IfL≥0:

Then494381.6316→X:

477847.870→Y:

200→R:

90°08°44.6°→W:

120→P:

60.07→I:

143.296→J:

IfEnd:

IfL≥203.366:

Then494372.527→X:

477948.932→Y:

200→R:

107°21°16.3°→W:

-95→P:

60.07→I:

203.366→J:

IfEnd:

IfL≥248.491:

Then494337.373→X:

478010.658→Y:

86.75→R:

92°24°19°→W:

75→P:

17.8→I:

313.333→J:

IfEnd:

Prog”FDCH”:

Prog“XLJS”:

IfZ[3]≠0.0001:

ThenGoto0:

Else(Z[1]-X)cos(O)+(Z[2]¬-Y)sin(O)→N:

L+N→L:

Int(1000L)÷1000+0.0001→L:

-(Z[1]-X)sin(O)+(Z[2]-Y)cos(O)→K:

IfAbs(N)≥0.001:

ThenGoto1:

Else“L=“:

L◢

“K=”:

K◢

IfEnd:

Goto0:

IfEnd

为了让使用者熟悉掌握数据程序文件的编写线元法的数据程序文件,现在将C、F、G等匝道的线元数据列出来,供使用者练习。

C匝道数据

线元名称

起点桩号

偏向

半径或缓和曲线旋转常数A

线元长度(m)

线元起点坐标、方位角

X(m)

Y(m)

方位角

圆曲线

CK0+000.00

右偏

32

56.876

495005.991

478056.677

56°19′42.3″

直线

CK0+056.876

21.277

494991.262

478104.123

158°09′54.4″

缓和曲线

CK0+078.153

右偏

65

30.179

494971.511

478112.036

158°09′54.4″

圆曲线

CK0+108.332

右偏

140

30.431

494943.127

478122.242

164°20′25.7″

缓和曲线

CK0+138.763

右偏

65

30.179

494913.167

478127.219

176°47′40.6″

直线

CK0+168.941

右偏

85

422.023

494883.008

478126.740

182.°58′11.8″

缓和曲线

CK0+590.964

右偏

85

85

494461.552

478104.874

182.°58′11.8″

圆曲线

CK0+675.964

右偏

85

72.739

494379.485

478086.681

211°37′04.2″

 

线元名称

起点桩号

偏向

半径或缓和曲线旋转常数A

线元长度(m)

线元起点坐标、方位角

X(m)

Y(m)

方位角

直线

FK0+000.00

111.525

494591.311

478420.033

252°32′00.2″

缓和曲线

FK0+111.505

右偏

100

90.909

494557.835

478313.650

252°32′00.2″

圆曲线

FK0+202.434

右偏

110

101.114

494542.812

478224.689

276°12′33.6″

缓和曲线

FK0+303.548

右偏

120

130.909

494595.310

478142.420

328°52′35.7″

F匝道数据

 

G匝道数据

线元名称

起点桩号

偏向

半径或缓和曲线旋转常数A

线元长度(m)

线元起点坐标、方位角

X(m)

Y(m)

方位角

缓和曲线

GK0+000.000

右偏

175

133.152

494718.802

478112.963

182°58′11.8″

圆曲线

GK0+133.152

右偏

230

149.124

494587.600

478093.368

199°33′17.5″

缓和曲线

GK0+282.286

右偏

190

149.72

494472.335

478002.890

236°42′21.1″

 

三、道路计算程序

道路计算程序是核心程序,但是道路计算程序是固定的,使用者不需要做任何修改,也不直接运行道路计算程序分为两部分,第一部分是常规的对成型线型组合计算的程序(文件名:

XLJS),利用交点法编辑的数据文件可以直接调用;第二部分是适用于非对称的线型组合计算文件(文件名:

FDCH),在数据文件调用完“FDCH”文件后,还要调用“XLJS”文件。

线路计算程序(XLJS)

Deg:

Fix4:

G÷Abs(G)→V:

F2÷(24R)-F^(4)÷(2688R^(3))+F^(6)÷(506880R^(5))-F^(8)÷(154828800R^(7))→P:

F÷2-F^(3)÷(240R2)+F^(5)÷(34560R^(4))-F^(7)÷(8386560R^(6))+F^(9)÷(3158507520R^(8))→Q:

Q+(R+P)Vtan(G÷2)→T:

πRGV÷180+F→I:

IFL≤H-T:

ThenL-H→J:

Goto1:

IfEnd:

IfL

ThenL-H+T→J:

C→Z:

1→S:

Goto2:

IfEnd:

IfL≤H-T+I-F:

ThenL-H+T→J:

C→Z:

1→S:

Goto3:

IfEnd:

IfL

ThenH-T+I-L→J:

C+G→C:

-1→S:

Goto2:

IfL≥H-T+I:

ThenL-H-I+2T→J:

C+G→C:

Goto1:

IfEnd:

Lbl1:

D+JcosC→X:

E+JsinC→Y:

C→O:

GotoC:

Lbl2:

(J-J^(5)÷40(RF)2+J^(9)÷(3456(RF)^(4))-J^(13)÷(599040(RF)^(6))+J^(17)÷(175472640(RF)^(8))-T)S→M:

(J^(3)÷(6RF)-J^(7)÷(336(RF)^(3))+J^(11)÷(42240(RF)^(5))-J^(15)÷(9676800(RF)^(7))+J^(19)÷(3530097000(RF)^(9)))V→N:

C+90J2SV÷πRF→O:

GotoB

Lbl3:

180(J-0.5F)÷πR→O:

Q+Rsin(O)-T→M:

(P+R(1-cos(O)))V→N:

C+VO→O:

GotoB

LblB:

D+Mcos(C)-Nsin(C)→X:

E+Msin(C)+Ncos(C)→Y:

GotoC:

LblC:

IfZ[3]≠0.0001:

Then?

K:

"M"?

U:

K<0=>180-U→U:

O+U×Abs(K)÷(K+10^(-10))→Z:

X+Abs(K)×cos(Z)→X◢

Y+Abs(K)×sin(Z)→Y◢

tan-1((Y-B)÷(X-A+10^(-10))→W

X-A<0=>W+180→W:

W<0=>W+360→W:

√((X-A)2+(Y-B)2)→S

"DIS":

S◢

"FW":

W>DMS◢

IfEnd

非对称线型组合计算程序(FDCH)

Abs(P+10^(-10))÷(P+10^(-10))→S:

Abs(R)÷R→V:

Abs(R)→R:

P2÷R→F:

180(I+F)V÷(πR)→G:

90FSV÷(πR)→O:

IfS=1:

ThenW-O→C:

ElseIfS=-1:

ThenW-O-G→C:

IfEnd:

IfEnd:

IfC<0:

ThenC=C+360→C:

IfEndIfC>360:

ThenC-360→C:

IfEnd:

F2÷(24R)-F^(4)÷(2688R^(3))+F^(6)÷(506880R^(5))-F^(8)÷(154828800R^(7))→P:

F÷2-F^(3)÷(240R2)+F^5÷(34560R^(4))-F^(7)÷(8386560R^6)+F^9÷(3158507520R^(8))→Q:

Q+(R+P)Vtan(G÷2)→T:

IfS=1:

ThenJ-F+T→H:

C→Z:

IfS=-1:

ThenJ-I-F+T→H:

C+G→Z:

IfEnd:

IfEnd:

(F-F^(3)÷(40R2)+F^(5)÷(3456R^(4))-F^(7)÷(599040R^(6))+F^(9)÷(175472640R^(8))-T)S→M:

(F2÷(6R)-F^(4)÷(336R^(3))+F^(6)÷(42240R^(5))-F^(8)÷(9676800R^(7))+F^(10)÷(3530097000R^(9)))V→N:

X-Mcos(Z)+Nsin(Z)→D:

Y-Msin(Z)-Ncos(Z)→E

 

四、程序执行

程序运行分为两种,第一种是根据根据使用者输入的桩号和距中距离计算出所求点的坐标和测站点到该点的方位角和水平距离,可以直接利用计算器提供的距离和方位角进行极坐标放样。

另一种是根据使用者输入的实测坐标计算出该点的桩号和距中距离,可以根据桩号和距中距离进行高边坡、隧道断面点的设计高程、以及进行路面高程控制计算方面很方便。

(一)、根据桩号和距中距离计算所求点的坐标、及方位角和水平距离。

要进行程序的线路计算,直接运行数程序文件就可以了,不需要理会计算程序。

如果计算某桩号L距离中线K处的坐标X,Y和该点到测站点的距离和方位角,运行提示如下:

X0?

提示输入测站点X坐标

Y0?

提示输入测站点Y坐标

(测站点的位数和数据程序文件里坐标取位要一致)

Ln?

计算点近似桩号

近似桩号输入第四位小数后不能等于0.0001,

L?

输入计算点准确桩号

近似桩号输入第四位小数后不能等于0.0001,

K?

提示输入距离中桩的桩号

如果计算点位于线路的左幅,则在数据前加入“-”号,如果是计算中桩坐标,则输入0

M?

输入该点与线路的前进方向的按顺时针转过的角度,常于斜交的涵洞,桥梁等构造物。

X显示所求点的X坐标

Y显示所求点的Y坐标

FW显示所求点至测站点的方位角

DIS显示所求点至测站点的距离

要继续计算则从L?

开始,计算新点的坐标。

具体流程见程序流程图的左边部分。

例:

要计算D匝道的DK0+020中桩坐标、DK0+080左边5.3米的坐标、Dk0+240斜交75°58′11.8″、距中右侧5米处的坐标,并计算出该点至坐标为X=495005.991,Y=478056.677控制点的水平距离和方位角,运行文件“DZD”提示如下:

X0?

495005.991测站X坐标

Y0?

478056.677测站Y坐标

Ln?

0输入小输点第四位起不等于0.0001的桩号

L?

20输入所求点桩号

K?

0输入距中距离

M?

90输入斜交角度

X=494341.482显示所求点X坐标

Y=478007.903显示所求点Y坐标

DIS666.2959显示所求点至测站平距

FW184°11′52.42″显示所求点至测站方位角

L?

80输入下点的桩号

K?

-5.3

M?

90

X=494382.2290

Y=477965.9594

DIS630.324

FW188°16′29.5″

L?

240

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2