测绘程序设计实习报告Word格式文档下载.docx

上传人:b****1 文档编号:3033165 上传时间:2023-05-01 格式:DOCX 页数:12 大小:142.42KB
下载 相关 举报
测绘程序设计实习报告Word格式文档下载.docx_第1页
第1页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第2页
第2页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第3页
第3页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第4页
第4页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第5页
第5页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第6页
第6页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第7页
第7页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第8页
第8页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第9页
第9页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第10页
第10页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第11页
第11页 / 共12页
测绘程序设计实习报告Word格式文档下载.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

测绘程序设计实习报告Word格式文档下载.docx

《测绘程序设计实习报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《测绘程序设计实习报告Word格式文档下载.docx(12页珍藏版)》请在冰点文库上搜索。

测绘程序设计实习报告Word格式文档下载.docx

选择文件存放地址,输入项目名称,点击确定,完成。

2、拖动menuSctrip控件到主窗体,并且键入“文件”、“工具”两个选项,在“文件”下添加一个“打开”选项;

在“工具”下添加“近似平差计算”、“高斯消元”两个选项。

3、选择项目→添加windows窗体,输入窗体名称“CLSJ”,点击确定。

4、在CLSJ窗体中拖入SplitContainer控件,将窗体分为左右两部分,调整大小。

在拖入一个“TabControl”,新建选项卡。

最后,加入“Button”、“TextBox”、“Label”控件。

5、用相同的方法,新建一个名为高斯消元的窗体,然后按照需要进行设计。

三、程序运行效果

四、本实验心得体会

这是第一次接触这种可视化开发编程,刚开始不是很熟悉,对于编程语言来说,在掌握一定语法之后,要多用,多结合实际进行一些简单编程,这样才能提高对一种编程语言的理解。

导线计算程序设计及粗差探测

(1)掌握方位角计算的程序设计方法

(2)掌握符合导线、闭合导线、支导线计算的程序设计方法

(3)理解粗差探测的程序设计方法

二、实验的设计与开发步骤:

1、考虑到在测量时所用的角度均为度分秒,而在c#计算时只是别度分秒,因此先设计两个函数,可以将度分秒和弧度制进行转化。

2、其次先写一个point类,包含x,y两个成员变量,然后在设计一个方位角函数,用两个point类当作形参传递进去,根据方位角计算公式

,(根据象限角和方位角关系对k进行调节)应该分为四种情况,但是考虑到分母不为0,因此应该在加一种情况,即导线与y轴重合。

3、然后根据边长,根据方位角,公式

进行坐标推算。

三、程序运行及数据测试效果

在掌握一定的语法规则后,要多应用。

另外就是在遇到问题时,可以去网上查找,这样不断反复,就会熟练使用某种语法。

测量数据库的建立

(1)掌握利用Access或SQLserver建立测量数据库的基本方法

(2)掌握利用C#编程连接数据库,并进行数据操作的方法

1、首先在窗体加载时就要链接access数据库,这样当打开窗体时数据就可以加载进去。

首先就是使用OleDbConnection方法进行链接,然后用open方法打开数据库,在关闭窗体时,一定要在使用close关闭。

2、在链接数据库并打开以后,然后就是新建一个数据集DataSet,相当于数据库的副本,在c#中对数据库进行操作均相当于对这个副本进行操作。

然后写一个OleDbDataAdapter对象,使用sql语句对要用的数据中部分或全部内容进行选择,然后用Fill方法将数据库绑定到数据集中。

3、最后就是用Command执行sql语句命令。

3、程序运行及数据测试效果

4、本实验心得体会

数据库在之前是一个完全不知道的东西,通过这次实习,对数据库有了一个新的理解,数据库在测量程序中是必不可少的东西,在刚开始链接操作数据库时有很多问题,通过网上查找,询问老师基本得以解决。

附录一:

导线计算代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Collections;

usingSystem.Windows.Forms;

namespaceCLCX

{

publicpartialclassFORM1:

Form

{

publicstaticCLSJclsj=newCLSJ();

publicstaticintcount=0;

publicFORM1()

InitializeComponent();

}

privatevoid打开ToolStripMenuItem_Click(objectsender,EventArgse)

//在关闭clsj窗口后可以再次打开

if(clsj.IsDisposed==true)

clsj=newCLSJ();

clsj.MdiParent=this;

clsj.Show();

else

}

