2022年测量程序设计报告 .pdf

上传人:Q****o 文档编号:27337536 上传时间:2022-07-23 格式:PDF 页数:19 大小:776.30KB
返回 下载 相关 举报
2022年测量程序设计报告 .pdf_第1页
第1页 / 共19页
2022年测量程序设计报告 .pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《2022年测量程序设计报告 .pdf》由会员分享,可在线阅读,更多相关《2022年测量程序设计报告 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 环境与测绘工程学院课程论文学年学期: 2016-2017(一)课程名称:测量程序设计论文题目:附合导线平差求解姓名:胡慧茹学号: 2014100455 任课教师:白洪伟成绩名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 2 目录一实训目的 .3 二实训任务 .3 三实训环境 .4 3.1 硬件环境 .4 3.2 软件环境 .4 四项目设计与分析.5 4.1 软件基本界面 .6 4.2 附合导线平差求解 .7 4.3 高差求

2、解 .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 计算坐标 .14 五调用程序 .15 1. 导线.15 2. 将度分秒转换为度 .16 3. 将度分秒转换为秒数 .17 4. 将弧度转化为度分秒 .17 5. 将角度转换为弧度 .176. 给定俩坐标,坐标正y 算方位角 , 返回的是以弧度为单位的角度.18六实验心得.18 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精

3、心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 3 一实训目的(1)掌握 C# 窗体创建及其常用控件的选用和编程。进一步提高编程能力, 掌握对 C#方法的调用,同时学会并运用Microsoft Visual Studio2010软件编辑 C# 语言程序。(2)实训室由学校组织, 利用课堂有限的时间掌握专业知识与运用,结合课下空闲时间巩固加强。学生在实训期间,以个人为单位完成项目,通过自己的不断摸索,实训可以学到课堂上学不到的知识,可以将学到的知识灵活运用起来。(3)在实训的过程中,可以让学生树立明确的学习态度,拥有良好的职业素养,锻炼扎实的职业

4、技能, 塑造坚定的职业人生, 也为选择考研深造的同学提供锻炼的机会。(4)C#是当今社会中发展速度迅猛的一种语言,所以企业公司对于人员的要求也不断提高,与测绘相关的职业也需要具备编程知识的人员,通过实训激发自身潜力,提高自身修养,掌握编程语言,养成良好的编程习惯, 为以后的求职生涯添上一块 “敲门砖” 。(5)利用 Microsoft Visual Studio2010 软件设计窗体应用程序并完成“附合导线平差”程序设计 , 其中包括登录界面、主界面、角弧转换界面和距离及方位角计算等界面。二实训任务(1)软件基本界面软件的基本界面包登录界面和主界面,主界面里面为附合导线平差求解,在菜单栏的小工

5、具中包高差求解、角度转换和坐标求解。(2)附合导线平差求解在一条双定向附合导线中, 已知端点四点坐标, 若干左角和边长, 求其中各点坐标。(3)高差求解用全站仪在一点观测了另一点斜边和垂直角,求两点的高差。(4)计算方位角方位角的取值为 0-360 度。(5)角度转换将输入的角度转换为弧度或弧度转换为角度。(6)计算坐标已知两点中一点的坐标、距离及方位角,求另一点的坐标。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 4 三实

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

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

8、安装MSDH 的安装驱动器上需要2.8GB的可用空间。CD-ROM 或 DVD-ROM 驱动器必须使用显示器800600,256 色,建议使用1024768,增强色16 位鼠标微软鼠标或兼容的指针设备操作系统及所需补丁Windows 2000 Service Pack 4、Windows XP Service Pack 2、Windows Server 2003、Service Pack 1或更高版本名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - -

