ThenGoto3:
Else-0.02V→Z:
Z→Y:
Goto1:
IfEnd:
IfEnd:
IfEnd:
IfEnd:
IfEnd:
IfEnd
4、Lbl2:
IfH<0(零):
Then0.02VH→Z:
(0.02+C)V(K-E)/S-0.02V→Y:
Else(0.02+C)V(K-E)/S-0.02V→Z:
-0.02VH→Y:
IfEnd:
Goto1
5、Lbl3:
IfH<0:
Then0.02VH→Z:
(0.02+C)V(M-K)/S-0.02V→Y:
Else(0.02+C)V(M-K)/S-0.02V→Z:
-0.02VH→Y:
IfEnd:
Goto1:
Lbl1
C程序
IfK≦141216.781:
Then140083.413→A:
0.03→C:
-1→H:
130→S:
1229.28→L:
855.675→T:
Return:
IfEnd
IfK≦142472.319:
Then141700.107→A:
0.03→C:
1→H:
130→S:
608.144→L:
483.326→T:
Return:
IfEnd
IfK≦143839.524:
Then142976.487→A:
0.02→C:
-1→H:
105→S:
634.484→L:
504.168→T:
Return:
IfEnd
IfK≦145570.280:
Then144509.787→A:
0.02→C:
1→H:
105→S:
928.816→L:
670.263→T:
Return:
IfEnd
IfK≦148062.26:
Then146191.812→A:
0.02→C:
-1→H:
105→S:
822.148→L:
621.531→T:
Return:
IfEnd
PQXZFS平曲线正反算(主程序)
Lbl4:
“1.SZ=>XY”:
“2.SZ=>XY”:
?
N:
?
S:
Prog“SUB0”
1/P→C:
(P-R)/(2HPR)→D:
180/兀→E:
N=1=>Goto1:
Goto2:
Lbl1:
?
Z:
Abs(S-O)→W:
Prog“SUB1”:
“XS=”:
X▲
“YS=”:
Y▲
F-90→F:
“FS=”:
F▲DMS▲
Goto4
Lbl2:
?
X:
?
Y:
X→I:
Y→J:
Prog“SUB2”:
O+W→S:
“S=”:
S▲
“Z=”:
Z▲
Goto4
正算子程序SUB1
0.1739274226→A:
0.3260725774→B:
0.0694318442→K:
0.3300094782→L:
1-L→F:
1-K→M:
U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X:
V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Y:
G+QEW(C+WD)+90→F:
X+Zcos(F)→X:
Y+Zsin(F)→Y
反算子程序SUB2
G-90→T:
Abs((Y-V)cosT-(X-U)sinT)→W:
0(零)→Z:
Lbl0:
Prog“SUB1”:
T+QEW(C+WD)→L:
(J-Y)cosL-(I-X)sinL→Z:
IfAbs(Z)<1**10-6:
Then0→Z:
Prog“SUB1”:
(J-Y)/sinF→Z:
ElseW+Z→W:
Goto0:
IfEnd
数据库子程序SUB0
Goto1
Lbl1:
IfS<***(线元终点里程):
Then***→G(线元起点方位角):
***→O(线元起点里程):
***→U(线元起点X):
***→V(线元起点Y):
***→P(线元起点曲率半径):
***→R(线元终点曲率半径):
***→H(线元起点至终点长度):
0或1、-1→Q:
Return:
IfEnd
Lbl1:
IfS<***(线元终点里程):
Then***→G(线元起点方位角):
***→O(线元起点里程):
***→U(线元起点X):
***→V(线元起点Y):
***→P(线元起点曲率半径):
***→R(线元终点曲率半径):
***→H(线元起点至终点长度):
0或1、-1→Q:
Return:
IfEnd
………………
使用说明:
1、一道路中线的前进方向(即里程增大的方向)区分左右,当线元往左偏时,Q=-1;当线元往右偏时Q=1;当线元为直线时Q=0
2、当所求点位于中线时,Z=0;当所求点位于中线左侧时Z取负值;位于右侧时Z取正直
3、当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替
4、当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧半径
5、当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;当与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径为无穷大,与10的45次代替,与圆曲线相接时,曲率半径等于圆曲线的半径
6、当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径;止点与直线相接时,曲率半径等于设计规定的值,与曲线相接时,曲率半径等于圆曲线的半径
输入与显示说明
N选择计算方式,1正算,2反算
S?
正算时所求的里程,反算时为所求的近似里程
X?
反算时所求点的X坐标
Y?
反算时所求点的Y左标
FS=正算时,所求点对应的中线点的切线方位角
道路中边桩坐标放样正反算CASIOfx-5800P程序(全线贯通)
程序的特点:
1.可进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写;
2.主程序通过调用数据库子程序,省却了使用时输入平面参数的繁琐;
3.使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。
.二、程序代码
.
.
.
.
.
.
注:
路线数据库子程序ROAD-DATA1是根据计算示例项目的直曲表编写,大家使用时应按各自项目的直曲表改写或新建。
.
.例题:
-198.348→D:
424.235→E:
IfP<=(小于等于)E:
Then-33.942→K:
43812.504→X:
48756.851→Y:
103º3º30º→
M:
-11º54º52º→O:
1000→R:
120→B:
120→C:
Goto1:
IfEnd
E→D:
1663.769→E:
IfP<=(小于等于)E:
Then693.821→K:
43797.96→X:
49485.331→Y:
91º8º38º→
M:
23º39º40º→O:
1000→R:
120→B:
120→C:
Goto1:
IfEnd
E→D:
3972.544→E:
IfP<=(小于等于)E:
Then1927.535→K:
43277.777→X:
50610.861→Y:
114º48º17º→
M:
-15º1º34º→O:
2000→R:
0→B:
0→C:
Goto1:
IfEnd
E→D:
6009.653→E:
IfP<=(小于等于)E:
Then4462.027→K:
42846.791→X:
53111.511→Y:
99º46º44º→
M:
18º31º59º→O:
3000→R:
0→B:
0→C:
Goto1:
IfEnd
E→D:
7223.231→E:
IfP<=(小于等于)E:
Then6415.133→K:
41916.413→X:
54838.510→Y:
118º18º43º→
M:
-38º5º51º→O:
1000→R:
120→B:
120→C:
Goto1:
IfEnd
Lbl1:
IfP<-198.348OrP>7223.231:
ThenCls:
Locate5,2,“KPERROR”▲
Stop:
IfEnd:
Return
四、程序变量清单
.
.
五、计算流程示例
1.中桩坐标计算示例
计算任务:
计算高速公路K6+100~K6+700段的中桩坐标及切线方位角(桩距20m),并
在导线点(2807118.026,474113.687)上架设全站仪,计算各中桩的极坐标放样数据。
使用道路中边桩坐标放样正反算程序RAOD-2的操作流程见下表。
.
.
.
.
2.边桩坐标计算示例
计算任务:
计算HY高速公路主线K6+100~K6+700段的边桩(左右各12.25米)坐标(桩距20m)。
使用道路中边桩坐标放样正反算程序RAOD-2的操作流程见下表。
.
.
3.坐标反算计算示例
计算任务:
根据前面计算的K6+100的中桩、左右边桩的坐标,反算对应桩号及偏距,并进行验证。
使用道路中边桩坐标放样正反算程序RAOD-2的操作流程见下表。
.