基于Matlab的导线网坐标计算_毕业设计.doc_第1页
基于Matlab的导线网坐标计算_毕业设计.doc_第2页
基于Matlab的导线网坐标计算_毕业设计.doc_第3页
基于Matlab的导线网坐标计算_毕业设计.doc_第4页
基于Matlab的导线网坐标计算_毕业设计.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

东华理工大学长江学院毕业设计 论文题目:基于Matlab的导线网坐标计算 English Title:Traverse Network Coordinate Calculation Based On Matlab学生姓名:闫晓天 申请学位门类:工学学士 学 号:09351122 专 业:测绘工程 系 别:测绘工程系指导老师:刘 波 职称:讲 师二 零 一 三 年 六 月东华理工大学长江学院毕业设计 摘要摘 要导线计算是在所有测量工作中经常遇见的问题之一,同时导线计算的方法也有很多种,本文主要是利用简单易懂的Matlab对附合导线、闭合导线和支导线进行相应的平差计算。文章首先介绍了附合导线、闭合导线、支导线基本概念和计算方法,其次利用Matlab计算机编程语言对三种导线的计算进行编程实现;最后通过实例验证,本文利用Matlab编写的程序正确,通过输入边长和角度,能够快速的得到各控制点的准确坐标。关键词:Matlab;导线计算;精度评价;计算机编程东华理工大学长江学院毕业设计 ABSTRACTABSTRACTTraverse calculated in all measurements often met one of the problems,Also there are many kinds of traverse the way.This article mainly is to use simple Matlab to connecting traverse、closed traverse、spur traverse to the corresponding adjustment calculation The article first introduces the connecting traverse、closed traverse、spur traverse is basic concept and calculation method.Secondly using Matlab computer programming language was realized by programming calculation of three traverse.At last,through example validation, In this paper, using the Matlab program, right through the input variable length and Angle, able to quickly get the accurate coordinates of each control point.Key words:Matlab; Traverse Calculated ; Precision Evaluation; Computer Programming东华理工大学长江学院毕业设计 目录目 录1. 绪 论11.1 导线坐标计算常用的方法比较11.2 基于Matlab的导线计算背景22. 导线类型及特点32.1 导线的布设32.1.1 导线的布设形式32.2 导线的观测42.2.1 转折角的观测42.2.2 导线边长观测52.2.3 三联脚架法导线观测52.3 导线测量的近似平差计算62.3.1 附合导线的计算62.3.2 闭合导线的计算72.3.3 支导线的计算83. 基于Matlab的导线计算程序设计103.1 计算程序概述103.1.1 计算程序特点103.1.2 计算程序的基本要求103.1.3 计算程序的设计步骤103.1.4 坐标计算处理过程113.2 附合导线计算程序113.3 闭合导线计算程序123.4 支导线计算程序134. 三种导线计算实例144.1 附合导线算例144.2 闭合导线算例184.3 支导线算例21结 论25致 谢26参考文献27附录128附录230附录332东华理工大学长江学院毕业设计 绪论绪 论导线坐标计算是在所有测量工作中经常遇见的问题之一,同时导线计算的方法也有很多种,主要包括:Excel办公软件、CASIO计算器、VB编程等,每种方法各有优缺点,本文主要是利用简单易懂的Matlab对附和导线、闭合导线和支导线进行相应的坐标平差计算。文章首先介绍了附合导线、闭合导线、支导线基本概念和计算方法,其次利用Matlab计算机编程语言对三种导线的计算进行编程实现;最后通过实例验证,本文利用Matlab编写的程序正确,通过输入边长和角度,能够快速的得到各控制点的准确坐标。1.1 导线坐标计算常用的方法比较(1)Excel办公软件我们知道导线测量的成果计算虽然有多种方法,但与我们习惯的导线成果计算格式不统一,输入数据不直观,使用起来不习惯,很难推广。针对这种情况,我们按照常用的导线成果计算本的样式,直接利用excel办公软件。EXCEL是常用的办公软件,利用其自带的函数,和其强大的数据处理能力,创建一个EXCEL模板,利用预先编辑好的公式,输入外业测量成果后自动进行内业的成果计算。能够根据输入的外业测量数据自动进行坐标成果正算;反过来,又能根据两点的坐标自动反算出两点之间的距离和方位角,能自动识别测量路线,计算导线间水平角;也能进行简单的条件分析,对一些误输入能自动识别;还能够有效的保护公式和表格,防止误操作的更改,或者蓄意的修改计算结果。(2)CASIO计算器CASIO计算器是测量人员在野外作业或矿山井下一线作业时经常使用的便携式计算器,它与一般计算器所不同的是有个自编程序步。CASIO系列可编程计算器,作为内、外业计算工作的辅助设备。具有体积小、重量轻、携带方便、多行显示、存贮量大、工作方便等特点,编制好测量程序后,计算器通过程序计算,不需要测量人员进行逐步计算,从而消除了人为输入误差。而且计算器在计算时小数位数是自身进行取舍,所以它的精度可以得到保证,并且比人工逐步计算要高。在导线控制测量中,将复杂的平差计算过程编成计算器程序,简化计算过程减轻测量人员的内业计算量。内业计算时,只需按照提示输入相应观测值便可得到平差成果,并进行必要的精度评定,简单快捷比专业的平差软件更容易掌握。主要缺点是费时、工作量大、还易出错。(3)VB编程采用VB编程进行导线计算,优点是使用方便、直观、计算速度快。采用计算器计算某一导线,可能需要一两天时间,而采用程序计算可能只需几分钟到十几分钟时间。目前市场上,可以买到大型严密平差计算程序,但对于许多中小型日常的测量计算,还需要技术人员自己去开发;例如:碎部测量、支导线测量、面积计算、解析交会等。1.2 基于Matlab的导线计算背景本文依据Matlab对三种导线计算进行编程设计,主要因为该语言相对简单和直接,它主要有如下特点:(1)编程效率高Matlab是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比VB和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。因此,Matlab语言也可通俗地称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂。(2)用户使用方便 Matlab语言是一种解释执行的语言,它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序一般都要经过四个步骤:编辑、编译、链接,以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在它们之间做瀑布型的循环。Matlab语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以至语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。具体的说,Matlab运行时,如直接在命令行输入Matlab语句(命令),包括调M文件的语句,每输入一条语句,就立即对其进行处理,完成编译、链接和运行的全过程。又如,将Matlab源程序编辑为M文件,由于Matlab磁盘文件也是M文件,所以编辑后的源文件就可以直接运行,而不需要进行编译和链接。在运行M文件时,如果有错,计算机屏幕上会给出详细的出错信息,用户经修改后再执行,直到正确为止。所以可以说,MATLAB语言不仅是一种语言,广义上讲是一种该语言的开发系统,即语言调试系统。(3)扩充能力强,交互性好高版本的的Matlab语言有丰富的库函数,在进行复杂的数序运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高Matlab的使用效率和扩充它的功能1。34东华理工大学长江学院毕业设计 导线类型及特点2. 导线类型及特点2.1 导线的布设2.1.1 导线的布设形式导线可被布设为单一导线和导线网。两条以上导线的汇聚点,称为导线的结点。单一导线与导线网的区别,在于导线网具有结点,而单一导线则不具有结点。按照不同情况和要求,单一导线可被布设为附和导线、闭合导线和支导线。导线网可被布设为自由导线网和附合导线网。(1) 附合导线如下图1所示,导线起始于一个已知控制点而终止于另一个已知控制点。已知控制点上可以有一条或几条定向边与之相连接,也可以没有定向与之相连接。图1 附合导线(2) 闭合导线如图2所示,由一个已知控制点出发,最终又回到这一点,形成一个闭合的多边形。在闭合导线的已知控制点上至少应该有一条定向边与之相连接。由于闭合导线是一种可靠性极差的控制网图形,在实际测量工作中应避免单独使用。 图2 闭合导线(3) 支导线如图3所示,从一个已知控制点出发,既不附合于另一个已知控制点,也不闭合于原来的起始控制点。由于支导线缺乏检核条件,故一般只限于地形测量中的图根导线中采用。 图3 支导线2.2 导线的观测导线的观测包括转折角的观测和导线边的观测以及导线点高程的观测。2.2.1 转折角的观测转折角的观测一般采用测回法进行。当导线点上应观测的方向数多于2个时,应采用方向观测法进行。各测回间应按规定进行水平度盘配置。各等级导线测量水平角观测的技术要求见表1: 表1 各等级导线测量水平角观测的技术要求在进行国家等级导线转折角观测时,应以奇数测回和偶数测回分别观测导线前进方向的左角和右角;左角和右角分别取中数后,再计算圆周角闭合差,值对于三、四等导线应分别不超过3.5和5.0。在进行一、二级和三级导线转折角观测时,一般应观测导线前进方向的左角。对于闭合导线,若按逆时针方向进行观测,则观测的导线角既是闭合多边形的内角,又是导线前进方向的左角。对于支导线,应分别观测导线前进方向的左角和右角,以增加检核条件。当观测短边之间的转折角时,测站偏心和目标偏心对转折角的影响将十分明显。因此,应对所用仪器、觇牌和光学对中器进行严格检校,并且要特仔细进行对中和精确照准。2.2.2 导线边长观测导线边长可采用电磁波测距仪测量,也可采用全站仪在测取导线角的同时测取导线边的边长。导线边长应对向观测,以增加检核条件。电磁波测距仪测量的通常是斜距,还需观测竖直角,用以将倾斜距离改变为水平距离,必要时还应将其归算到椭球面上和高斯平面上。2.2.3 三联脚架法导线观测三联脚架法通常使用三个既能安置全站仪又能安置带有觇牌的基座和脚架,基座应有通用的光学对中器。如图4所示,将全站仪安置在测站i的基座中,带有觇牌的反射棱镜安置在后视点i-1和前视点i+1的基座中,进行导线测量。迁站时,导线点i和i+1的脚架和基座不动,只取下全站仪和带有觇牌的反射棱镜,在导线点i+1上安置全站仪,在导线点i的基座上安置带有觇牌的反射棱镜,并将导线点i-1上的脚架迁至导线点i+2处并予以安置,这样直到测完整条导线为止。在观测者精心安置仪器的情况下,三联脚架法可以减弱仪器和目标对中误差对测角和测距的影响,从而提高导线的观测精度,减少了坐标传递误差。 i-1 i i+1 i+2 图4 三联脚架法导线观测在城市或工业区进行导线测量时,可在夜间进行作业,以避免白天作业时行人、车辆的干扰,夜间作业,空气稳定、仪器振动小,并可避免太阳暴晒,从而可提高观测成果的精度。2.3 导线测量的近似平差计算导线测量的目的是获得各导线点的平面直角坐标计算的起始数据是已知点坐标、已知坐标方位角,观测数据为观测角值和观测边长。通常情况下,导线平差应进行严密平差,但对于二级及其以下等级的图根导线允许对以单一导线、单结点导线网采用近似平差方法进行计算。导线近似平差的基本思路是将角度误差和边长误差分别进行平差计算,先进行角度闭合差的分配,在此基础在进行坐标闭合差的分配,通过调整坐标闭合差,以达到角度的剩余误差和边长误差的目的。在进行导线测量平差计算之前,首先要按照规范要求对外业观测成果进行检查和验算,确保观测成果无误并符合限差要求,然后对边长进行加常数改正、乘常数改正、气象改正和倾斜改正(改正方法见数字测图原理与方法第五章),对角度和边长进行归心改正(有偏心观测时),以取消系统误差的影响2。2.3.1 附合导线的计算如下图5为附合导线,其坐标平差计算步骤如下:图5 附合导线(1) 方位角计算 (2-1)判断或0, 以便判断所在相应象限,加上或减去180度,推算出每条导线边的坐标方位角。(2) 由地面实测点的转角依据公式计算其角度闭合差用,依次加减,得出最后的方位角,用计算的方位角=闭合差值。 (3) 将角度闭合差除以测边数分配到各观测角中角度闭合差调整中,观测角为左角时反符号平均分配到各观测角中,观测角为右角时,则按闭合差同符号分配到测角,如有小数,按长边少分,短边多分原则。(4) 用调整后的观测角计算方位角(5) 坐标增量计算, (2-2) (6) 测站测出各边的距离,用调整后的方位角进行计算各点计算坐标(7) 计算导线点坐标 闭合差为: =计算终点X坐标-设计终点X坐标 =计算终点Y坐标-设计终点Y坐标 将闭合边长差按路线边长与总边长的比例反向分配到坐标增量后计算各点坐标。2.3.2 闭合导线的计算如图6所示为闭合导线,闭合导线的精度评定与具有两个连接角的附和导线精度评定相同,可以采用角度闭合差和导线全长相对闭合差来评定,闭合导线的可靠性较差,在实际测量中避免单独使用。由于角度观测值存在误差,使得多边形内角和的计算值不等于其理论值,而产生角度闭合差,即 图6 闭合导线(1)角度闭合差计算 (2-3) , n为实测内角个数 应进行重测,如果则可进行平差计算。(2)角度闭合差改正 (反号平均分配) (2-4)(3)计算改正后的角度 (2-5)(4)推算方位角 公式为: (2-6) 判断x或或0&(xB-xA)0fwjAB=Rab;end if (yB-yA)0&(xB-xA)0fwjAB=180-Rab;endif (yB-yA)0&(xB-xA)0fwjAB=180+Rab;endif (yB-yA)0fwjAB=360-Rab;endRcd=atand(abs(yD-yC)/(abs(xD-xC); %CD的起算方位角if (yD-yC)0&(xD-xC)0fwjCD=Rcd;end if (yD-yC)0&(xD-xC)0fwjCD=180-Rcd;endif (yD-yC)0&(xD-xC)0fwjCD=180+Rcd;endif (yD-yC)0fwjCD=360-Rcd;end%角度闭合差计算 fb=fwjAB-fwjCD+sum(jiao1)-n*180; jiao2=jiao1+(fb/6)*(-1);%各观测角改正后的角度 %真方位角的计算 for k=1:(n+1) if k=1 fwjz(k)=fwjAB+jiao2(k); end if k1 fwjz(k)=fwjz(k-1)+jiao2(k)-180; end end %坐标闭合差计算 for i=1:n xz(i)=bian(i)*cosd(fwjz(i); for i=1:n yz(i)=bian(i)*sind(fwjz(i);end end fx=xA+sum(xz)-xC; fy=yA+sum(yz)-yC; %坐标闭合差分配 for i=1:n vx(i)=(-1)*fx/sum(bian)*bian(i); end for i=1:n vy(i)=(-1)*fy/sum(bian)*bian(i); end %坐标计算 for i=1:n if i=1 x(1)=xA+xz(1)+vx(1) y(1)=yA+yz(1)+vy(1); end if i1 x(i)=x(i-1)+xz(i)+vx(i); y(i)=y(i-1)+yz(i)+vy(i); end 附录2 基于Matlab的闭合导线平差程序:%观测数据的输入n=input(请输入闭合导线的点数);for i=1:n a=num2str(i); string1=(char(请输入第),a,(条导线的边长:); bian(i)=input(string1); b=num2str(i); string2=(char(请输入第),b,(个转折角:); jiao1=input(string2,s); c=jiao1; du=str2num(c(1:3); fen=str2num(c(4:5); miao=str2num(c(6:7); jiao2(i)=du+fen/60+miao/3600;end%起算数据的输入x=input(请输入起始已知点x的坐标:);y=input(请输入起始已知点y的坐标:);string3=(char(请输入起始已知方向的起算方位角);fwj1=input(string3,s);c=fwj1;du=str2num(c(1:3);fen=str2num(c(4:5);miao=str2num(c(6:7);fwj2=du+fen/60+miao/3600;%角度闭合差的计算fb=sum(jiao2)-(n-2)*180;for i=1:nv(i)=(-1)*fb/n;end%真方位角计算for i=1:n if i=1 fwjz(1)=fwj2+jiao2(1)+v(1)-180; end if i1 fwjz(i)=fwjz(i-1)+jiao2(i)+v(i)-180; end if fwjz(i)0 fwjz1(i)=fwjz(i); end if fwjz(i)1 X(i)=X(i-1)+xz(i-1)+vx(i); Y(i)=Y(i

温馨提示

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

评论

0/150

提交评论