1 / 17
文档名称:

线元法线路坐标正反算程序.doc

格式:doc   大小:51KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

线元法线路坐标正反算程序.doc

上传人:分享精品 2018/7/21 文件大小:51 KB

下载得到文件列表

线元法线路坐标正反算程序.doc

文档介绍

文档介绍:经苦心钻研,奋战多日,终于编写出了代码短,速度快,精度高,功能全的线路坐标正反算程序,欢迎试用并提出宝贵意见。
功能简介及特点:
1、选用高斯-勒让德公式作计算内核,保证精度,模块化设计,便于扩充功能。
2、线元数据可自动从数据库调用,也可手工输入。
3、可管理多条线路,如里程不在线路或线元范围,将警告里程偏大、偏小。
4、边桩计算设计为导线式递推方式,可用于由一个中桩推出结构物所有角点坐标。
5、反算实现了智能化操作,只需输入线路号(或手工输线元资料)、坐标,不需近似里程,即可自动从起点向后开始试算出里程、位置,如对算出里程、位置表示怀疑,还可以让计算器从终点起再向前试算下一个可能的位置(匝道、回头曲线同一坐标可能会有一个以上结果)。第三次及以后试算才要求输入近似里程。
6、程序代码规范简洁,便于阅读、理解。
   完整程序清单:
ZFS %正反算主程序
B=.1739274226:C=.5-B:
Lbl 1:U"0 ZS 1 FS"=0=>Prog "ZS":
≠>U=1=>Prog"FS":≠>Goto 1
ZS %正算子程序
{K}:Prog"ZZ":I=0:{I}:I"L"≠0=>"Prog"WY":≠>Prog"ZB"
FS %反算子程序
{KVW}:V"XC"W"YC":Lbl 2:Prog "ZZ":I=V-S:J=W-T:Pol(I,J:
J=J-F:K=K+Rec(I,J:AbsI<1m=>Prog"WZ":≠>Goto 2Δ
M=0:{M}:M"0 NEXT"=0=>U=U+1:Goto 2:≠>U=1
ZZ %高斯法中桩子程序(4节点)
Prog"XL":M=K-L:O=(P-R)÷2PQR:
D=.0694318442:E=.3300094782:F=1:G=1-E:H=1-D:
I=5:Lbl 1:C[I]=A+MrC[I](1÷P+OMC[I]:Dsz I:Goto 1:
S=X+M(osG+BcosH:
T=Y+M(BsinD+CsinE+CsinG+BsinH
WY %外移点计算子程序
Lbl 1:J=90:{J}:J=F+J"<":F=J:S=S+Rec(I,J:T=T+J:
Prog"ZB":I=0:{I}:I"L"≠0=>Goto 1
WZ %位置显示子程序
"KJ":K:Pause 1:J◢
ZB %坐标显示子程序
"XY":S:Pause 1:T◢
YC %异常处理子程序
U=1=>K=L:U=2Δ
U=3=>K=M:U=4Δ
U=5=>{K}:U=4Δ
K<L=>"<<!":Z=1Δ
K>M=>">>!":Z=1
DL %断链处理子程序
"DL":K=L:I>0=>K=L+Q
-------------------------以上为程序运算部分,以下为数据库部分-------------------------------
XL %线路数据库选择子程序
Lbl 1:Z=0:N"0 SD"=0=>Prog"0"△
N=1=>Prog"1"△
N=2=>Prog"2"△
...
有几条线路仿上行格式输几行
Z=1=>{NLXYOPQRK}:Goto 1
0 %手工输入子程序
L"K0"XYAQ"LS"P"R0"R"RN":M=L+Q:Prog"YC"
1 %线路一数据库子程序
①Lbl B:L=线路起点里程:M=线路终点里程:Prog"YC":Z=1=>Goto EΔ
②Q=线元长:P=起点半径:R=终点半径:K≤L+Q=>X=起点X坐标:Y=起点Y坐标:A=起点方位角:Goto EΔL=L+Q:
③......
④Q=短链长:K<L+Q=>Prog "DL":Goto BΔL=L+Q:
⑤Q=线元长:P=起点半径:R=终点半径:K≤L+Q=>X=起点X坐标:Y=起点Y坐标:A=起点方位角:Goto EΔL=L+Q:
⑥......
⑦Q=线元长:P=起点半径:R=终点半径:X=起点X坐标:Y=起点Y坐标:A=起点方位角:Lbl E
2 %线路二数据库子程序
输入要求和线路一相同。
数据输入要求:
①是线路总体资料格式
②⑤是标准线元资料格式,按里程顺序依次排
④断链资料格式
⑦最后一个线元资料格式
注:1、加下划线的行是程序名及功能说明
2、ZZ程序第三行的r是计算器的弧度转度标志,相当于*180/π。
    3、请注意区别数字0及字母O
每个子程序第一行为程序名和功能简介用%隔开,本程序语句在行未统一用冒号分隔,不须再加换行符,除≠>前外所有冒号也可用换行代替。
程序未尾的Δ(一个程序中Δ个数本应和=>的个数相等)、:前的)