含数据库

更新时间:2023-10-18 05:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

含数据库、测站放样计算(第五次修改-正式版)

1.加编数据库及计算总调度程序,计算中不必逐项输入\线元要素\提高运算速度,避免现场忙中出错

2.可加入多条线路的数据库,内业输入数据,外业一目了然 3.计算直观,人性化

4.正算直接输入里程和边距,反算输入近似里程便可

5.增加了“计算点与测站点”的距离和方位角计算语句,方便直接放样 6.愿收获与大家共享,同时也希望大家提出心得和宝贵建议

一.改动后的程序清单,增设数据库程序,可输入n条线路的数据库

1.(QXZDJS 计算总调度程序)M=1=>Prog \\△←┘...........M=n=>Prog \△←┘

2.(SJK1 数据库程序)\:\:{N,S}:N:S\本线元终点里程=>U=本线元起点X坐标:V=本线元起点Y坐标:G=本线元起点正切线方位角:P=本线元起点曲率半径:R=本线元终点曲率半径:O=本线元起点里程:H=本线元终点里程:Q=本线元左直右偏向(0或1、-1):Goto0Δ←┘S≤下一线元终点里程=>O=。。。。。。。。。。。。。。。。: Goto0Δ←┘LB1 0

3.(SUBSJK 运算主程序){UVGPROHQ}:U\:V\:G\:P\:R\:O\:H\:Q←┘Deg:S>H=>Goto AΔD=(P-R)÷2PR(H-O):N=1=>Goto 1:≠>Goto 2Δ←┘Lbl 1:{Z}:Z:W=Abs(S-O):Prog \:\:X◢\:Y◢\:F=F-90←DMS◢I=0:J=0:Pol(X-C\,Y-E\):J<0=>J=J+360:Δ“FWJ=”:J←DMS◢“I=”:I◢Goto A←┘Lbl 2:{XY}:I=X:J=Y:Prog \:\◢\◢Lbl A

4. (SUB1 正算子程序)主程序 二. 使用说明:

1.把所有相关的”线元要素“依次输入”SJK“,如果有多条线路,可把“SJK”分成SJK1...SJKn等n条线路数据库,然后对应“计算总调度程序”中的M1...Mn备用

2.运算时直接调用“SJK”运行,程序提示输入里程“S”?时,正算直接输入待求点里程,反算输入所求点“近似“里程

3.如果在正算中途想进行反算,重新给”N“?赋值\便可

4.程序中“XC、YC”为测站坐标,“I=”、“FWJ=”为放样距离和方位角 5.程序中“QX-FWJ=”为计算点在中线上的正切线方位角,此方位角在新线路输入数据库时非常重要,我们在每输入完一段曲线元要素后,立即退出返回到“计算总调度程序(SUBSJK)”中,然后输入该段曲线元的终点里程,其计算出来的X,Y中桩坐标应该与设计图纸(当然是经过复查无误的图纸)上的该点中桩坐标一致,否则一定是哪个地方数据输入或者程序有误,这时候我们一定要把该计算点在中线上的正切线方位角“QX-FWJ=”记录下来为下一段曲线元要素数据输入服务,因为它就是下一段曲线元的起点正切线方位角,嘿嘿! 6. 附件:(原程序)曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序 一、程序功能

本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。另外也可以将本程序中核心算法

部分的两个子程序移植到其它相关的程序中,用于对曲线任意里程中边桩坐标进行正反算。本程序也可以在CASIO fx-4500P计算器及 CASIO fx-4850P计算器上运行。

特别申明:(1). 适用于弧长小于2倍半径的各种线元坐标正反算,精度优于1mm; (2). 在引用该核心计算部分时,请注明来源。 二、源程序

1.主程序(TYQXJS)\:\:N:U\:V\:O\:G\:H\:P\:R\:Q:C=1÷P:D=(P-R)÷(2HPR):E=180÷π:N=1=>Goto 1:≠>Goto 2Δ←┘Lbl 1:{SZ}:SZ:W=Abs(S-O):Prog \:X\◢Y\◢F\◢Goto 1←┘Lbl 2:{XY}:XY:I=X:J=Y:Prog \:S\◢Z\◢Goto 2 2. 正算子程序(SUB1)

3. 反算子程序(SUB2)T=G-90:W=Abs((Y-V)cosT-(X-U)sinT):Z=0:Lbl 0:Prog \:L=T+QEW(C+WD):Z=(J-Y)cosL-(I-X)sinL:AbsZ<1E-6=>Goto1:≠>W=W+Z:Goto 0Δ←┘Lbl 1:Z=0:Prog \:Z=(J-Y)÷sinF 三、使用说明

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 N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算里程和边距。 X0 ?线元起点的X坐标 Y0 ?线元起点的Y坐标 S0 ?线元起点里程 F0 ?线元起点切线方位角 LS ?线元长度 R0 ?线元起点曲率半径 RN ?线元止点曲率半径 Q ? 线 元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0) S ? 正算时所求点的里程 Z ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零) X ?反算时所求点的X坐标 Y ?反算时所求点的Y坐标 显示部分: XS=××× 正算时,计算得出的所求点的X坐标 YS=××× 正算时,计算得出的所求点的Y坐标 FS=××× 正算时,所求点对应的中线点的切线方位角 S=××× 反算时,计算得出的所求点的里程 Z=××× 反算时,计算得出的所求点的边距

本文来源:https://www.bwwdw.com/article/1c5f.html

Top