测量程序设计报告_第1页
测量程序设计报告_第2页
测量程序设计报告_第3页
测量程序设计报告_第4页
测量程序设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、 成绩 环境与测绘工程学院 课程论文 学年学期:2016-2017(一) 课程名称:测量程序设计 论文题目:附合导线平差求解 姓 名:胡慧茹 学 号:2014100455 任课教师:白洪伟 7 / 19 目录 一 实训目的 3 二 实训任务 3 三 实训环境 4 3.1 硬件环境 4 3.2 软件环境 4 四 项目设计与分析 5 4.1 软件基本界面 6 4.2 附合导线平差求解 7 4.3 高差求解 11 4.4 计算方位角 12 4.4.1 实训内容 12 4.4.2 实现步骤设计 12 4.5 角度转换 13 4.5.1 实训内容 13 4.5.2 实现步骤设计 13 4.6 计算坐标

2、14 五 调用程序 15 1. 导线 15 2. 将度分秒转换为度 16 3. 将度分秒转换为秒数 17 4. 将弧度转化为度分秒 17 5. 将角度转换为弧度 17 6. 给定俩坐标,坐标正 y 算方位角 , 返回的是以弧度为单位的角度 18 六 实验心得 18 实训目的 (1)掌握C#窗体创建及其常用控件的选用和编程。进一步提高编程能力,掌握对C# 方法的调用,同时学会并运用 Microsoft Visual Studio2010软件编辑C#语言程序。 ( 2)实训室由学校组织, 利用课堂有限的时间掌握专业知识与运用, 结合课下空闲 时间巩固加强。学生在实训期间,以个人为单位完成项目,通过

3、自己的不断摸索,实 训可以学到课堂上学不到的知识,可以将学到的知识灵活运用起来。 ( 3)在实训的过程中,可以让学生树立明确的学习态度,拥有良好的职业素养, 锻炼扎实的职业技能, 塑造坚定的职业人生, 也为选择考研深造的同学提供锻炼的机 会。 (4)C#是当今社会中发展速度迅猛的一种语言,所以企业公司对于人员的要求也 不断提高,与测绘相关的职业也需要具备编程知识的人员,通过实训激发自身潜力, 提高自身修养,掌握编程语言, 养成良好的编程习惯, 为以后的求职生涯添上一块 “敲 门砖”。 ( 5)利用 Microsoft Visual Studio2010 软件设计窗体应用程序并完成“附合导线 平

4、差”程序设计 , 其中包括登录界面、主界面、角弧转换界面和距离及方位角计算等 界面。 二 实训任务 ( 1 )软件基本界面 软件的基本界面包登录界面和主界面, 主界面里面为附合导线平差求解, 在菜单 栏的小工具中包高差求解、角度转换和坐标求解。 ( 2)附合导线平差求解 在一条双定向附合导线中, 已知端点四点坐标, 若干左角和边长, 求其中各点坐 标。 ( 3)高差求解 用全站仪在一点观测了另一点斜边和垂直角,求两点的高差。 ( 4)计算方位角 方位角的取值为 0-360 度。 ( 5)角度转换 将输入的角度转换为弧度或弧度转换为角度。 ( 6)计算坐标 已知两点中一点的坐标、距离及方位角,求

5、另一点的坐标。 三 实训环境 3.1 硬件环境 硬件环境是计算机及其外围设备组成的计算机物理系统,即硬件设施,是指由传 播活动所需要的那些物质条件、 有形条件之和构筑而成的环境。硬件环境主要是由计 算机的硬件组成的,而计算机硬件是指计算机系统中由电子、机械和光电元件等组成 的各种物理装置的总称。这些物理装置系统按系统结构的要求构成一个有机整体为计 算机软件运行提供物质基础。简而言之,计算机硬件的功能是输入并存储程序和数据, 以及执行程序把数据加工成可以利用的形式。从外观上来看,微机由主机箱和外部设 备组成。主机箱内主要包CPU内存、主板、硬盘驱动器、光盘驱动器、各种扩展卡、 连接线、电源;外部

6、设备包鼠标、键盘、显示器、音箱等,这些设备通过接口和连接 线与主机相连。这些都是构成硬件的主要部分。 对于C#面向对象的软件来说,所需的硬件环境,要求其实不是很高,安装Visual Studio 2010时的所需的必备条件如表1: 表1安装Visual Studio 2010所需的必备条件 硬件 描述 处理器 600M Hz处理器,建议使用 1GHz处理器 RM 192MB建议使用 256MB内存 可用硬盘空间 如果不安装MSDH系统驱动器上需要 1GB的可用空间,安装驱 动起上需要2GB的可用空间;如果安装 MSDHL则系统驱动上 需要1GB的可用空间,安装完整MSDH的安装驱动器上需要 3

