毕业设计__两种贯通方法误差预计程序设计_第1页
毕业设计__两种贯通方法误差预计程序设计_第2页
毕业设计__两种贯通方法误差预计程序设计_第3页
毕业设计__两种贯通方法误差预计程序设计_第4页
毕业设计__两种贯通方法误差预计程序设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山东科技大学本科毕业论文(设计)摘要 现在市场上没有一款正式发布的软件明确支持地下贯通误差预计,并且实际工作中使用图解法或者Excel计算繁琐复杂,在特大型贯通中又有些力所不足。基于此,本文主要使用C+语言,设计井下两种贯通方法(一井贯通和两井贯通)误差预计程序。程序直接读取点数据文件和按约定原则的贯通信息数据文件(txt文本格式文件),计算贯通点在重要方向上的误差值,极大的减少处理数据和计算繁琐度。并且改变了在增添或者删除加测陀螺定向边情况下就需要大规模重新计算的局面,使贯通测量设计提高效率。整个使用的误差预计公式,为现在贯通误差预计中使用最久最成熟的导线法误差预计公式。程序主要由两个大类,

2、一是支导线误差预计类,二是加测陀螺定向边的方向附合导线误差预计类组成。通过main主函数的调用,简单组合,实现程序最大的灵活性。而每个类由主要的五个成员函数构成,使程序简明。最后以文本格式输出贯通误差预计详细结果和预计处理过程的相关数据。不仅对实际误差预计工作有现实意思,也为编制测量程序积累了经验。关键字:导线法 贯通 误差预计 程序 AbstractNowadays,We cant find a software that released officially supporting estimation of through error underground in the surveyi

3、ng and mapping market.Besides,using graphical method or Excel to calculate during the practical work is complicated.Its inefficient in the large-scale break through survey.Therefore,this article will design program to solve error prediction of two back through ways(single shaft orientation and two s

4、haft orientation).The program can directly read data files and break through information data files (.txt) according to the contract.It can calculate the error value of holing point on the important direction which greatly simplify the process. It also change the situation where need to a large scal

5、e recalculate in the case of adding or deleting gyroscopic directed edges which can improve efficiency in through survey.The error prediction formula the program use is the most longer and mature formula in break through error prediction.The program conclude two parts: error prediction of branch con

6、ductor and direction-connecting traverse which has gyroscopic directed edges.By calling main function,simply combining,the program achieve great flexibility.Each class has five member function makes the program simple and clear.Finally it can output the result and related data of error prediction pr

7、ocess.This article is not only meaningful to the actual work,but also a useful experience for measurement program writing.Keywords: Wire ; error prediction ; through ; software目录1绪论11.1研究的背景及意义11.2国内外研究现状21.3研究的内容与方法42贯通误差预计公式62.1支导线误差公式62.2方向附合导线误差公式92.3导线最远点高程中误差的误差预计公式123贯通误差预计程序总体设计133.1数据格式设计13

8、3.2贯通情况讨论与程序灵活性设计173.3预计过程可视性设计244程序详细设计274.1读入数据类设计274.2支导线误差预计类设计314.3加测陀螺定向边误差预计类设计364.4 main主函数体现程序灵活简单特性395程序在实际案例中应用415.1 某煤矿开采面最弱点误差预计415.2某煤矿两井贯通误差预计456结论与展望47参考文献50致谢52附录53531. 绪论1.1研究背景及意义随着国际隧道协会(IAT)提出“大力发展地下空间,开始人类新的穴居时代“的倡议和中国国家发展改革委、外交部、商务部2015年3月28日联合发布了推动共建丝绸之路经济带和21世纪海上丝绸之路的愿景与行动。不

9、难看出国内基础建设又将迎来一次大力发展的机遇,特别是高速特路、地铁、高速公路的发展。地下隧道是在基础建设过程中不可缺少的工程内容,并且也是当今城市地铁、地下商业街以及城市排水管线等设施中的主要构建角色。遂道的顺利贯通是保障地下工程施工进度和质量的必要条件。地下隧道贯通需要测量工作的认真和准确,而提前制定的测量方案必将会影响整个工程进度和质量。同时在现有的测量计算和实际的工程情况中,能选择出最经济合理的测量方案是考察测绘工作者的一项重要能力。测量方案中贯通误差预计又是核心内容,所以误差预计举足轻重。现在最常用的误差预计是根据测量的测边测角中误差计算,这样得出的误差结果一般比实际值大,能保证测量成