9、 - - - - - 5 3.2 软件环境软件环境是指由传播活动所需要的那些非物质条件、无形条件之和构筑而成的环境。只要指软件的运行环境以软件运行所需要的周边软件等等,除此之外, 还包括目的软件之外的应用层软件,在涉及软件交互的时候,这些应用软件往往影响很大。实训中,我们使用VS集成环境来实现对于C# 程序的运行。 Visual Studio是微软公司推出的开发环境,是目前最流行的Windows 平台应用程序开发环境。Visual Studio 2010版本于 2010 年 4 月 12 日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单和明了。Visual Studio 2

10、010同时带来了 NET Framework 4.0 、Microsoft Visual Studio 2010 CTP ,并且支持开发面向windows7的应用程序。Visual Studio是开发 .NET应用程序的一套完整的开发工具集,集设计、编辑、运行和调试等多种功能于一体的集成开发环境(IDE) 。Visual Studio 支持四种内置的开发语言: Visual Basic、Visual C+ 、Visual C# 和 Visual J# ,他们使用相同的集成开发环境,因而有助于创建混合语言解决方案。使用Visual Studio 可以高效的生成各种 ASP.NET web应用程序

11、、 XML Web Services ,桌面应用程序和移动应用程序。使用 Visual Studio集成开发环境可以快捷高效的开发Windows窗体应用程序。Visual Studio是我们学习 C#必不可少的应用环境,实训时,我们对于Visual Studio 的应用更加熟练了,也对Visual Studio有了各方面的了解。四项目设计与分析4.1 软件基本界面名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 6 图 1 程序

12、设计本程序名为“程序设计”,登录界面如图 1,用户名为“2014100455 ” ,密码为“胡慧茹” 。双击“确定”,为了实现账户名密码登录输入一下程序:privatevoid button1_Click(object sender, Eventrgs e) string = textBox1.Text; string b = textBox2.Text; if ( = 2014100455 & b = 胡慧茹 ) this .Hide(); 附合导线平差求解frm2 = new 附合导线平差求解 (); frm2.Show(); 具体步骤:文件,新建项目, windows 应用窗体程序,添加

13、两个label 控件,两个 textbox 控件,两个 button,右键属性修改控件的name和 text 的名称。主界面如图2,主界面是附合导线平差求解,菜单栏中包“文件(打开、另存为) ” 、 “小工具(角度转换、高差求解、计算坐标和计算方位角) ”和 “帮助(示意图)” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 7 图 2 主界面示意图4.2 附合导线平差求解新建 windows窗体命名为附和导线平差,添加五个

14、label控件,十一个 textbox控件,三个 button 控件,一个 pictureBox控件,一个 openFileDialog,一个saveFileDialog右键属性修改控件的name和 text的名称。图 3 附合导线示意图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 8 图 4 附合导线平差求解在菜单栏中选择 “文件” “打开” ,导入文件夹中 “附合导线实例数据”,点击“平差.txt ” ,就得出如图 4

15、的结果,点击“另存为” ,可以将结果以“ .txt”格式保存,命名为“附合导线输出数据实例” 。新建一个 Windows应用程序命名为 “附合导线平差求解” ,并设计窗口,双击“平差” ,编写如下代码:private void button1_Click( object sender, EventArgs e) double Mx = Convert.ToDouble(textBox1.Text); double My = Convert.ToDouble(textBox2.Text); double Ax = Convert.ToDouble(textBox3.Text); double A

