《2022年测绘程序设计实习报告 .pdf》由会员分享,可在线阅读,更多相关《2022年测绘程序设计实习报告 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、测量程序设计实习报告姓名:XX 班级:XXXX 学号:XXXX 教师评语:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 实验名称:使用 C#开发环境建立测量程序框架一、实验的目的与任务:(1)学会用 C#窗体程序开发环境建立应用程序框架方法(2)学会使用常见的 Windows 控件(3)根据自身需要设计一个测量程序界面二、实验的过程与步骤:1、首先打开 visual studio 2010,选择文件新建项目。 在弹出的对话框
2、中右栏一侧选择windows 窗体应用。选择文件存放地址, 输入项目名称,点击确定,完成。2、拖动 menuSctrip控件到主窗体,并且键入“文件” 、 “工具”两个选项,在“文件”下添加一个“打开”选项;在“工具”下添加“近似平差计算”、 “高斯消元”两个选项。3、选择项目添加windows 窗体,输入窗体名称“ CLSJ” ,点击确定。4、在 CLSJ 窗体中拖入 SplitContainer 控件,将窗体分为左右两部分,调整大小。在拖入一个“ TabControl” ,新建选项卡。最后,加入“Button” 、 “TextBox” 、 “Label”控件。5、用相同的方法,新建一个名为
3、高斯消元的窗体,然后按照需要进行设计。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 三、程序运行效果四、本实验心得体会这是第一次接触这种可视化开发编程,刚开始不是很熟悉, 对于编程语言来说,在掌握一定语法之后,要多用,多结合实际进行一些简单编程,这样才能提高对一种编程语言的理解。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
4、- - 第 3 页,共 12 页 - - - - - - - - - 实验名称:导线计算程序设计及粗差探测一、实验的目的与任务:(1)掌握方位角计算的程序设计方法(2)掌握符合导线、闭合导线、支导线计算的程序设计方法(3)理解粗差探测的程序设计方法二、实验的设计与开发步骤:1、考虑到在测量时所用的角度均为度分秒,而在c#计算时只是别度分秒,因此先设计两个函数,可以将度分秒和弧度制进行转化。2、其次先写一个point 类,包含 x,y 两个成员变量,然后在设计一个方位角函数,用两个point 类当作形参传递进去,根据方位角计算公式kxyarctan, (根据象限角和方位角关系对k 进行调节)应该
5、分为四种情况, 但是考虑到分母不为0, 因此应该在加一种情况,即导线与 y 轴重合。3、然后根据边长,根据方位角,公式sin*cos*1212lyylxx进行坐标推算。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 三、程序运行及数据测试效果四、本实验心得体会在掌握一定的语法规则后,要多应用。另外就是在遇到问题时,可以去网上查找,这样不断反复,就会熟练使用某种语法。名师资料总结 - - -精品资料欢迎下载 - - - - -
6、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 实验名称:测量数据库的建立一、实验的目的与任务:(1)掌握利用 Access或 SQLserver建立测量数据库的基本方法(2)掌握利用 C#编程连接数据库,并进行数据操作的方法二、实验的设计与开发步骤:1、首先在窗体加载时就要链接access数据库,这样当打开窗体时数据就可以加载进去。首先就是使用 OleDbConnection方法进行链接,然后用 open方法打开数据库, 在关闭窗体时, 一定要在使用 close关闭。2、在链接数据库并
7、打开以后, 然后就是新建一个数据集DataSet ,相当于数据库的副本,在c#中对数据库进行操作均相当于对这个副本进行操作。然后写一个OleDbDataAdapter 对象,使用sql 语句对要用的数据中部分或全部内容进行选择,然后用 Fill 方法将数据库绑定到数据集中。3、最后就是用 Command执行 sql 语句命令。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 三、程序运行及数据测试效果四、本实验心得体会数据库在之
8、前是一个完全不知道的东西,通过这次实习, 对数据库有了一个新的理解, 数据库在测量程序中是必不可少的东西,在刚开始链接操作数据库时有很多问题,通过网上查找, 询问老师基本得以解决。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 附录一:导线计算代码:using System; using System.Collections.Generic; using System.ComponentModel; using System.
9、Data; using System.Drawing; using System.Linq; using System.Text; using System.Collections; using System.Windows.Forms; namespace CLCX public partial class FORM1 : Form public static CLSJ clsj = new CLSJ(); public static int count = 0; public FORM1() InitializeComponent(); private void 打开 ToolStripM
10、enuItem_Click(object sender, EventArgs e) /在关闭 clsj 窗口后可以再次打开 if (clsj.IsDisposed=true) clsj = new CLSJ(); clsj.MdiParent = this; clsj.Show(); else clsj.MdiParent = this; clsj.Show(); private void 近似平差计算 ToolStripMenuItem_Click(object sender, EventArgs e) /坐标近似推算 int row = clsj.datag1.RowCount; /1.方
11、位角计算。简单起见,两个已知点坐标为置于前两行. /每段线的方位角编号和起点编号相同. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - point p = new point2; p0 = new point(Convert.ToDouble(clsj.datag1.Rows0.Cells4.Value), Convert.ToDouble(clsj.datag1.Rows0.Cells5.Value); p1 = new p
12、oint(Convert.ToDouble(clsj.datag1.Rows1.Cells4.Value), Convert.ToDouble(clsj.datag1.Rows0.Cells4.Value); ArrayList raw = new ArrayList(); raw.Add(tool.fangweijiao(p0, p1); for (int i = 1; i row - 1; i+) raw.Add(Convert.ToDouble(rawi - 1) + tool.d2r(Convert.ToDouble(clsj.datag1.Rowsi.Cells2.Value) -
13、Math.PI); /2.坐标推算 for (int i = 2, j = 1; i 0) r = Math.PI / 2; if (dy 0 & dy 0) r = Math.Atan(Math.Abs(dy) / Math.Abs(dx); if (dx 0 & dy 0) r = 2 * Math.PI - Math.Atan(Math.Abs(dy) / Math.Abs(dx); if (dx 0) r = Math.PI - Math.Atan(Math.Abs(dy) / Math.Abs(dx); if (dx 0 & dy 0) r = Math.PI + Math.Atan
14、(Math.Abs(dy) / Math.Abs(dx); return r; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 数据库操作代码:using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing
15、; using System.Linq; using System.Text; using System.Data.OleDb; using System.Windows.Forms; namespace CLCX public partial class CLSJ : Form public CLSJ() InitializeComponent(); OleDbConnection conn; OleDbDataAdapter adapt; DataSet dat; OleDbCommand build; private void CLSJ_Load(object sender, Event
16、Args e) /与数据库建立连接 string str_con = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + Application.StartupPath + cldata.mdb; string str_load = select * from cldata; conn = new OleDbConnection(str_con); conn.Open(); dat = new DataSet(); adapt = new OleDbDataAdapter(str_load, conn); adapt.Fill(dat,cldata)
17、; datag1.DataSource = dat.Tables0; conn.Close(); private void but_save_Click_1(object sender, EventArgs e) try string str_con = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + Application.StartupPath + cldata.mdb; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共
18、 12 页 - - - - - - - - - string str_load = select * from cldata; string command; conn = new OleDbConnection(str_con); conn.Open(); dat = new DataSet(); adapt = new OleDbDataAdapter(str_load, conn); adapt.Fill(dat, cldata); datag1.DataSource = dat.Tables0; int i = datag1.RowCount; command = insert int
19、o cldata (ID,测站, 水平角 , 平距,X,Y, 备注) values ( + i + , + + tex_CZ.Text + + , + Convert.ToDouble(tex_SPJ.Text) + , + Convert.ToDouble(tex_PJ.Text) + , + Convert.ToDouble(tex_X.Text) + , + Convert.ToDouble(tex_Y.Text) + , + + tex_NT.Text + + ); build = new OleDbCommand(command, conn); int p = build.ExecuteNonQuery(); dat.Clear(); /将数据集清空,刷新datagridview控件 conn.Close(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -
限制150内