10、果的质量。但是传统图解法工作量大,即使使用Excel在加测陀螺边后的贯通误差预计中,经常要反复计算大量数据也非常麻烦。而且随着大型隧道越来越多,图解法一井显得力所不足。同时每个隧道的情况不一样,固定的贯通程序难以灵活多用。基于此编制出一个灵活多用,简单的一井贯通和两井贯通误差预计程序是本次毕业设计的主要内容。1.2国内外研究现状传统的贯通误差预计采用图解法, 通过画图求解出地上地下各点到贯通点的距离在贯通任意坐标系x、y轴方向上的投影和与y轴方向的夹角,以此计算K点在重要方向上的误差值。虽然有贯通误差预计比较直观的优点, 但这种方法过于繁琐, 需要绘图、量取点的坐标最后还要计算。当贯通工程较大

11、, 贯通距离较长时, 需要加测陀螺定向边的误差预计中增加或者删除一条定向边又得进行大规模重新计算。并且如果绘图比例太大则图纸过大使量取坐标难度增加。如果绘图比例太小则量取的误差较大。在制定贯通测量方案时,误差预计常常通过改变误差公式中的参数或者加测陀螺定向边,来使设计的测量方案满足工程需要,这样需要反复计算。使用Excel辅助计算是测量工作者常用的手段,特别在支导线误差预计中,方便简单。但是在加测陀螺定向边的大型贯通误差预计中还是显得繁琐复杂。也有学者对CAD进行第二次开发研究,编写贯通误差程序,例如刘明武、雷培的基于AutoCAD VBA贯通误差预计程序设计,极大解决了贯通误差预计图解法和使

12、用Excel计算的难题。却灵活性不足,并且误差预计过程对外是封闭的,不利于为测量方案的选择服务。贯通工程中,测量方案制定的合理与否与贯通误差预计方法的合理性是紧密相关的。 目前,在贯通误差预计中还多采用传统的预计方法。贯通后实测的贯通偏差多比预计偏差小的多,能在很大程度上保证工程质量。当然对于不同情况的隧道贯通也提出了不少简化方法和更精确计算方法。如直伸隧道内的导线简化公式,把洞内导线测量误差所引起的隧道横向贯通误差完全由测角误差所引起,测角误差与边长成正比,且与平均边长有关,平均边长越长,则导线测量误差所引起的隧道横向贯通误差越小,该方法计算更为简便,对于直伸隧道的洞内导线来说,有参考价值。

13、铁路工程测量规范( TB 101012009) 及高速铁路工程测量规范( TB 106012009) 中洞外GPS 平面网测量误差对隧道横向贯通的影响采用误差来源分析法,该方法使用了隧道两端洞口定向点点位误差和定向边坐标方位角中误差,这些值可以事先设计,因此,该方法适合在控制测量开始前对隧道贯通误差进行预计。国外,欧洲隧道公司横穿英法海峡的欧洲隧道采用按照隧道长度,用GPS 控制网平均相对误差1 /T 估计隧道贯通误差影响值,即的平均相对误差估计法,该方法过于简单,没有明确区分横向和纵向贯通误差影响值。所谓控制网平均相对误差,实际上只考虑了边长的相对误差,且控制网的边长非常悬殊。边长的相对误差

14、与边长有关,边长越短,边长的相对误差越大; 边长越长,边长的相对误差越小。早期就有郑文华、王德远在利用模拟观侧值进行贯通误差预计中就提出利用电子计算机模拟的随机数所构成的模拟观测值, 采用导线计算公式直接推出贯通点偏差的贯通误差预计方法。该方法所得偏差比传统误差预计方法所得预计位更为接近于实际贯通偏差。并且提高了一种基于现代电子技术的测量误差预计思路。近期很多学者也提出了许多新的理论方法,特别是对特大型隧道贯通误差预计。如付宏平,郭际明,张正禄等在特长隧道贯通误差预计方法研究提出的坐标差统计法、坐标中误差法以及微分公式法。陈春芝,王秉君等在多边陀螺定向在轨道大巷大型贯通测量中的应用研究了加测陀

