C#附和导线平差程序设计实习报告_第1页
C#附和导线平差程序设计实习报告_第2页
C#附和导线平差程序设计实习报告_第3页
C#附和导线平差程序设计实习报告_第4页
全文预览已结束

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业前言随着测绘科学技术的不断发展,在测量数据的处理中产生很多种平差的方法。附和导线近似平差程序是利用C#编程实现的,我们需要将导线网的已知数据信息按照特定的规则输入到.txt文本中,利用C#程序读取文本数据信息后,对其进行一系列的平差计算,最终获得平差后的结果,并以.txt文本的形式输出,这样就可为测量工作提供一定的参考。平差程序的基本要求 平差程序的设计与其他程序设计相同,应满足一定要求。程序逻辑结构简单,清晰易读,符合结构化程序设计要求,便于拓展;运算速度快,占用内存

2、小,内外存储之间的交换不宜过于频繁;数学模型及计算方法正确且先进,计算结果精度高;适用性强,便于移植,充分考虑各种可能形式,满足不同需求;方便用户,操作简单,输出明了、齐全,人机交互良好。上述要求,既体现现在平差程序的总体设计中,也贯穿于平差程序设计的各个环节中。平差程序中的重要函数 角度制与弧度制的相互转化C#程序设计中,关于角度的计算以弧度制为单位,而在测量工作中我们通常以角度制记录数据。所以,在数据处理中,通常需要在角度制与弧度制之间进行相互转化。这里我们需要利用相关函数完成这两种功能。角度化弧度函数: static public double DEG(double ang) int f

3、uhao = (int)(ang / Math.Abs(ang); ang = Math.Abs(ang); int d = (int)ang; int m = (int)(ang * 100) - d * 100; double s = ang * 10000 - m * 100 - d * 10000; return (d + m / 60.0 + s / 3600.0) * fuhao) / 180.0 * Math.PI; 弧度化角度函数: static public double DMS(double ang) ang += 1.0E-15;/加上一个小量,以保证进位 int fuh

4、ao = (int)(ang / Math.Abs(ang); ang = Math.Abs(ang) * 180.0 / Math.PI; int d = (int)ang; ang = (ang - d) * 60.0; int m = (int)ang; double s = (ang - m) * 60.0; return (d + m / 100.0 + s / 10000.0) * fuhao; 近似坐标计算在平面网间接赔偿计算中,近似坐标计算是非常重要的一项基础工作。近似坐标是否计算成功是间接平差是否成功的必要条件。两方向交会已知条件:两个点的近似坐标,这两个点到未知点的方位角,

5、如图1所示图1 两方向交会根据图b,设,则很容易写出 整理该式,得两方向交会的的计算公式 (a)对a式计算,即可得到未知点的近似坐标。应用中需要注意的是,若两方向值相同或相反,则该式无解。三边交会如图2所示,为排除两边长交会的二义性,给出如下三边交会的模型,已知条件:三个点的近似坐标,这三个点到未知点的距离测量值。 图2三边交会对每条边长测量值,可列出边长条件 计算上式中(a)与(b)和(c)三式的差,消去未知参数的平方项,整理得三边交会的计算公式 (b)对(4.2)式计算,即可得到未知点的近似坐标。应用中需要注意的是,若三点位于同一条直线,则该式无解。坐标正算使用测量正算公式计算控制网的近似

6、坐标。角度后方交会使用测量后方交会计算公式计算控制网的近似坐标。 测角网无定向导线计算无定向导线,主要应用于计算已知控制点不相邻的三角网的近似坐标。基本思想为:先由一个已知点开始,假设一条边的边长与方位角,根据三角网的角度观测值推算其它边的边长与方位角,然后,由任一导线计算,直到计算至另一个已知点为止。假设导线的起点为A,终点为B。这时,计算出的B点坐标必然与已知坐标不同,设A与B的已知坐标为(),B点的计算坐标为B(),则用这些数据可以计算边长的放大系数k和假设方位角的改正数da 其中,为计算方位角的函数。这时,对网中的假设边长和所有由假设边长推算的近似边长进行k倍的放大,对假设方位角和所有

7、由假设方位角推算的近似方位角进行方位角改正。然后应用坐标正算法可以计算三角网中所有点的近似坐标。结论:C#在导线平差中的应用在导线网的间接平差程序设计与实现中,通过使用C#编程,采用测量平差中的间接平差的方法,实现了导线网的间接平差,最终得到了导线网中待定数据。在导线网平差的程序应用中,利用已经编好的导线网间接平差程序,对边角网、三角网的实例进行了平差,最终得到导线网的待定数据以及相关的精度评定,通过对这些平差结果的检查,最后,认为此导线网的间接平差程序可以为测量的平差工作提供一些服务。虽然此程序可以完成导线网平差一些工作,但是它还有很多的不足地方需要改进以及完善。平差程序的实现定义了五个结构体(间接平差结构、平面网、平面点、测站、观测值),通过一系列的函数将这五个结构体联系起来,最终完成平差任务。下面阐述一下导线网的间接平差程序实现的基本流程:(1)以DAT文件的形式输入导线网中的已知控制点、测站信息、观测值、测角中误差、测距加、乘常数等所有的已知数据,并且这些数据的输入必须符合前面所提到的数据输入格式;(2) 运用程序读取输入数据文件,通过相应的函数求得待定点的近

温馨提示

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

评论

0/150

提交评论