16、y = Convert.ToDouble(textBox4.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 0 = 导线 .方位角 (Mx, My, Ax, Ay); /计算 B 到 N 的方位角名师资料总结 - - -精品资料欢迎

17、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 9 double 1 = 导线 .方位角 (Bx, By, Nx, Ny); List 坐标增量 X 集合 = new List(); List 坐标增量 Y 集合 = new List(); List 水平距离平方集合= newList (); List 方位角集合= new List(); double 坐标增量 X 和 = 0; double 坐标增量 Y 和 = 0; double 坐标增量 X 绝对值和=

18、 0; double 坐标增量 Y 绝对值和= 0; double 水平距离和= 0; double 水平距离平方和= 0; double = 0;/ArrayList pj_spj = new ArrayList(256); string st = textBox9.Text; string array = st.Split( n); int pj; int spj; /int n; /for (n = 0; n 10000; ) / / if (aArrayn != ) / / n+; / / else break; / for (pj = 0, spj =1; spj 6; ) stri

19、ng str = arraypj; double S = double.Parse(str); string sd = arrayspj; double sd1 = double.Parse(sd); double = 导线 .DEG(sd1); 水平距离平方集合.Add(S * S); 水平距离平方和+= S * S; double dx, dy; = 导线 .坐标(0, 0, , S, , out dx, out dy); 方位角集合 .Add( );坐标增量 X 集合 .Add(dx); 坐标增量 Y 集合 .Add(dy); 坐标增量 X 和 += dx; 坐标增量 Y 和 += dy

20、; 坐标增量 X 绝对值和+= Math.Abs(dx); 坐标增量 Y 绝对值和+= Math.Abs(dy); pj += 2; spj += 2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 10 /int number = pj.Capacity; /pj.TrimtoSize(); double LJ = Convert.ToDouble(textBox13.Text); double n = 导线 .DEG(L

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

22、和= 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; 坐标增量 Y 和 += dy; 坐标增量 X 绝对值和+= Math.Abs(dx); 坐标增量 Y 绝对值和+= Ma

23、th.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 坐标单位长度改正数= -闭合差 Y / 坐标增量 Y 绝对值和 ; /计算导线相对精度int f = ( int)(水平距离和/ M

24、ath.Sqrt(闭合差 X * 闭合差 X + 闭合差 Y * 闭合差 Y); Console.WriteLine( 导线的相对精度为1/0 , f); /计算每点坐标名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 11 double X = Ax; double Y = Ay; List 坐标 x = new List(); List 坐标 y = new List(); for (int j = 0; j = 360.

25、0) 方位角-= 360.0; if (方位角= Math.PI * 2) 方位角-= Math.PI; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - - 15 if (方位角 0.000000001) angle = Math.tn2(deltY, deltX); if (angle 0) angle += Math.PI; if (deltY = Math.PI * 2) 方位角 -= Math.PI * 2; if (

26、方位角 = 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. 将角度转换为弧度publicclassj_h publicdouble JIAO_HUDU( double jiao) int d = (int )( Math.Floor(jiao); jiao = jiao - d; int f = (int )( Math.Floor(jiao * 100.0); j

27、iao = jiao * 100 - f; double m = jiao * 100.0; jiao = d * 3600.0 + f * 60.0 + m; double hudu = jiao / 206264.806247096263; return hudu; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 18 6. 给定俩坐标,坐标正y 算方位角 , 返回的是以弧度为单位的角度publicclassfwj pu

28、blicdouble jisuan(double x1, double y1, double x2, double y2) double cx, cy, cc; cx = x2 - x1; cy = y2 - y1; if (cx = 0 & cy = 0) return -1; else if (cx = 0) if (cy 0) cc = Math.PI / 2.0; else cc = Math.PI * 1.5; else cc = Math.Atan2(cy, cx); if (cy 0 & cx != 0) cc = cc + Math.PI; return cc; 六实验心得1、

29、学习编程语言一方面需掌握一下处理基本事件的方法,如如何获得输入的字符串等;另一方面应用的软件有清楚的认识,并且还要对编写程序所需的方法和事件要掌握牢固。2、课程设计是培养我们学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节, 是对我们的实际工作能力的具体训练和考察过程。通过附合导线平差程序设计实训, 使我们更加深入的理解课本中的知识,同时加强了我们个人的实践操作能力,并且培养了我们独立思考能力和程序逻辑创造能力。3、应该及时掌握课本中的知识点,在课下多编写程序,将知识与实践结合起来。遇到不懂或者难以解决的问题时,及时与老师和同学交流。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 19 4、在课外时间里要阅读一些知识,多做一些项目,不能只依靠书本知识,书本知识是远远不够的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