15、螺边在大型贯通中的实际应用。在网上搜索“隧道贯通误差预计”也有很多资料,包括很多关于程序设计文献。在实际工作中设计简单程序进行误差预计和其他测量资料处理已经是提高工作效率的常用手段。1.3研究的内容与方法本次设计的内容主要是通过使用C+语言设计出直接读取在南方CASS中直接提取的预选点的坐标(txt格式)数据文件,和按约定规则编写的贯通信息文本格式文件。使用传统导线法误差预计公式实现一井贯通和两井贯通最弱点误差预计。最后在输出的结果的文本文件中详细输出误差预计计算的各类数据,以此实现误差预计过程的可视性。为了确保程序简单灵活,将同名的函数封装在两个主要的支导线和加测陀螺边的支导线类中,通过调用

16、不同类成员函数实现一井两井贯通误差预计,极大的减少主函数的复杂度。不仅仅为贯通误差预计设计出了实际的运用程序,更重要是为以后测量工作中使用编写程序解决实际问题积累了经验。主要方法是,通过系统的研究贯通测量相关的知识。即是研究地面测量,联系测量,贯通测量理论和深入了解实际工程中运用的技术方法。分析收集的相关资料,阅读相关书籍文献,外文资料,撰写开题报告确定设计思路。比较VB、MATLAB、C+程序设计语言,结合自己掌握的情况和使用的编程软件情况。考虑到程序能容易的在任何平台上使用。确定选择C+编程语言,使用code klocks13.12软件中的console application工程编写。如

17、图1.1所示,为编程主界面。图1.1 编程主界面在编写程序过程中,主要从程序简单明了,实际运用方便出发确定编程代码。程序编写完成并测试无误后,再用程序计算两个具体案例中的贯通点的误差。并且和以往使用Excel计算的误差结果与程序计算结果相比较。2. 贯通误差预计公式 本次误差预计程序设计采用的是导线法误差预计公式,一是因为导线法误差预计公式经典成熟,二是使用广泛,并且还长期在地下工程中使用。下面就支导线和方向附合导线的平面误差和高程误差预计公式做简要说明。2.1支导线误差预计公式 如下支导线误差示意图2.1所示,支导线最远点误差主要来源可以分为两大类:一是由测角量边误差所引起的支导线终点的位置

18、误差,二是由起算边坐标方位角误差和起算点位置误差引起的支导线终点位置误差。下面分别讨论。图2.1 支导线误差预计2.1.1由测角量边误差所引起的支导线终点的位置误差 测角和量边误差,必然会使导线点的位置产生误差。 支导线中,其终点k的坐标为:(2-1) xk=x1+l1cos1+l2cos2+lncosn yk=y1+l1sin1+l2sin2+lnsinn (2-2)而导线任一边lj的坐标方位角是所测角度i的函数,即 j=0+i±j180式中 1,2,n所测导线各左角; l1,l2,ln所测导线各边水平边长1,2,n所测导线各边坐标方位角;0所测导线起始坚强边坐标方位角;x1,y1

19、起始坚强点1的平面坐标;根据误差传播定律,和相关的计算推导,得到由测角量边误差所引起的支导线终点的位置误差。1)对于光电测距导线,最后得到K点的点位误差为:(2-3)Mxk2 = (1/2)Ryi2mi2+cos2imli2Myk2 = (1/2)Rxi2mi2+sin2imli2Mk2 = (1/2)Ri2 mi2+mli22)对于钢尺量距导线,最后得到K点的点位误差为:Mxk2 =(1/2)Ryi2mi2+a2licos2i+b2Lx2(2-4)Myk2 =(1/2)Rxi2mi2+ a2lisin2i + b2Ly2Mk2=(1/2)Ri2mi2+a2li+b2L2当测角精度相等时,即m

20、1=m2= mn = m,则上式可写成:(2-5) M2xk = (m2/2)R2yi +a2licos2i+ b2Lx2 M2yk = (m2/2)R2xi +a2lisin2i+ b2Ly2 Mk2=( m2/2)R2i +a2li+b2L2 mi为第i各角测角中误差;=206265是已知常数;Rxi导线终点k与各导线点i的连线在x坐标轴上的投影;Ryi导线终点k与各导线点i的连线在y坐标轴上的投影;mli光电测距的量边误差mli=±(A+Bl)。a钢尺量距偶然误差影响系数;b钢尺量距系统误差影响系数。式中:上面2-3式,2-4式,2-5式构成支导线测角量边造成最远的误差预计公式

