1.坐标正算主程序(命名为KP-XY)
第1行:Lbl 0
“DK=”?K:“PJ=”? P:“α=”?W
第2行:Prog “GP”(GP为线路名称)
第3行:“X=”:X+Pcos(F+W)→X◢
第4行:“Y=”:Y+Psin(F+W)→Y◢
第5行:“FWJ=”:F►DMS◢
第6行: Goto 0
K——计算点的里程
PJ——计算点到中桩的距离(左负右正)
α——取线路前进方向右夹角为正
X、Y--为计算坐标、F为方位角
GP--为线路平曲线名称
2.坐标反算桩号和偏距主程序(命名为XY-KP)
第1行:“DK=”?K:“X:=”? U:“Y:=”?V
第2行:Lbl 0
Prog “GP”
第3行:Pol(U-X,V-Y):Icos(F-J)→Z[1]:K+Z[1]→K
第4行:Abs(Z[1])>0.0001=>Goto 0
第5行:“DK=”:K◢
第6行:“PJ=”:Isin(J-F)→P◢
X:= —取样点的X坐标
Y:= —取样点的Y坐标
DK= 输入时为计算起始点(在线路内即可),输出时为反算点的桩号
P—偏距(左负右正)
3.计算坐标子程序(命名为XYF)
为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序
第1行:K-G→S:(D-C)÷L→I
第2行:X+∫(cos(F+X(2C+XI)×90÷π),0,S)→X
第3行:Y+∫(sin(F+X(2C+XI)×90÷π),0,S)→Y
第4行:F+S(2C+SI)×90÷π→F
第5行:FF+360→F: F>360=>F-360→F
4.数据库(命名为A)
第1行:→G:3925525.975→X:502796.176→Y:3°47′30.2″→F:1/996→C:1/180→D:41.078→L:
K≤G+L=>GoTo1(第一缓和曲线)
第2行:245.607→G: 3925566.736→X:502801.006→Y: 11°30′39.4″→F: 1/180→C:1/180→D:91.027→L:
K≤G+L=>Goto1(圆曲线)
第3行:318.522→G: 3925647.682→X:502804.484→X: 40°29′08.7″→F: 1/180→C: 1/295.54→D: 70.37→L:
K≤G+L=>Goto1(第二缓和曲线)
第4行:Lbl 1:Prog “XYF”
G——曲线段起点的里程
X——曲线段起点的x坐标
Y——曲线段起点的y坐标
F——曲线段起点的坐标方位角
C——曲线段起点的曲率(半径倒数,直线为0,左负右正)
D——曲线段终点的曲率(半径倒数,直线为0,左负右正)
L——曲线段长度(尽量使用长度,为计算断链方便)
说明:
(1)适用于任意线形:直线(→C、→D)、圆曲线(圆半径倒数→C、圆半径倒数→D)、缓和曲线(或圆半径倒数→C、圆半径倒数或→D)、卵形曲线(接起点圆的半径倒数→C、接终点圆的半径倒数→D),曲线左转多加一负号。
(2)本程序精度较高,不受曲线半径大小影响,即使极小半径的螺旋曲线等误差仅为万分之一(0.1mm),可以忽略。
(3)若是从大里程向小里程的反方向计算,则曲率取正方向时的负值,方位角减去(或加上)180度。
(4)有多个匝道的项目,可随时更改正反算主程序中的红色字体部分来调用其它线路的数据
(5)反算桩号偏差为1mm
(6)本程序可以计算任意线型(直线、圆曲线、缓和曲线、卵形曲线)的坐标
来源:网络
(版权归原作者所有,如有侵权请联系删除!)
领取专属 10元无门槛券
私享最新 技术干货