资源描述
FX5800P全线任意里程中边桩正反算及高程计算带超欠挖
FX5800P全线任意里程中边桩坐标正反算(加了数据库)
本程序非本人原创,结合上传者长处,进行改编,愿收获和大家共享,不足之处多多指教。含竖曲线及隧道超欠挖,本程序由内蒙@文哥和师父阿玖哥共同改编完成
主程序 ZBJS
Lbl 6:"1.SZ→ XY":"2.XY→ SZ":?S:?N:“DYPQXSJK=”?→A:A=1=>Prog“ZP1” :A=2=>Prog“ZP2”: A=3=>Prog“YP1”: A=4=>Prog“YP2”
1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:N=1 =>Goto 1: Goto 2
Lbl 1:?Z: ?T:Abs(S-O)→W: Prog"SUB1":"XS=":X◢
"YS=":Y◢
"FS=":F-90 ►DMS◢
“XC” ?C: “YC” ? E:0→I:0→J:Pol(X-C,Y-E):“I=”:I◢
If J∠0: Then “J=”: J+360►DMS◢
IfEnd
If J >0:Then “J=” :J►DMS◢
IfEnd:“DYSQXSJK=”?→B:B=1=>Prog“ZG1” :B=2=>Prog“ZG1”: B=3=>Prog“YG1”: B=3=>Prog“YG1”:Goto 6
Lbl 2
?X:?Y:X→I:Y→J:Prog"SUB2":O+W→S:Cls:"S=":S◢
"Z=":Z◢
“DYSQXSJK=”?→B:B=1=>Prog“ZG1” :B=2=>Prog“ZG1”: B=3=>Prog“YG1”: B=3=>Prog“YG1”:Goto 6
如不想用偏角法放样可直接删除“XC” ?C: “YC” ? E:0→I:0→J:Pol(X-C,Y-E):“I=”:I◢直接里程推坐标。
正算子程序 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-90+T)→X: Y+Zsin(F-90+T)→Y
反算子程序 SUB2
G-90→T
Abs ((Y-V)cosT-(X-U)sin(T)) →W:0→Z
Lbl6:Prog "SUB1"
T+QEW(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z
IF Abs(Z)<1E-6:Then0→Z:Prog "SUB1":(J-Y)÷sin(F)→Z:Else W+Z→W:Prog"GC":Goto6:IfEnd
数据库子程序 ZP1
Goto 1
Lbl 1:IF S<线元终点里程:Then@@@→O(线元起点里程) :@@@ →U(线元起点X坐标):@@@→V(线元起点Y坐标):@@@→G(线元起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd
IF S<线元终点里程:Then@@@→O(线元起点里程) :@@@ →U(线元起点X坐标):@@@→V(线元起点Y坐标):@@@→G线元(起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd
。。。。。。。。。。。。。。。。。。。。。。。。。。。
ZG1(数据库1)
Lb1 7↙
CLs:?E: (计算点里程输入)If E<XXXAND E≥XXX :Then XXX→A : XXX→B :XXX→F : XXX→G :XXX→R :Prog“GC”↙
If E<XXXAND E≥XXX :Then XXX→A : 0→B :XXX→F : XXX→G :XXX→R :Prog“GC”:Goto 7↙
If k<本段竖曲线终点里程 AND K≥前一竖曲线终点里程 :Then XXX→前坡(大里程向)A : XXX→后坡(小里程向)B : XXX→竖曲线交点里程S :XXX→交点高程G : XXX→曲率半径R : Prog“GC”:Goto 7↙
………
依次类推,计算原始数据完成输入,坡度换算成小数。
GC(竖曲线)
F-E→L : A-B→W : Abs(R*W/2)→I : F-I→C : F+I→D ↙
If E≤C : Then G-L*B →H : Goto 5 : Else If E≤F : Then Goto3 : Else If E≤D : Then Goto4 : IfEnd : IfEnd : IfEnd↙
Lb1 3↙
If W>0 : Then G+(C-E)^ 2/2/R-L*B→H : Goto 5 : Else If W<0 : Then G-(C-E) ^2/2/R-L*B→H : Goto 5 : IfEnd : IfEnd↙
Lb1 4↙
If W>0 : Then G+(E-D) ^2/2/R-L*A→H : Goto 5 : Else If W<0 : Then G-(E-D)^ 2/2/R-L*A→H : Goto 5 : IfEnd : IfEnd↙
Lb1 5↙
“H=”:H◢
"J=”?→J: H+XXX→H
J-H→P:Z- XXX→Q:√((Q)∧(2)+P∧(2))→V
V- XXX→V
"V=“:V◢
一程序功能
本程序由一个主程序(ZBJS)和4个子程——正算子程序(SUB1)、反算子程序(
SUB2) 、数据库子程序(SUB0)、高程子程序(GC)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线,
元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算,高程由反算得出里程及偏距,利用直角3角形俩条直角边推算斜边距,也就是半径,现在只限于起拱线圆心推算超欠挖,高程程序可单独运行,如不需要超欠挖只需把H+XXX→O:"J=”?→J:"M="?→M:"N="?→N
J-O→P:M-N→Q:√((Q)∧2+P∧2)→V
"V=“:V◢删除即可,只显示高程。可输入多条竖曲线,分离式在桩号前多加一位数字即可,注偏距计算时注意正负好的区分,要的是偏距到圆心间的距离,想要横断面中桩到任意距离只需在显示H后加入坡比乘以距离即可。另外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲线任意里程中边桩坐标进行正反算。
二、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线中线右
侧时,Z取正值。
(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
输入部分:
1. SZ => XY
2. XY = > SZ
S ? 选择里程 ,N?,Z?左或右偏距。选择计算方式,1.表示进行由里程、边距计算坐标 ;输入2表示由坐标反算里程和边距。
显示部分:
XS=××× 正算时,计算得出的所求点的X坐标
YS=××× 正算时,计算得出的所求点的Y坐标
FS=××× 正算时,所求点对应的中线点的切线方位角
XC=××× 测站点X值
YC=××× 测站点Y值
I=XXX 测站到放样点距离
J=XXX 测站到放样点方位角
S=××× 反算时,计算得出的所求点的里程
Z=××× 反算时,计算得出的所求点的边距
K=XXXX 反算得出的里程
H=XXXX 得出设计高程
J=? 拱部测得高程
M=? 测设线到隧道中线距离
N=? 反算时得出的偏距
V= 计算得出的半径,即直角3角形斜边
H+XXX→O 其中XXX为(路面高程测设线到隧道中线之高差,隧道中线到起拱线圆心的距离,XXX为上述之和,上述H+XXX→O为起拱线圆心设计标高,起拱线处于水平面,故高程与圆心标高相等
①J-O→P 为拱部到起拱线高差
②M-N→Q 为圆心和偏距之间的距离,由上述俩点求出斜边即半径
隧道3心圆放样主程序(CQW)
Lb1 5↙
“H=”:H◢
"J=”?→J: H+XXX→H
J-H→P:Z- XXX→Q:√((Q)∧(2)+P∧(2))→V
V- XXX→V
"V=“:V◢
5.07→Q:11→P:?J: J-H→J: Abs(4.125-Z)→Z
If J≥6.319:Then √(Z2+(J-0.715)2 )-Q→V: IfEnd:
If J≥1.577 AND J <6.319 Then √((Z-0.723)2+(J-1.577) 2)-P→V :IfEnd:
IfJ≤1.577 AND J <6.319J: Then Z-(P+0.723)→V: IfEnd:
“V=”: V◢
Q----第一个圆圆心
P----第二个圆圆心
J----实测高程
H----路面纵断设计高程
Z----由反算主程序反算得到边距(不需修改)
程序中右线输入Abs(5.72-Z) →Z,左线输入Abs(5.72+Z) →Z
CQW----计算结果(+超,-欠)
三 算例
请到 有算例。
注:1.本程序根据空间里程序改编而成,并非本人原创。
2.正算跨线元计算正确,反算时跨线元计算第一次结果错误,,反应速度比一般输出结果慢,给出结果S=XXX为输入坐标的线元概略里程,在进行计算,显示结果*近似里程*,里程及偏距误差0.001m.,可更改数据(1E-6)改为(1E-3),速度稍快一点。
3.本程序可进行偏角法放样。
4.输入每行数据看数据输完毕没有,输完不要忘记按(EXE)
5.使用者需细心输入,有问题在以下网址查找原因。
6.1E-6即是10的負6次方,亦即是等於0.000001
7.程序还在不停更新中,发现问题请指正,希望哪位神人能把此程序改的更简化一点。
谢谢发贴:+13 分 【测量空间】[0
查看楼主其它文章 <<返回
→ 回复内容 只查看楼主与本人回复
沙发:plg111
09-8-17 20:45 回
这不是一本书上的程序吗 好像是在4800改编过来吧
2 楼:LW317409248 楼主
09-8-17 21:5 回
1楼:plg111
恩,是改编的呵呵
3 楼:'JXJ
09-8-17 21:36 回
好
我也改了一个,就是没有高程
顶一下
4 楼:刘承
09-8-17 21:56 回
评:+6 分
好~顶一个!!
5 楼:LW317409248 楼主
09-8-18 21:2 回
4楼:刘承
呵呵,谢谢
6 楼:zym8826710
09-8-19 15:4 回
顶、、、、、、、、、、、、、、、、
好东西
慢慢研究
共同进步
7 楼:LW317409248 楼主
09-8-19 16:14 回
6楼:zym8826710
呵呵
8 楼:'蝶影单飞
09-8-21 9:37 回
评:+2 分
哪位高手指点一下:我用的是5800p,运行程序到
1÷P→C就运行不了了,恳请指正!!
9 楼:'renren
09-8-21 18:0 回
我想了解这个数据库的子程序怎么输入啊,怎么用麻烦楼主解答一下,谢谢
10 楼:'LW317409248
09-8-21 18:9 回
9楼:renren
你看说明呗,这个竖曲线是用别人的加进去的,你找这个竖曲线的主人
11 楼:'隧道春
09-8-22 9:45 回
请教一下各位朋友及楼主,我这里有一个隧道曲线算超欠挖的程序,里面蓝色数字代表什么意思?还请大家多多指教啊,
〃AX〃?A: 〃BS〃?B: 〃CQ〃?C: 〃ZH〃?Z: 〃L〃?L: 〃T〃?T
Lb1 1: 〃X〃?X: 〃Y〃?Y:Pol(X-4604112.941,Y-510952.2303):J〈0=>J+360→J:131116.996+1200×3.1415926×(J-284.788325)÷180→K: 〃K〃:K◢
482.33+0.0080×(K-137650)→O: 〃H0〃:O◢
O+2.48+4.28+C+Z→H: 〃HG〃:H◢
〃HC〃?M-H→N: 〃NG〃:N◢
1599.896-I→D: 〃D〃:D◢
M>O+2.54-0.75=>Goto 2
O-L-M→V: 〃V〃:V◢
Abs(D)-(((2.83+C-(A÷2+0.05-T))÷(2.54-0.75+L))×(M-(O-L)))+A÷2-T+0.05+Z)→Q: 〃CQZ〃:Q◢
Goto 1
Lbl 2:M>O+3.73+(3.26+C+Z)×sin(45°-33°51°) =>Goto 3
√((6.57+Abs(D))2+(M-(O+2.54))2)-(9.4+C+Z)→Q: 〃CQZ〃:Q◢
Goto 1
Lbl 3:M>O+4.28+(2.48+C+Z)×cos(45°) =>Goto 4
√((0.55+Abs(D))2+(M-(O+3.73))2)-(3.26+C+Z)→Q: 〃CQZ〃:Q◢
Goto 1
Lbl 4:√(D2+(M-(O+4.28))2)-(2.48+C+Z)→Q: 〃CQZ〃:Q◢
Goto 1
12 楼:'隧道春
09-8-22 9:47 回
还望各位知道的朋友帮我配备个边这套程序的说明啊
13 楼:fk200321
09-8-23 23:11 回
坚决支持楼主!狂顶!这么好的程序!大家把他顶起来!
14 楼:happh2006
09-8-25 15:37 回
可以改成计算斜交任意角度的程序
15 楼:'lbt
09-8-25 17:3 回
评:+8 分
顶
16 楼:t74567187
09-8-26 15:44 回
没有数曲线呢 就 是一个纵坡 高程 数据库怎么输啊
17 楼:'LW317409248
09-8-26 21:42 回
16楼:t74567187
竖曲线包括了所有运算过程和数据库
18 楼:布山客
09-8-27 11:5 回
顶一个
19 楼:xingzyhou
09-8-31 23:38 回
评:+10 分
只能算一条曲线的啊,要是有多条综合曲线,请问楼主怎么办好呢?
20 楼:'大哥大
09-9-11 7:45 回
谢谢
21 楼:LW317409248 楼主
09-9-11 22:25 回
19楼:xingzyhou
多看看说明,如果是分离式路基那么就在桩号前多加一位数字即可,计算机方便辨认线路,匝道一样
22 楼:'liuyong
09-9-13 22:5 回
评:+8 分
很好,但不知怎么下载
23 楼:'LW317409248
09-9-14 1:23 回
22楼:liuyong
只需复制就行
24 楼:'初学着
09-9-17 10:50 回
怎么计算就是差那个0,000几
25 楼:sd984205
09-9-17 17:57 回
非常感谢,正好要用
26 楼:'留心
09-10-12 0:27 回
评:+10 分
好程序就要顶一下
27 楼:'学测量
09-10-15 17:50 回
楼主你好:线路上中边桩高程是否都能算?
28 楼:'linsen
09-10-17 13:51 回
超欠怎么H-0.0000→H↙ (0.000可按照本合同段测设中心到路肩高差
怎么输入呀,我的高程怎么都是无限大的呀,
29 楼:'linsen
09-10-19 11:43 回
评:+10 分
楼主在吗?
能帮我解释一下我的高程显示的无限大的原因吗?
能加你的QQ聊下吗
30 楼:'dgsd
09-10-25 19:12 回
断连如何处理啊?
31 楼:tyxiayu
09-10-29 17:39 回
请教下,有断链的时候,数据库应该怎么改
32 楼:'狼图腾
09-11-9 14:32 回
都说好久用用看~!有什么问题在问啊楼哥啊~!QQ765039521~!!狼图腾
33 楼:'寂寞
09-11-9 15:3 回
评:+6 分
顶下···
34 楼:'陈一
10-1-26 12:27 回
在算缓和曲线时起点半径是无穷大(10^45)址点半径是该曲线的半径,计算时,会出现这种现象,Math ERROR,问题出现在 “G+QEKW(C+KWD))”这个位子,不知道是什么原因,算直线圆曲线能算,缓和曲线段就出错,这是什么原因,希望楼主能帮我解答一下
35 楼:'。。。
10-3-5 15:14 回
评:+6 分
显示部分:
XS=××× 正算时,计算得出的所求点的X坐标
YS=××× 正算时,计算得出的所求点的Y坐标
FS=××× 正算时,所求点对应的中线点的切线方位角
XC=××× 测站点X值
YC=××× 测站点Y值
I=XXX 测站到放样点距离
J=XXX 测站到放样点方位角
这个测站点坐标太麻烦了 能不能提示输入一次?以下就不用输了??
展开阅读全文