21、。2.1.2 由起算边坐标方位角误差和起算点位置误差引起的支导线终点位置误差 通过误差传播定律和推导,起算边的坐标方位角0的误差引起的支导线终点的点位误差为:(2-6) Mx0k = Ry1 *m0 / My0k = Rx1 *m0 /M0k = R1 *m0 /若考虑起始点1的坐标误差Mx1与My1时,则m0及Mx1和My1的共同影响为:(2-7)M2x0k=M2x1+( Ry1 *m0 /)2M2y0k=M2y1+( Rx1 *m0 /) 2M20k =M21+ ( R1 *m0 /) 2上面式构成支导线起始点和起始方向误差造成最远的误差预计公式。2.2 方向附合导线误差预计公式2.2.1

22、 方向附合导线终点误差单一导线的两端均有坚强方向控制时,称为方向附合导线,如下图2.2所示,其特点是只有一端有已知坐标点1,另一端n和k坐标未知,所以只对角度进行平差。图2.2方向附合导线示意图方向附合导线经角度平差后,导线点的坐标是水平角平差值和实测边长的函数。依条件观测平差求平差值函数中误差的方法,当不考虑起算数据误差的影响时,方向附合导线终点k的点位误差估算公式为: Mxk2=m22y2-y2n+1+m2cos2Myk2=m22x2-x2n+1+m2sin2Mk2=m22y2+x2-y2+x2n+1+m2式中 x=xk-xi ,y=yk-yi。如果把坐标原点移到导线各点的平均坐标点(即重

23、心)上(见上图中的O点),可得导线终点的误差在重心坐标系统中的公式为:M2xk=m2/22i+m2licos2iM2yk=m2/22i+m2lisin2 iM2k=m2/2 R20i +m2li当用钢尺量边,a、b误差系数已知时,上式可写为: M2xk=m2/22i +a2licos2i+b2L2x(2-8) M2yk=m2/22i +a2lisin2 i+b2L2y M2k=m2/2R20i +a2li+b2L2 式中 i=yi-y0, i=xi-x0, R20i =2i+2i,而 x0=xi/(n+1), y0=yi/(n+1)。 上式构成方向附合导线测角量变导致的终点误差,下面进一步讨论

24、加测陀螺定向边导线终点误差。2.2.2加测陀螺定向边的导线终点误差若导线起算边采用陀螺经纬仪定向,并在支导线中每隔一定距离加测陀螺定向边,共加测了N条陀螺定向边,而将整个导线分为N段方向附合导线,各段导线的重心分别为O、O、,ON(参阅下图2.3)。 图2.3中间加测陀螺定向边的导线终点误差则当角度按方向附合导线平差后,同时顾及陀螺定向边本身的误差影响时,导线终点k的点位误差估算公式为:M2xk=m2/2 2+2+2 N +m20/2 (yA-y 0) 2+ m2 /2 (y 0 - 0)2 +m2N/2 (yk-y0N) 2+m2licos2i (2-9)M2yk=m2/2 2 +2 +2N

25、 +m20/2 -x 0) 2+m2/2 (x 0 -x0) 2+ + m2N/2 (xk-x0N) 2+m2lisin2 i M2k=M2xk+M2yk 式中 , 各导线点至本段导线重心O的距离在y轴和x轴上的投影长。 可以令测角误差为:Mx2=m2/2 2+2+2 N陀螺定向误差 :Mx2t=m20/2 (yA-y0)2+ m2/2 (y0- 0)2 +m2N/2 (yk-y0N) 2量边误差: Mx2l=m2licos2i(2-10)所以 M2xk=Mx2+ Mx2t+ Mx2l同理 M2yk=My2+ My2t+ My2l 上式,为导线加测陀螺定向边最远的误差预计基本公式。在支导线误差

26、预计中但是未考虑起始点对最远点的误差影响。2.3导线最远点高程中误差的误差预计公式导线最远点高程中误差的误差预计公式,主要使用的单位长度的高差中误差推算计算。假定水准线路全长为L, 为千米长度的水准线路的高差中误差,称为单位长度的高差中误差。则路线最终点测量的高程误差为计算公式为:(2-11) 式2-11构成实际导线最远点高程中误差预计公式,不论采用水准测量还是三角高程测量。只需要根据确定的 和导线长度就可以求得测量导致的最远点高程中误差。并且在一段水准路线中将水准测量和三角高程测量,其实点高程中误差看做和相互独立量,由误差传播定律可以求得最终最远点高程中误差。3. 贯通误差预计程序总体设计3

