1. 坐标正算主程序坐标正算主程序坐标正算主程序坐标正算主程序(命名为命名为命名为命名为ZBZS)
第1行:Lbl 0:{W,T,B}:W”K=”:T”LEN=”:B
第2行:Prog “A
第3行:X=D+Tcos(F+B)◢
第4行:Y=E+Tsin(F+B)◢
第5行:F=F◢
第6行:Goto 0
K——计算点的里程
LEN——计算点到中桩的距离(左负右正)
B——取前右夹角为正
2. 坐标反算桩号和偏距主程序坐标反算桩号和偏距主程序坐标反算桩号和偏距主程序坐标反算桩号和偏距主程序(命名为命名为命名为命名为ZBFS)
第1行:{U,V,K}:U”X1”:V”Y1”: W”K1”
第2行:I=0:J=0
第3行:Lbl 0:Prog “A”
第4行:Pol(U-D,V-E):S=Icos(F-J):W=W+S
第5行:Abs(S)>0.0001=>Goto 0△
第6行:T=Isin(J-F)
第7行:K=W◢
第8行:T”LEN”=T◢
X1——取样点的X坐标
Y1——取样点的Y坐标
K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号
T——偏距(左负右正)
3. 计算坐标子程序计算坐标子程序计算坐标子程序计算坐标子程序(命名为命名为命名为命名为XYF)
为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序
第1行:S=W-A:I=(Q-P)÷L
第2行:D=D+∫(cos(F+X(2P+XI)×90÷π),0,S,4)
第3行:E=E+∫(sin(F+X(2P+XI)×90÷π),0,S,4)
第4行:F=F+S(2P+SI)×90÷π
4. 数据库(命名为A)
第1行:W≤175.191=> GoTo 2△
第2行:A=175.191:D=428513.730:E=557954.037:F=92°26′40″:P=0:Q=1/240:L=70.417:
W≤A+L =>GoTo 1△
第3行:A=245.607: D=428507.298:E=558024.092:F=100°50′59.4″:P=1/240:Q=1/240:
L=72.915: W≤A+L =>Goto 1△
第4行:A=318.522: D=428482.988:E=558092.538:F=118°15′25.2″:P=1/240:Q=0:L= 55.104:
W≤A+L =>Goto 1△
第5行:A=373.627:D=428453.283:E=558138.912:F=124°50′4.5″:0:P=0:Q=-1/180:L=67.222:
W≤A+L=>Goto 1△Goto 2
第6行:Lbl 1:Prog “XYF”: Goto 3
第7行:Lbl 2:D=0:E=0:F=0
第8行:Lbl 3
A——曲线段起点的里程
D——曲线段起点的x坐标
E——曲线段起点的y坐标
F——曲线段起点的坐标方位角
P——曲线段起点的曲率(左负右正)
Q——曲线段终点的曲率(左负右正)
L——曲线段长度(尽量使用长度,为计算断链方便)
说明:
(1)正算主程序可以计算一般边桩的坐标,如要计算类似涵洞端墙的坐标需增加两个变量,具体方法参考本程序集中的第1篇辛普生公式的坐标计算通用程序
(2)程序规定,左偏曲线曲率(半径倒数)输入负值,右偏曲线曲率输入正值,直线上点曲率输入0。
(3)本程序精度极高,不受曲线半径大小影响,即使极小半径的螺旋曲线等误差仅为万分之一(0.1mm),可以忽略。
(4)若是从大里程向小里程的反方向计算,则曲率取正方向时的负值,方位角减去(或加上)180度。
(5)有多个匝道的项目,可随时更改正反算主程序中的红色字体部分来调用其它线路的数据
(6)反算桩号偏差为1mm
(7)可以计算任意线型的任意点坐标
(来自百度文库,看不懂的话可以自己查一下)