1.加编数据库及计算总调度程序,计算中不必逐项输入"线元要素",提高运算速度,避免现场忙中出错
2.可加入多条线路的数据库,内业输入数据,外业一目了然
3.计算直观,人性化
4.正算直接输入里程和边距,反算输入近似里程便可
5.增加了“计算点与测站点”的距离和方位角计算语句,方便直接放样
规定 (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。 (2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线右 侧时,Z取正值。 (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。 (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的 值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等 于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
一.改动后的程序清单,增设数据库程序,可输入n条线路的数据库
1.(QXZDJS 计算总调度程序)
M=1=>Prog "SJK1":Prog "SUBSJK"△←┘ M表示匝道或道路数据库编号
M=n=>Prog "SJKn":Prog "SUBSJK"△←┘
2.(SJK1 数据库程序)
"1.SZ => XY":"2.XY => SZ":{N,S}:N:S"DKI"←┘
S≤本线元终点里程=>U=本线元起点X坐标:V=本线元起点Y坐标:G=本线元起点正切线方位角:P=本线元起点曲率半径:R=本线元终点曲率半径:O=本线元起点里程:H=本线元终点里程:Q=本线元偏向(左-1直0右+1):Goto0Δ←┘
S≤下一线元终点里程=>U=。。。。。: Goto0Δ←┘
LB1 0
3.(SUBSJK 运算主程序)
U"XA":V"YA":G"FA":P"RA":R"RB":O"DKA":H"DKB":Q←┘
Deg:S>H=>Goto AΔD=(P-R)÷2PR(H-O):N=1=>Goto 1:≠>Goto 2Δ←┘
Lbl 1:{ZT}:Z"BJ(-0+)":T=90:W=Abs(S-O):Prog "SUB1":F=F-90:F<0=>F=F+360Δ 说明:S表示准备放样的桩号,Z表示放样边距(偏向左-1直0右+1),T如果此处不赋值,表示线路为斜交。
"QX-FWJ=":F←DMS
"XS=":X◢
"YS=":Y◢
I=0:J=0:Pol(X-C"X0",Y-E"Y0"):J<0=>J=J+360:Δ“FWJ=”:J←DMS◢
“I=”:I◢ 说明:(X0,Y0)表示待放样点坐标
Goto A←┘
Lbl 2:{XY}:I=X:J=Y:Prog "SUB2":"S=":S=O+W◢
"Z=":Z◢ 说明:S,Z为反算时的桩号及边距
Lbl A
4. (SUB1 正算子程序)
A=0.1739274226:B=0.3260725774:K=0.0694318442:L=0.3300094782:X=U+W(Acos(G+180QKW(1÷P+KWD)÷π)+Bcos(G+180QLW(1÷P+LWD)÷π)+Bcos(G+180(1-L)QW(1÷P+(1-L)WD)÷π)+Acos(G+180(1-K)QW(1÷P+(1-K)WD)÷π)):Y=V+W(Asin(G+180QKW(1÷P+KWD)÷π)+Bsin(G+180QLW(1÷P+LWD)÷π)+Bsin(G+180(1-L)QW(1÷P+(1-L)WD)÷π)+Asin(G+180(1-K)QW(1÷P+(1-K)WD)÷π)):F=G+180QW(1÷P+WD)÷π+90:X=X+ZcosF:Y=Y+ZsinF
5.(SUB2 反算子程序)
T=G-90:W=Abs((Y-V)cosT-(X-U)sinT):Z=0:Lbl 0:Prog "SUB1":L=T+180QW(1÷P+WD)÷π:Z=(J-Y)cosL-(I-X)sinL:AbsZ<1÷10^6=>Goto1:≠>W=W+Z:Goto 0Δ←┘
Lbl 1:Z=0:Prog "SUB1":Z=(J-Y)÷sinF
二. 使用说明:
1.把所有相关的”线元要素“依次输入”SJK“,如果有多条线路,可把“SJK”分成SJK1...SJKn等n条线路数据库,然后对应“计算总调度程序”中的M1...Mn备用
2.运算时直接调用“SJK”运行,程序提示输入里程“S”?时,正算直接输入待求点里程,反算输入所求点“近似“里程
3.如果在正算中途想进行反算,重新给”N“?赋值"2"便可
4.程序中“XC、YC”为测站坐标,“I=”、“FWJ=”为放样距离和方位角
5.程序中“QX-FWJ=”为计算点在中线上的正切线方位角,此方位角在新线路输入数据库时非常重要,我们在每输入完一段曲线元要素后,立即退出返回到“计算总调度程序(SUBSJK)”中,然后输入该段曲线元的终点里程,其计算出来的X,Y中桩坐标应该与设计图纸(当然是经过复查无误的图纸)上的该点中桩坐标一致,否则一定是哪个地方数据输入或者程序有误,这时候我们一定要把该计算点在中线上的正切线方位角“QX-FWJ=”记录下来为下一段曲线元要素数据输入服务,因为它就是下一段曲线元的起点正切线方位角,嘿嘿! |