27、.1数据格式设计因为程序处理数据是按照一种提前设置的固定模式读取文件,处理文件,并不会自动识别随意组织的数据。同样,程序需要有效、简单、容易识别的数据文件支持。数据格式设计主要是输入数据的格式设计,包括导线点数据格式设计,贯通信息数据设计和加测陀螺定向边数据设计。3.1.1点数据格式设计获取点数据流程为:南方CASS打开图形工程应用>指定点生产数据文件地物编辑>坐标转换改变文件后缀dat>CSV删除多余数据列>txt直接用CASS在CAD图中提取点的数据经过上图的适当修改后形成程序读取的点数据文件。文件为文本格式(txt格式)也方便人为修改。但需要注意输入方式一个是英文

28、输入法。同时为了方便程序循环次数的确定,点名统一使用数字,不能使用英文字母和汉字。最后形成的点数据格式为图3.1:图3.1 点数据格式示意图3.1.2贯通信息数据格式设计根据导线误差预计理论可以知道,最远点的误差来源主要有起始点误差、起始方位角造成的误差、测角量边误差。同时在平斜巷中量边系数可能不尽相同,量边可能是钢尺量距也有可能是光电测距。高程测量可能采用水准也可以采用三角高程。此外还有测角量边独立进行的次数等。为了减少在程序运行时频繁输入信息,并且估计程序容易识别和贯通信息数据与点数据相互匹配。我们约定贯通信息数据为文本文件格式,按照下面的格式输入贯通信息。起始方位角误差,起始点X误差,起

29、始点Y误差起始点高程误差,独立测角次数,独立量边次数测角中误差,平巷量边偶然误差系数,平巷量边系统误差采用测距方式,斜巷量边偶然误差系数,斜巷量边系统误差按平斜巷分导线段数,水准测量每公里中误差,三角高程每公里中误差平巷或者斜巷,起点,终点平巷或者斜巷,起点,终点平巷或者斜巷,起点,终点其中测距方式有三种情况:一是全过程采用钢尺量距,并且误差系数保持不变;二是巷道分为平斜巷,全程采用钢尺测距,误差系数平斜巷不同;三是全程采用光电测距。分别用数字0,1,2代表上面三种方式,光电测距的固定误差和比例误差分别在输入在平巷偶然误差和量边误差的位置。其中平巷用数字0代表,斜巷用数字1代表。后面紧随每一段

30、平斜巷的起始和结束点号。例如图3.2所示:图3.2 贯通信息格式示意图代表,起始方位角误差是10.33,起始点X值误差0.056m,起始点Y值误差0.056m;水准起始点高程中误差0.02414m,测角单独测量2次,距离单独测量2次;测角中误差7,平巷量边偶然误差系数0.000015,系统误差系数0.00005;测距方式为巷道分为平斜巷,全程采用钢尺测距,误差系数平斜巷不同,斜巷量边偶然误差系数0.000025,斜巷量边系统误差系数0.000005;导线分为2段,水准测量每千米中误差是0.02m,三角高程每千米中误差0.032m;1号点到38号点式平巷,38号点到70号点式斜巷。3.1.3加测

31、陀螺定向边的格式设计支导线和方向附合导线在贯通中对于数据要求差异在于,方向附合导线多了加测陀螺定向边。如果导线需要顾及起始边方位角时,也将起始方位角看做一个陀螺边。加测陀螺定向边的数据格式为图3.3:图3.3 陀螺定向信息示意图代表边1-2的方位角误差为10.33,边30-31、边40-41、边60-61的方位角误差是15。3.2 贯通情况讨论程序灵活性设计贯通可能出现图3.4三种情况:(1) 相向贯通 ;(2) 单向贯通; (3) 同向贯通或追随贯通 。图3.4 贯通情况示意图贯通测量的种类有分为:(1)一井内巷道贯通;(2)两井间巷道贯通;(3)立井贯通。本次主要讨论前两种贯通方式,一井贯