7、.8GB的可用空间,默认安装MSDH勺安装驱动器上需要 2.8GB 的可用空间。 CD-ROM DVD-ROME动器 必须使用 显示器 800 X 600,256色,建议使用 1024 X 768,增强色16位 鼠标 微软鼠标或兼容的指针设备 操作系统及所需补丁 Windows 2000 Service Pack 4、Windows XP Service Pack 2、 Windows Server 2003、Service Pack 1 或更咼版本 3.2 软件环境 软件环境是指由传播活动所需要的那些非物质条件、 无形条件之和构筑而成的环 境。只要指软件的运行环境以软件运行所需要的周边软件等

8、等, 除此之外, 还包括目 的软件之外的应用层软件,在涉及软件交互的时候,这些应用软件往往影响很大。 实训中,我们使用VS集成环境来实现对于C卿序的运行。Visual Studio 是微 软公司推出的开发环境,是目前最流行的 Windows 平台应用程序开发环境。 Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新 设计和组织,变得更加简单和明了。 Visual Studio 2010同时带来了 NETFramework 4.0、Microsoft Visual Studio 2010 CTR 并且支持开发面向 windows7 的应用程序

9、。 Visual Studio 是开发.NET应用程序的一套完整的开发工具集,集设计、编辑、 运行和调试等多种功能于一体的集成开发环境(IDE)。 Visual Studio 支持四种内置 的开发语言: Visual Basic 、 Visual C+ 、 Visual C# 和 Visual J# ,他们使用相同 的集成开发环境,因而有助于创建混合语言解决方案。使用 Visual Studio 可以高效 的生成各种ASP.NETweb应用程序、XMLWebServices,桌面应用程序和移动应用程 序。使用Visual Studio 集成开发环境可以快捷高效的开发 Windows窗体应用程序

10、。 Visual Studio 是我们学习C#必不可少的应用环境,实训时,我们对于Visual Studio 的应用更加熟练了,也对 Visual Studio 有了各方面的了解。 四 项目设计与分析 4.1 软件基本界面 图1程序设计 本程序名为“程序设计”,登录界面如图1,用户名为“2014100455,密码为“胡 慧茹”。双击“确定”,为了实现账户名密码登录输入一下程序: private void butt on 1_Click( object sen der. Eve ntrgs e) stri ng = textBox1.Text; stri ng b = textBox2.Text

