计算公路的方法.docx
《计算公路的方法.docx》由会员分享,可在线阅读,更多相关《计算公路的方法.docx(7页珍藏版)》请在冰豆网上搜索。
![计算公路的方法.docx](https://file1.bdocx.com/fileroot1/2023-8/4/a29ad9b3-2780-4cf0-a83b-b7f402c33683/a29ad9b3-2780-4cf0-a83b-b7f402c336831.gif)
计算公路的方法
计算公路的方法
一、程序功能
本程序由6个主程序、5个次子程序及5个参数子程序组成。
主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。
程序坐标计算适应于任何线型.
二、源程序
1.主程序1:
一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)
程序名:
1ZD-XY
Lb10:
Norm2
F=1:
(正反算判别,F=1正算,F=2反算,也可以改F前加?
,改F为变量)
Z[1]=90(与路线右边夹角)
Prog"THB":
F=1=>Goto1:
F=2=>Goto2
Lb11:
Fix3:
" X=":
Locate6,4,X◢
" Y=":
Locate6,4,Y◢
Prog"3JS”:
Goto0:
Lb12:
Fix3:
" KM=":
Locate6,4,Z◢
" D=":
Locate6,4,D◢
Goto0
2.主程序2:
高程序横坡程序(设计任意点高程及横坡)
程序名:
2GC
LbI0:
Norm2
“KM”?
Z:
?
D:
Prog”H”:
Fix3:
” H=”:
Locate6,4,H◢
“ I=”:
Locate6,4,I◢
Goto0
3.主程序3:
极坐放样计算程序(计算放样点至置仪点方位角及距离)
程序名:
3JS
X:
Y:
1268.123→K(置仪点X坐标)
2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)
Y-L→E:
X-K→F:
Pol(F,E):
IFJ<0:
ThenJ+360→J:
Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J))→J:
(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)Fix4:
”FWJ=”:
Locate6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)
Fix3:
” S=”:
Locate6,4,I◢
4.主程序4:
涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)
程序名:
4JH-XY
LbI0:
Norm2
90→Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?
后变为变量)
1→F:
Prog”THB”:
?
L:
Z[2]-Z[1]→E:
X+Lcos(E)→X:
Y+Lsin(E)→Y:
Fix3:
" X=":
Locate6,4,X◢
" Y=":
Locate6,4,Y◢
Prog"3JS”:
Goto0:
5.主程序5:
路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)
程序名:
5FBX
LbI0:
Norm2:
18→DimZ:
2→F:
90→Z[1]:
Prog“THB”:
Z:
D:
”M0”?
M:
M→Z[4]:
D→Z[3]:
Prog”6GD”:
L→Z[6]:
IfD<0:
Then0.75-L→D:
GotoH:
ElseL-0.75→D:
GotoH:
IfEnd
LbIH:
Prog”H”:
H-0.03-Z[4]→Z[5]:
Z[6]→L:
IfZ[5]<0:
Then–z[5]→G:
GotoW:
ElseZ[5]→G:
GotoT:
LbIW:
Prog“W0”:
Z[10]+Z[11]→A:
IfG>A:
ThenGoto1:
ElseIfG>Z[10]:
ThenGoto2:
ElseGoto3:
IfEnd:
LbI1:
L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:
GotoZ:
LbI2:
L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:
GotoZ:
LbI3:
L+Z[12]+G×Z[7]:
Gotoz:
LbIT:
L+0.5→N:
IfG>Z[17]:
Then(N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:
GotoZ:
Else(N+G×Z[15])→S:
Gotoz:
LbIZ:
Z[3]→D:
Fix2:
Abs(D)-S→T:
” L0=”:
LLocate6,4,T◢
" KM=":
Locate6,4,Z◢
" D=":
Locate6,4,D◢
“ TW=”:
Locate6,4,Z[5]◢
Goto0
6.主程序6:
路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)
程序名:
6GD
Prog“G0”Z-C→E:
(B-A)×E/S+A→L:
L:
7.坐标计算次程序(THB)
程序名:
THB
18→DimZ:
"KM"?
Z:
Prog"X0"
1÷P→C:
(P-R)÷(2HPR)→S:
180÷π→E:
F=1=>Goto1:
F=2=>Goto2←┘
Lbl1:
?
D:
Abs(Z-O)→W:
Prog"A":
X:
Y:
Goto3
LbI2:
X:
Y:
X→I:
Y→J:
Prog"B":
O+W→Z:
D→D:
Goto3
LbI3:
IFF=1ThenX:
Y:
ElseZ:
D
8.正算子程序(A)
程序名:
A
0.1184634425→A:
0.2393143352→B:
0.2844444444→N0.046910077→K:
0.2307653449→L:
0.5→M:
U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+LWS))+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+KWS))+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)WS)))→Y:
G+QEW(C+WS)+Z[1]→Z[2]:
X+Dcos(Z[2])→X:
Y+Dsin(Z[2])→Y
9.反算子程序(B)
程序名:
B
G-90→T:
Abs((Y-V)cos(T)-(X-U)sin(T))→W:
0→D:
Lbl0:
Prog"A":
T+QEW(C+WS)→L:
(J-Y)cos(L)-(I-X)sin(L)→D:
IFAbs(D)<0.01:
ThenGoto1:
ElseW+D→W:
Goto0←┘
Lbl1:
0→D:
Prog"A":
(J-Y)÷sin(Z[2])→D:
10.高程计算子程序(H)
程序名:
H
Prog“S0”:
R:
T:
C:
G:
I:
C-T→F:
Z-F→L:
C+T→E:
G-TI→Q:
IfT=O:
ThenQ+LI→H:
Goto0:
ElseIfZThenQ+LI→H:
Goto0:
ElseIfZ≤E:
ThenQ+LI+L2÷2÷R→H:
Goto0:
LbI0:
H:
IfD=0:
ThenGotoI:
ElseProg“I”:
H+V→H:
GotoI:
LbII:
H:
I:
11.高程超高计算程序(I)
程序名:
I
Prog”I0”:
W=1=>Goto0:
W=2=>Goto1:
LbI0:
IfL=0:
ThenAbs(D)×M→V:
Goto2:
ElseAbs(D)×((N-M)×(Z-C)÷L+M)→V:
Goto2:
IfEnd:
LbI1:
IfL=0:
ThenAbs(D)×M→V:
Goto2:
ElseAbs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(N-M))+M)→V:
Goto2:
IfEnd:
LbI2:
Abs(D)→E:
V÷E→I:
I(E-K)→V:
12.数据子程序(附后示例)
①程序名:
X0(坐标计算要素程序)
IfZ≥25900AndZ≤26615.555:
Then25900→O:
11587.421→U:
1847.983→V:
101。
09’23.1”→G:
715.555→H:
1×1045→P:
1×1045→R:
0→Q:
Goto0:
IfEnd:
IfZ≥26615.555AndZ≤26915.555:
Then26615.555→O:
11448.97→U:
2550.016→V:
101。
09’23.1”→G:
300→H:
1×1045→P:
1800→R:
1→Q:
Goto0:
IfEnd:
IfZ≥26915.555AndZ≤27316.952:
Then26915.555→O:
11382.792→U:
2842.531→V:
105。
55’51.83”→G:
401.396→H:
1800→P:
1800→R:
1→Q:
Goto0:
IfEnd:
……
LbI0:
O:
U:
V:
G:
H:
P:
R:
Q:
程序字母说明:
O-线元起点桩号;U-起点X坐标;V-起点Y坐标;G-线元起点桩号切线方位角;H-线元长度,P-线元起点曲率半径,R-线元终点曲率半径,Q-线元判别(以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0)。
②程序名:
SO(高程竖曲线要素子程序)
IfZ≥25900AndZ≤26157.8:
Then-200000→R:
157.8→T:
26000→C:
37.1→G:
0.01222→I:
Goto0:
IfEnd:
IfZ≥26157.8AndZ≤27421.915:
Then300000→R:
171.915→T:
27250→C:
32.65→G:
-0.00356→I:
Goto0:
IfEnd:
IfZ≥27421.915AndZ≤27889.029:
Then1000000→R:
134.029→T:
27755→C:
36.64→G:
0.0079→I:
Goto0:
IfEnd:
……
LbI0:
R:
T:
G:
C:
I:
程序字母说明:
C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);T-竖曲线切线长;R-竖曲线半径(分正负:
凹曲线为正,凸曲线为负);I-竖曲线前纵坡
③程序名:
I0(高程超高参数子程序)
1.5→K:
2→W:
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≥25900AndZ≤26615.555:
Then0→L:
-0.02→M:
Goto0:
IfEnd:
IfZ≥26615.555AndZ≤26735.555:
Then120→L:
26615.555→C:
-0.02→M:
0.02→N:
Goto0:
IfEnd:
IfZ≥26735.555AndZ≤26795.555:
Then60→L:
26735.555→C:
0.02→M:
0.04→N:
Goto0:
IfEnd
IfZ≥26795.555AndZ≤27436.951:
Then0→L:
0.04→M:
Goto0:
IfEnd
……
LbIR:
IfZ≥25900AndZ≤26735.555:
Then0→L:
-0.02→M:
Goto0:
IfEnd
IfZ≥26735.555AndZ≤26795.555:
Then60→L:
26735.555→C:
-0.02→M:
-0.04→N:
Goto0:
IfEnd
IfZ≥26795.555AndZ≤27436.951:
Then0→L:
-0.04→M:
Goto0:
IfEnd
……
LbI0K:
W:
L:
C:
M:
N:
字程序中字母表示说明:
K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);L-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。
④程序名:
GO(路基标准半幅宽度参数子程序)
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≥25900AndZ≤28110.727:
ThenZ→C:
17.25→A:
Goto0:
IfEnd:
IfZ≥28110.727AndZ≤28200.727:
Then28110.727→C:
17.25→A:
21.25→B:
90→S:
Goto0:
IfEnd
……
LbIR:
IfZ≥25900AndZ≤27927.478:
ThenZ→C:
17.25→A:
Goto0:
IfEnd
IfZ≥27927.478AndZ≤28172:
Then27927.478→C:
17.25→A:
27.031→B:
244.522→S:
Goto0:
IfEnd
……
LbI0C:
A:
B:
S:
字程序中字母表示说明:
C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度;B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段距离(不是渐变段,无需输入)。
⑤程序名:
WO(路基填挖边坡参数子程序)
0.75→Z[7]:
1→Z[8]:
1.25→Z[9]:
10→Z[10]:
10→Z[11]:
2.6→Z[12]:
2→Z[13]:
2→Z[14]:
1.5→Z[15]:
1.75→Z[16]:
8→Z[17]:
2→Z[18]
字程序中字母表示说明:
Z[7]-挖方第一阶边坡边率;Z[8]-挖方第二阶边坡边率;Z[9]-挖方第三阶边坡边率;Z[10]-挖方第一阶高度;Z[11]-挖方第二阶高度;Z[12]-挖方路基碎落台及水沟宽度;Z[13]-挖方第二台阶平台宽度;Z[14]-挖方第三台阶平台宽度;
Z[15]-填方第一阶边坡边率;Z[16]-填方第二阶边坡边率;Z[17]-填方第一阶高度;Z[18]-填方第二台阶平台宽度。
(注:
本程序只做出挖方三个台阶,填方二个台阶,如需增加,先需在程序THB和5FBZ程序中增加变量。
再如一标段有坡率及坡高不一样时,可以照其它参数程序一样,用判别语句。
)
三、使用说明
1、规定
(1)Z“KM”为所求点桩号,反算时为输入大概桩号
(2)当所求点位于中线时,D=0;当位于中线左铡时,D取负值;当位于中线中线右
侧时,D取正值。
(3)当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4)当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
(5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6)当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
输入部分:
1.F=1:
ZD=>XY
2.F=2:
XY=>ZD
F?
选择计算方式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算里程和边距。
Z[1]为线元边桩与中线右夹角。
KM?
正算时所求点的里程(反算输入大概桩号)
D?
正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
X0?
反算时所求点的X坐标(放样程序中实测X坐标)
Y0?
反算时所求点的Y坐标(放样程序中实测Y坐标)
显示部分:
L?
涵洞放样程序中涵距中心桩号前后距离,前为正,后为负.
M0?
边坡放样程序中原地面标高输入
X=*** 正算时,计算得出的所求点的X坐标
Y=*** 正算时,计算得出的所求点的Y坐标
FWJ=*** 正算时,计算得出的所求点的至置仪点方位角(在3JS程序中应输入X、Y坐标值于K、L)
S=*** 正算时,计算得出的所求点的至置仪点距离
KM=*** 反算时,计算得出的所求点的里程
D=*** 反算时,计算得出的所求点的边距
H=*** 所求点位置设计路面顶标高
I=*** 所求点位置设计路面横坡
L0=*** 边桩放样程序中实测点至设计边坡点距离,正向内移,