32、通和两井贯通有分为有无加测陀螺边之分。下面对加测陀螺定向边两种贯通方式的误差公式做简要讨论。3.2.1一井贯通加测陀螺定向边如图3.5所示,在贯通导线k-E-A-B-C-D-F-k中加测了三条陀螺定向边1、2和3,将导线分成四段,其中A-B和C-D两段是两端附合在陀螺定向边上的方向附合导线,其重心分别为O1和O2,而E-k和F-k两段是支导线,导线独立施测两次。这时k点在水平重要方向x上的贯通误差估算公式为:图3.5 一井贯通示意图(一)由导线量边测距引起K点在x方向上的误差为:(1)钢尺量距时,Mx'l2=12a2lcos2'(2)光电测距时,Mx'l2=12ml2c

33、os2'式中 导线各边与x轴间的夹角;a钢尺量边的偶然误差系数;ml光电测距的量边误差ml=±(A+Bl)。 (二) 由井下导线测角误差引起k点在x方向上的误差Mx'2=m222AB2+CD2+EKRy'2+FKRy'2(三) 由陀螺定向误差引起的k点在重要方向x上的误差Mx'02=12m12y'k-y'O1+m22y'O1-y'O2+m32y'O2-y'K而 Mx'=±Mx'l2+Mx'2+Mx'02贯通相遇点K在水平重要方向x上的预计误差为:Mx

34、9;预=2Mx'3.2.2两井贯通加测陀螺定向边如图3.6所示,地面从近井点P开始,分别向一号井和二号井敷设支导线。支导线测角中误差为m上,支导线量边中误差为ml上,导线独立施测两次。井下用陀螺经纬仪测定5条导线边的坐标方位角误差m1,m2,m5。在一号井和二号井中各挂一根垂球线(长钢丝下悬重),与井下定向边A1和C23连测,以传递平面坐标,井下导线被分成AE,EM,Mk,BC,CN,Nk六段,其中Mk,BC,Nk三段为支导线,AE,EM,CN三段为方向附合导线,井下导线独立测量两次,测角中误差为m下,量边中误差为ml下。图3.6 两井贯通示意图贯通相遇点k在水平重要方向x上的误差预计

35、方法如下:(一) 由地面导线测量引起的k点在x方向上的误差Mx'上2=m上222PARy'2+PBRy'2+12PAml上2cos2+PBml上2cos2式中 Ry地面导线各点与井下起始点A和B(视为近井导线的终点)的连线在y轴上的投影长;地面导线各边与x轴的夹角(二) 由陀螺定向误差引起的k点在重要方向x上的误差 Mx'02=12m12y'1-y'O1+m22y'O1-y'O2+m32y'O2-y'Ok+m42y'OB-y'3+m52y'O3-y'K(三) 由井下导线测角误差引起k

36、点在x方向上的误差Mx'2=m222A82+E162+23292+MKRy'2+NKRy'2+CBRy'2式中 各导线点至本段导线重心O的距离在y轴上的投影长;Ry支导线段终点K与该段支导线上各点连线在y轴上的投影。(四) 由井下量边误差引起的k点在x方向上的误差Mx'l2=12mli2cos2i'(五) k点在x方向上的总中误差Mx'k=±Mx'上2+Mx'02+Mx'l下2+Mx'下2(六) 贯通相遇点k在水平重要方向x上的预计误差Mx'预=2Mx'3.2.3高程测量误差水准测

37、量和三角高程测量引起K点在高程的误差:MH水准=mhL水准RMH三角=mhL三角L式中 mhL水准每千米长水准路线的高差中误差;mhL三角每千米三角高程路线的高差中误差;R平巷中水准测量路线总长度,以km为单位;L斜巷中三角高程总长度,以km为单位。K点高程上的误差预计中误差:MHK=±MH水准2+MH三角2如果两井在估计地面高程测量误差和联系测量误差MHK2=MH地面水准2+MH地下三角2+MH地下水准2+MH联系测量2若独立进行n次高程测量,则n次测量平均值中误差为:MHK平=MHKnK点在高程上的误差预计贯通误差MH预计=2MHk平从上面的贯通情况和误差公式我们可以看出,一井贯

38、通整个贯通误差预计都可以看做由支导线或者加测陀螺定向边的支导线组成。而且对于两井贯通除了考虑地上测量误差影响和联系测量误差影响外,地下贯通可以看做是两段支导线构成。地面测量现在多采用GPS测量和GPS加导线边成无定向边导线,误差预计简单。K点高程误差预计,不论一井贯通还是两井贯通误差预计方法一样,需要考虑地面测量误差或者联系测量误差时,用误差传播定律当作独立量进行计算就可以。如图3.7所示,基于数据文件格式和贯通情况的研究,考虑到使程序简单灵活。主要编写三个类,一是文件读取类,二是支导线误差预计类,三是加测陀螺定向边误差预计类。main主函数通过调用类的对象,实现误差预计。main主函数支导线