11、; if ( =2014100455 附合导线平差求解frm2 = new附合导线平差求解(); frm2.Show(); 具体步骤: 文件,新建项目,windows应用窗体程序,添加两个label控件,两个textbox控 件,两个butt on,右键属性修改控件的name和text的名称。 主界面如图2,主界面是附合导线平差求解,菜单栏中包“文件(打开、另存 为)”、“小工具(角度转换、高差求解、计算坐标和计算方位角)”和“帮助(示意图)”。 图2 主界面示意图 4.2附合导线平差求解 新建windows窗体命名为附和导线平差,添加五个label控件,一个textbox 控件,三个butt

12、 on控件,一个pictureBox 控件,一个ope n, 个save右键属性修 改控件的name和text的名称。 图3 附合导线示意图 叱附釦魁线平差求鮭I h 回 Ak 199_ 951 Ay 424.B56 347.166 2s57T8Tm?03eYLI B 7 T o fl 1 3 1 3-4.9.006.b-b. 447_T17 double My = Convert.ToDouble(textBox2.Text); double Ax = Convert.ToDouble(textBox3.Text); double Ay = Convert.ToDouble(textBox4

13、.Text); double Nx = Convert.ToDouble(textBox5.Text); double Ny = Convert.ToDouble(textBox6.Text); double Bx = Convert.ToDouble(textBox7.Text); double By = Convert.ToDouble(textBox8.Text); /计算M到A的方位角 double a 0 =导线方位角(Mx, My, Ax, Ay); /计算B到N的方位角 8 / 19 double a 1 =导线方位角(Bx, By, Nx, Ny); List 坐标增量 X 集

14、合 = new List(); List 坐标增量 Y 集合 = new List(); List 水平距离平方集合 = newList(); List 方位角集合 = new List(); double 坐标增量 X 和 = 0; double 坐标增量 Y 和 = 0; double 坐标增量 X 绝对值和 = 0; double 坐标增量 Y 绝对值和 = 0; double 水平距离和 = 0; double 水平距离平方和 = 0; double a = a 0; /ArrayList pj_spj = new ArrayList(256); string st = textBox

15、9.Text; string array = st.Split( n); int pj; int spj; /int n; /for (n = 0; n 10000; ) / /if (aArrayn != ) / / n+; / /elsebreak; / for (pj = 0, spj =1; spj 6; ) string str = arraypj; double S = double.Parse(str); string sd = arrayspj; double sd1 = double.Parse(sd); double B =导线.DEG(sdl); 水平距离平方集合 .Ad

16、d(S * S); 水平距离平方和 += S * S; double dx, dy; a =导线.坐标(0, 0,B , So,ut dax, ,out dy); 方位角集合 .Add( a ); 坐标增量 X 集合 .Add(dx); 坐标增量 Y 集合 .Add(dy); 坐标增量 X 和 += dx; 坐标增量 Y 和 += dy; 坐标增量 X 绝对值和 += Math.Abs(dx); 坐标增量 Y 绝对值和 += Math.Abs(dy); pj += 2; spj += 2; /int number = pj.Capacity; /pj.TrimtoSize(); double

17、LJ = Convert.ToDouble(textBox13.Text); double B n =导线.DEG(LJ); /推算 B 到 N 的方位角 double a BN =导线方位角(方位角集合方位角集合.Count - 1, B n); /计算方位角闭合差 double 方位角闭合差 = a BN- a 1; textBox10.Text = Convert.ToString(方位角闭合差); double 方位角改正数 = -方位角闭合差/ (方位角集合 .Count + 1); /先对角度进行平差计算 ,并重新计算坐标增量 坐标增量X集合.Clear(); 坐标增量Y集合.Cl

18、ear(); 坐标增量 X 和 = 0; 坐标增量 Y 和 = 0; 坐标增量 X 绝对值和 = 0; 坐标增量 Y 绝对值和 = 0; for (int j = 0; j 方位角集合 .Count; j+) 方位角集合 j += 方位角改正数 * (j + 1); /计算坐标增量 double平距=Math.Sqrt(水平距离平方集合j); double dx =平距 * Math .Cos(方位角集合j); double dy =平距 * Math .Sin(方位角集合j); 坐标增量 X 集合 .Add(dx); 坐标增量 Y 集合 .Add(dy); 坐标增量 X 和 += dx; 坐

19、标增量 Y 和 += dy; 坐标增量 X 绝对值和 += Math .Abs(dx); 坐标增量 Y 绝对值和 += Math .Abs(dy); /计算闭合差 double 闭合差 X = Ax + 坐标增量 X 和 - Bx; textBox11.Text = Convert.ToString(闭合差 X); double 闭合差 Y = Ax + 坐标增量 Y 和 - By; textBox12.Text = Convert.ToString(闭合差 Y); /计算单位长度改正数 double X 坐标单位长度改正数 = -闭合差 X / 坐标增量 X 绝对值和 ; double Y坐

20、标单位长度改正数=-闭合差Y /坐标增量Y绝对值和; /计算导线相对精度 int f = (int)(水平距离和 / Math.Sqrt(闭合差X *闭合差X +闭合差 Y *闭合差 Y); Console.WriteLine(” 导线的相对精度为 1/0 , f); /计算每点坐标 double X = Ax; double Y = Ay; List 坐标 x = new List(); List 坐标 y = new List(); for (int j = 0; j =360.0)方位角-=360.0; if (方位角=Math .PI * 2)方位角-=Math.PI; if (方位角

21、 0.000000001) angle = Math.tn2(deltY, deltX); if (angle 0) angle += Math.PI; if (deltY = Math.PI * 2)方位角 -= Math.PI * 2; if ( 方位角 = Math.PI * 2)方位角 -= Math.PI * 2; if ( 方位角 60) a = 0; f = f + 1; if (f = 60) f = 0; d = d + 1; a = d + f / 100.0 + a / 10000.0; return a; 5. 将角度转换为弧度 public class j_h public double JIAO_HUDU(double jiao) int d = ( int )( Math.Floor(jiao); jiao = jiao - d; int f = ( int )( Math.Floor(jiao * 100.0); jiao = jiao * 100 - f; double m = jiao * 100.0; jiao = d * 3

温馨提示

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

评论

0/150

提交评论