privatevoid近似平差计算ToolStripMenuItem_Click(objectsender,EventArgse)

{

//坐标近似推算

introw=clsj.datag1.RowCount;

//1.方位角计算。

简单起见,两个已知点坐标为置于前两行.

//每段线的方位角编号和起点编号相同.

point[]p=newpoint[2];

p[0]=newpoint(Convert.ToDouble(clsj.datag1.Rows[0].Cells[4].Value),Convert.ToDouble(clsj.datag1.Rows[0].Cells[5].Value));

p[1]=newpoint(Convert.ToDouble(clsj.datag1.Rows[1].Cells[4].Value),Convert.ToDouble(clsj.datag1.Rows[0].Cells[4].Value));

ArrayListraw=newArrayList();

raw.Add(tool.fangweijiao(p[0],p[1]));

for(inti=1;

i<

row-1;

i++)

raw.Add(Convert.ToDouble(raw[i-1])+tool.d2r(Convert.ToDouble(clsj.datag1.Rows[i].Cells[2].Value))-Math.PI);

//2.坐标推算

for(inti=2,j=1;

i++,j++)

clsj.datag1.Rows[i].Cells[4].Value=Convert.ToDouble(clsj.datag1.Rows[i-1].Cells[4].Value)+Convert.ToDouble(clsj.datag1.Rows[i].Cells[3].Value)*Math.Cos(Convert.ToDouble(raw[j]));

clsj.datag1.Rows[i].Cells[5].Value=Convert.ToDouble(clsj.datag1.Rows[i-1].Cells[5].Value)+Convert.ToDouble(clsj.datag1.Rows[i].Cells[3].Value)*Math.Sin(Convert.ToDouble(raw[j]));

clsj.datag1.Rows[i].Cells[4].Value=Math.Round(Convert.ToDouble(clsj.datag1.Rows[i].Cells[4].Value),4);

clsj.datag1.Rows[i].Cells[5].Value=Math.Round(Convert.ToDouble(clsj.datag1.Rows[i].Cells[5].Value),4);

publicclasspoint

publicdoubleX;

publicdoubleY;

publicpoint(doubleX,doubleY)

this.X=X;

this.Y=Y;

publicclasstool

publicstaticdoubled2r(doubled)//"

度"

转弧度

intdegree,min,sec;

degree=(int)d;

min=(int)((d-degree)*100);

sec=(int)((d-degree-min/100)*10000);

return(degree+min/60+sec/3600)*Math.PI/180;

publicstaticdoublefangweijiao(pointp1,pointp2)//方位角计算,返回弧度制结果

doubler=0;

doubledx,dy;

dx=p2.X-p1.X;

dy=p2.X-p1.Y;

if(dx==0)

if(dy>

0)

r=Math.PI/2;

if(dy<

r=Math.PI*2/3;

if(dx>

0&

&

dy>

r=Math.Atan(Math.Abs(dy)/Math.Abs(dx));

dy<

r=2*Math.PI-Math.Atan(Math.Abs(dy)/Math.Abs(dx));

if(dx<

r=Math.PI-Math.Atan(Math.Abs(dy)/Math.Abs(dx));

r=Math.PI+Math.Atan(Math.Abs(dy)/Math.Abs(dx));

returnr;

}

数据库操作代码:

usingSystem.Data.OleDb;

publicpartialclassCLSJ:

publicCLSJ()

OleDbConnectionconn;

OleDbDataAdapteradapt;

DataSetdat;

OleDbCommandbuild;

privatevoidCLSJ_Load(objectsender,EventArgse)

//与数据库建立连接

stringstr_con="

Provider=Microsoft.Jet.OLEDB.4.0;

DataSource="

+Application.StartupPath+"

\\cldata.mdb"

;

stringstr_load="

select*fromcldata"

conn=newOleDbConnection(str_con);

conn.Open();

dat=newDataSet();

adapt=newOleDbDataAdapter(str_load,conn);

adapt.Fill(dat,"

cldata"

);

datag1.DataSource=dat.Tables[0];

conn.Close();

privatevoidbut_save_Click_1(objectsender,EventArgse)

try

stringcommand;

adapt.Fill(dat,"

inti=datag1.RowCount;

command="

insertintocldata(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=newOleDbCommand(command,conn);

intp=build.ExecuteNonQuery();

dat.Clear();

//将数据集清空,刷新datagridview控件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2