39、误差预计类(ZDX_wu_cha)获得点数据函数:get_point_data()获得贯通信息数据函数:get_information()误差预计函数:wu_cha_yu_ji()结果输出函数:input_result()保存详细成果函数:save_data()加测陀螺边差预计类(ZDXT_wu_cha)获得点数据函数:get_point_data()获得贯通信息数据函数:get_information()获得加测陀螺边信息数据函数:get_informationT()误差预计函数:wu_cha_yu_ji()结果输出函数:input_result()保存详细成果函数:save_data()文

40、件读入类获取点数据和贯通信息数据(cinfile)读取点数据函数:point_file(char * filename)读取贯通信息函数:information_file(char *filename)图3.7 程序主要结构3.3预计过程的可见性预计过程的可见性主要是起到数据的检核和便于对误差预计方案的修改作用。在第二章差预计公式中推导中,和第三章第二节贯通误差预计公式运用中可以看出,要使程序误差预计过程对于用户可视需要输出相关数据。如图3.8所示,支导线误差预计相关数据。支导线误差预详细计结果测角误差:MX ,My ;量边误差:MXl ,Myl ;起始方位角导致的K点误差:MX0 ,My0

41、;起始点为导致的K点误差:MX0 ,My0 ;最终计算的K点误差:MX ,My ;起始点高程误差:Mh0 ;水准测量引起K高程误差:Mh1 ;三角高程测量引起K高程误差:Mh2 ;K高程误差:MH ;各导线点到终点在x方向和y方向距离:R_x ,R_y ;各导线边的边长和方位角:L_i ,A_i ;各导线边的边长和方位角正余弦平方的乘积值:L_i*sin2A_i ,L_i*cos2A_i值 ;(钢尺量距是给出);各导线边的边长误差和方位角正余弦平方的乘积值:mli*sin2A_i ,mli *cos2A_i值 ;(光电测距时给出);*其中需要区分平巷和斜巷,按平巷和斜巷分别输出值,而且给出其需

42、要的和或者平方和。图3.8 支导线误差预计可视化输出文件如图3.9所示,加测陀螺定向边误差预计相关数据。加测陀螺定向边误差预详细计结果测角误差:MX ,My ;量边误差:MXl ,Myl ;起始方位角导致的K点误差:MX0 ,My0 ;起始点为导致的K点误差:MX0 ,My0 ;加测陀螺定向边引起的K点误差:MT ,MT ;最终计算的K点误差:MX ,My ;取2倍计算的K点误差为预计误差:MX预,My预;起始点高程误差:Mh0 ;水准测量引起K高程误差:Mh1 ;三角高程测量引起K高程误差:Mh2 ;K高程误差:MH ;取2倍计算的K点高程误差为预计误差:MH预;加测陀螺定向边得到的重心坐标

43、:Oxi ,Oyi ;方向附合导线上各导线点到重心点O,在x方向和y方向距离:x , y;各支导线导线点到终点在x方向和y方向距离:R_x ,R_y ;各导线边的边长和方位角:L_i ,A_i ;各导线边的边长和方位角正余弦平方的乘积值:L_i*sin2A_i ,L_i*cos2A_i值 ;(钢尺量距是给出);各导线边的边长误差和方位角正余弦平方的乘积值:mli*sin2A_i ,mli *cos2A_i值 ;(光电测距时给出);*其中需要区分平巷和斜巷,按平巷和斜巷分别输出值,而且给出其需要的和或者平方和。图3.9 加测陀螺定向边误差预计可视化输出文件以上两个输出文件的内容,以文本格式输出保

44、存,方便对误差结果检验和多种测量方案测量结果比较。也以此实现误差预计过程的各数据是可见的。同时为了有时候main主函数需要调用其中一个类中某个值或者一组值,提供一get_dat的成员函数。具体功能将在程序详细设计是讨论。4程序详细设计4.1 读入数据类设计 在支导线误差预计类和加测陀螺定向边误差预计类中都需要读入点数据和贯通信息数据。如下图,用UML(统一建模语言)类图表示读入数据文件类:cinfile- p : Point *=NULL- num : int=0- t : double *=NULL+ point_file(char * filename) : Point*+input_po

45、int() : void+ information_file(char *filename) : double*+ input_information() : void+get_point_num() : int图4.1 读入文件类图4.1.1点数据读入函数point_file(char * filename)使用: ifstream infile(filename,ios:binary)语句打开文本格式文件;创建一个临时字符数组:char str_tempmax_len;用while循环语句将打开的文本格式文件(字符数据)存储到临时创建的字符数组中。并点数据文件的行数获得点的个数,同时也就需

46、要在数据文件中没有多余的字符:while(infile.get(ch) str_tempi=ch; i+; if(ch='r') len+; 根据点的个数(len的值)申请点的空间,使私有指针变量指向首地址:p=new Pointlen;利用下列代码将通过循环语句将保存数据的字符数组,存储到申请的动态点数据空间(这一步是整个程序读入文件的基本原理):for( i=0;i<len;i+) char char_temp20; int k;for(k=0;j<strlen(str_temp)&&str_tempj!=' '&&

47、;str_tempj!=','j+,k+) char_tempk=str_tempj; char_tempk='0' strcpy(pi.point_name,char_temp); for(j=j+1,k=0;j<strlen(str_temp)&&str_tempj!=' &str_tempj!=','j+,k+) char_tempk=str_tempj; char_tempk='0' sscanf(char_temp, "%lf", &pi.point_X)

48、; for(j=j+1,k=0;j<strlen(str_temp)&&str_tempj!='r'j+,k+)char_tempk=str_tempj; char_tempk='0' sscanf(char_temp, "%lf", &pi.point_Y); j=j+2;最后函数返回指针P指向的地址:return p;4.1.2贯通信息读入函数information_file(char *filename)贯通信息读入函数和点数据读入函数基本相同,代码如下:double * cinfile:informati

49、on_file(char * filename) ifstream infile(filename,ios:binary); if(!infile) cout<<endl<<"打开贯通信息文件失败!"<<endl; return NULL; char ch; int len=1; int i=0; char str_tempmax_len; while(infile.get(ch) str_tempi=ch; i+; if(ch=13) len+; infile.close(); str_tempi='0' t=new d

50、oublelen*3; int j=0; for( i=0;i<len;i+,j+) char char_temp20; int k; for(k=0;j<strlen(str_temp)&&str_tempj!=' '&&str_tempj!=','j+,k+) char_tempk=str_tempj; char_tempk='0' sscanf(char_temp,"%lf",&ti*3+0);for(j=j+1,k=0;j<strlen(str_temp)&am

51、p;&str_tempj!=''&&str_tempj!=','j+,k+) char_tempk=str_tempj; char_tempk='0' sscanf(char_temp, "%lf", &ti*3+1); for(j=j+1,k=0;j<strlen(str_temp)&&str_tempj!='r'j+,k+) char_tempk=str_tempj; char_tempk='0' sscanf(char_temp, &q

52、uot;%lf", &ti*3+2); cout<<endl<<"贯通信息数据读取成功! "<<endl<<endl; return t;从代码中可以看出t指向的是double类型的数据。也就是说,贯通信息数据最后都转化成了浮点数类型,这主要一是比如起始方向误差等数据是浮点数;二是方便利用贯通信息数据对贯通信息处理,如确定循环次数;三是便于在程序中起判断作用,同时避免了自定义复杂结构体类型。其次还提供了两个输出显示数据的成员函数,一是显示读入点数的input_point()函数和显示贯通信息的input_in

53、formation()函数,主要是为了在界面直观的显示各项参数,也可以人工确认是否数据有误。4.2支导线误差预计类设计 如图4.1所示,支导线误差预计流程和UML支导线误差预计类类图。ZDX_wu_cha读入点数据-M_a :double =0-M_a0 :double=0-p_point :Point *=NULL-infor :double *=NULL读入贯通信息数据支导线误差预计+get_point_data():int+get_information():int+wu_cha_yu_ji():void+input_result():int+save_data():char *+get_data(string ch):double*显示误差预计结果保存详细误差预计过程资料图4.2 支导线误差预计流程及类图从流程图和类图可以得到支导线误差预计主要需要的几个函数和函数的功能。4.2.1获得点数据及预处理点数据类get_point_data()点数据的读入主要通过创建一个cinfiile类的对象实现,支导线中p_point指针指向cinfile类成员函数point_file返回的地址:cinfile c; char dian_name20; ch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论