《测绘程序设计》实验指导书

合集下载

测绘程序设计实验报告word文档

测绘程序设计实验报告word文档

《测绘程序设计()》上机实验报告(Visual C++.Net)班级:学号:姓名:序号:二零一三年三月目录实验1 Visual Basic环境和程序设计初步 (1)总结 (5)实验2、控制结构程序设计(方位角计算、坐标转换、后方交会) (6)总结 (16)实验1 Visual C++.Net 环境和程序设计初步一、实验内容1. 启动与退出VC++.net ,熟悉VC++.net 的开发环境,通过向导生成基于对话框的应用程序。

使用MSDN 查看命令按钮、标签和文本框的主要属性和方法。

2. 打开Microsoft visual studio 2008 文档,浏览“Visual studio 文档”目录下的内容,并从“Visual studio 文档->Visual C++->示例”目录下下载一个程序,编译并运行之。

3. 设计一个已知三边边长计算三角形面积的程序。

计算模型如下:海伦公式:))()((c p b p a p p S ---=,其中2cb a p ++=二、设计思路1、首先,设计一个窗体,上面有三个静态框和三个文本框用于提示和输入三边a,b,c,还要有一个静态框加一个文本框用于输出面积,还要加三个命令按钮,用于计算,清除和退出;2、然后要对输入的三边进行判断是否合法(即是否可以组成三角形),用if 语句实现,不合法则清零;3、最后将海伦公式写成代码的形式即可。

三、界面设计如下:四、主要代码如下:#include<math.h>void CMy006Dlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码//判断输入是否有误并计算UpdateData(TRUE);if(a+b>c&&a+c>b&&b+c>a){double t;t=(a+b+c)/2;s=sqrt(t*(t-a)*(t-b)*(t-c));}else CMy006Dlg::OnBnClickedButton2();//输入的三边不能构成三角形时则清零UpdateData(FALSE);}void CMy006Dlg::OnBnClickedButton2(){// TODO: 在此添加控件通知处理程序代码//清除功能a=0;b=0;c=0;s=0;UpdateData(FALSE);}void CMy006Dlg::OnBnClickedButton3(){exit(0);//退出功能// TODO: 在此添加控件通知处理程序代码}五、运行结果如下:六、实验总结本次实验比较简单,主要是熟悉一下Virsual Studio 2008的MFC编程环境,了解编译MFC项目的整个流程。

测绘程序设计(C语言程序设计)

测绘程序设计(C语言程序设计)

测绘程序设计学生姓名:***所在院系:测绘工程学院所学专业:测绘工程专业指导教师:闫继涛、邢晓娜高松峰、毛政利五子棋游戏程序开发目录第一章程序设计目的和要求··11.1 课程设计的目的··11.2 课程设计实现的要求··1第二章五子棋程序概述··2第三章系统设计··33.1 设计目标··33.2 开发及运行环境··33.3 需求分析··3第四章系统模块分析·44.2 总体模块分析··44.3 功能模块分析··54.4 控制模块分析··5第五章五子棋程序设计··75.1 游戏规则··75.2 预处理··75.3 声明变量··75.4 主函数··75.5 设置棋盘模式··75.6 开始游戏··85.7 进入游戏界面··95.8 游戏过程··95.9 判断胜负结果··11第六章程序设计心得与体会··12 附录一五子棋程序源代码··13 附录二程序运行结果··20附录三参考文献··23第一章程序设计的目的和要求1.1 课程设计的目的进一步巩固《C程序设计》所学的知识,特别加强数组、指针、结构体、文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计能力,以及用C/C++语言解决实际问题的能力,为以后后续课程的学习打好坚实的基础。

测绘程序设计基础实验报告

测绘程序设计基础实验报告

《测绘程序设计()》上机实验报告(Visual C++.Net)班级:测绘1101学号: 0405100731姓名:龚自飞序号:二零一四年六月目录实验1 Visual C++.Net环境和程序设计初步 (1)实验内容: (1)设计思路: (1)界面设计: (1)主要代码:列出程序的代码,按文件依次列出。

注意代码的书写格式和注释 (2)运行结果: (3)总结 (5)实验1 Visual C++.Net 环境和程序设计初步实验内容:1. 启动与退出VC++.net ,熟悉VC++.net 的开发环境,通过向导生成基于对话框的应用程序。

使用MSDN 查看命令按钮、标签和文本框的主要属性和方法。

2. 打开Microsoft visual studio 2008 文档,浏览“Visual studio 文档”目录下的内容,并从“Visual studio 文档->Visual C++->示例”目录下下载一个程序,编译并运行之。

3. 设计一个已知三边边长计算三角形面积的程序。

计算模型如下: 海伦公式:))()((c p b p a p p S ---=,其中2c b a p ++= 设计思路:(1)、创建名为“gzf1”的 MFC 应用程序;(2)、在窗体上放置4 个文本框、4 个静态框、3 个命令按钮(其中两个缺省);(3)、设置控件属性,如Static1 的Caption 属性设置成“a=”,用于提示Edit框的输入边长a ;(4)、把“取消”按钮的Caption 属性改为“退出”;双击前两个按钮,生成Click 消息函数,注释掉重载函数“OnOK()”。

(5)、为4 个Edit 控件添加绑定变量。

(6)、在相应的函数中添加代码;(7)、运行和调试程序;(8)、保存应用程序。

界面设计:主要代码:gzf1void Cproject01Dlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);double p;p=(a+b+c)/2;S=sqrt(p*(p-a)*(p-b)*(p-c));UpdateData(FALSE);//OnOK();}void Cproject01Dlg::OnBnClickedOk2(){// TODO: 在此添加控件通知处理程序代码a=0;b=0;c=0;S=0;UpdateData(FALSE);}void Cproject01Dlg::OnBnClickedCancel() {// TODO: 在此添加控件通知处理程序代码OnCancel();}运行结果:总结总结的书写要求:这是我这学期编写的第一个MFC程序,在这次课前,我们在大一课程设计的时候有接触到相关的MFC编程,不过时隔两年,也陌生了不少。

(完整版)测绘程序设计

(完整版)测绘程序设计

static void change(ref int a1 , ref int b1)

int t; t = a1; a1 = b1; b1 = t;
}
}
Out关键字
Console。WriteLine(”Please Enter Y2:");
double Y2 = Convert。ToDouble(Console。ReadLine());
double detX = X2 - X1;
double dexY = Y2 — Y1;
double fwj;
if (Math。Abs(detX) 〈 0.0000001)
{
if (dexY 〉 0)
fwj = 90;
else
fwj = 270;
}
else
{
fwj = dexY / detX;
fwj = Math。Atan(fwj);
fwj = fwj * 180 / Math。PI;
if (detX < 0)
fwj = fwj + 180;
else if (dexY < 0) //若detY>0,fwj没做处理,fwj=fwj
切忌使用C#关键字。如果需要使用,须在标识符前边加上“@"(如@abstract).
命名变量的一些约定:
给变量分配有意义的名称;
命名类和方法时使用PascalCase样式,命名变量使用camelCase样式;
不要通过大小写的不同来区分变量。
初始化变量
注意初始值要与声明的类型相一致decimal bankBalance=34。50; //错误
Console。WriteLine(”Please Enter Y1:”);

测绘程序设计实验指导书1

测绘程序设计实验指导书1

《测绘程序设计》实验指导书华北科技学院土木工程系测绘工程教研室2010年8月实验一:线性方程组解算一、实验目的与要求⒈初步掌握线性方程组的算法;⒉初步掌握线线性方程组在计算机上实现方法。

二、实验安排⒈实验共需用2学时。

⒉实验每个小组1人,用C/VB等语言在计算机上完成程序代码的编写,并调试通过,然后用算例印证程序的正确性。

三、实验步骤及要点⒈在课余时间,提前准备线性方程组解算程序代码;⒉上机时写入代码,并调试运行;⒊用算例进行印证。

四、实验指导(一)Turbo C工作环境一个C语言程序的实施是从进入Turbo C的集成环境开始的,而进入C语言的环境,一般有两种途径:从DOS环境进入和从Windows环境进入。

1、从DOS环境进入:在DOS命令行上键入:C>CD \TC↙(指定当前目录为TC子目录)C>TC↙ (进入Turbo C环境)这时进入Turbo C集成环境的主菜单窗口,屏幕显示如下图所示。

2、从Windows环境进入:在Windows 95/98环境中,如果本机中已安装了Turbo C,可以在桌面上建立一个快捷方式,双击该快捷图标即可进入C语言环境。

或者从开始菜单中找到“运行”,在运行对话框中键入“C:\TC\TC”,“确定”即可。

刚进入TC环境时,光带覆盖在“File”上,整个屏幕由四部分组成,依次为:主菜单、编辑窗口、信息窗口和功能提示行(或称快速参考行)。

(1)主菜单显示屏的顶部是主菜单条,它提供了8个选择项:File 处理文件(装入、存盘、选择、建立、换名存盘、写盘),目录操作(列表、改变工作目录),退出Turbo C,返回DOS 状态。

Edit 建立、编辑源文件。

Run 自动编辑、连接并运行程序。

Compile 编辑、生成目标文件组合成工作文件。

Project 将多个源文件和目标文件组合成工作文件。

Option 提供集成环境下的多种选择和设置(如设置存储模式、选择编参数、诊断及连接任选项)以及定义宏;也可记录Include、Output及Library文件目录,保存编译任选项和从配置文件加载任选项。

(整理)测绘程序设计

(整理)测绘程序设计

测绘程序设计课程实习报告一、实习目的《测量平差程序设计》是在我们学习了专业基础课《误差理论与测量平差基础》课程后将测量平差和计算机程序设计等课程的综合实践与应用的一门课程。

其目的是在我们学习过平差这门课后增强我们对误差理论与测量平差基础理论的理解,巩固已掌握的测量平差的基本原理和基本公式以及计算方法,熟悉测量数据处理的基本技能,培养我们正确应用公式、综合分析问题和解决问题的能力,并能能够熟练运用所学过的C++语言,使平差理论与计算机结合起来,将主要的条件平差、间接平差以及水准网平差计算方法过程编写成一般形式的程序用于数据处理,灵活准确的应用于解决各类数据处理的实际问题当中,为我们今后步入工作岗位打下了一定的基础。

二、实习内容本课程要求我们熟练运用测量平差的基本公式与计算方法和拥有基本的C++编程能力,以自由组成3-4人小组的方式共同学习,在老师的指导下能够按照要求由简至繁完成以下程序。

(一)角弧之间的相互转化复习基本的C++内容、程序结构及编写方法,保证任意角度弧度之间可转化及其转化精度。

(二)文件的读入输出在程序外部建立文本文档输入数据使程序具有一般性并且不需要在执行程序时进行输入,同时在程序运行后结果自动生成文件保存。

(三)概率运算根据已知题目以及程序进行加以更改调试,建立文本文档读入文件计算标准正态分布函数、B分布的分布函数等概率函数。

(四)矩阵运算实现矩阵的基本加、减、乘、转置及求逆运算,为接下来平差运算程序解决基本运算问题。

(五)条件平差与间接平差利用之前以编写过的基本程序,以及平差的公式与算法,根据例题编写程序计算条件平差与间接平差(二者具有一定相似度)。

(六)水准网平差首先利用已知的例题以及水准网计算公式和算法编写特殊可解的水准网平差,再在其基础上编写一般形式具有广泛应用的普通程序。

在将以上基本任务都完成之后还可以进一步编写GPS向量网等。

三、实习过程(一)角弧之间的相互转化1.编程思路:首先在头文件中要注明#include<cmath>保证程序中的数学运算合理,然后建立一个角度是否合理判断的函数,在其中将角度的度、分、秒分别用三个double型变量a、b、c表示,将输入或计算出的角度改正成合理的形式(分和秒都小于60大于0),如将30°66´27"化成31°6´27" 以及角度的正负。

测绘程序设计(VS2008)实验报告--文件操作

测绘程序设计(VS2008)实验报告--文件操作

《测绘程序设计()》上机实验报告(Visual C++.Net)实验5 文件班级:学号:姓名:序号:二零一零年四月实验5 文件一、实验目的∙掌握文件对话框的使用方法。

∙掌握C++文件操作的一般步骤及实现方法。

∙了解MFC文件操作的特点及使用方法。

二、实验内容1. 编制简单的Cass数据文件进行数据整理的程序。

整理后的数据文件中要求无重复点数据,且数据按点号大小的升序进行排序。

要求整理后的数据按与原始数据文件同样的格式保存为另外一个文件要求:a.用SaveFileDialog和OpenFileDialog控件获取文件打开或保存的文件名。

b.自定义一个测量点数据结构体,其元素包括:点号,编码,X,Y,Hc.用文本框显示原始数据和整理后的数据d..按编程规范进行编码设计思路:1)自定义一个测量点数据结构体,其元素包括:点号,编码,X,Y,H2)定义一个分割函数用来分割数据3)打开文件,将测量点的数据值赋给点的结构体数组4)通过比较结构体元素的异同删除重复点,获得新的总点数5)按点号大小的升序排列6)将新排好的数据输出到另一个文本框中,并保存于文件中。

界面设计:共2个文本框、2个Group Box控件、2个命令按钮。

主要代码:FileDlg.cpp//定义点的结构体#define POINT struct pointPOINT{int iDotmark;CString strCode;double X;double Y;double Z;};void CFileDlg::OnBnClickedOpenfile(){// TODO: 在此添加控件通知处理程序代码CFileDialog dlgFile(TRUE,_T("txt"),NULL,OFN_ALLOWMULTISELECT|OFN_EXPLORER,_T("(文本文件)|*.txt"));if(dlgFile.DoModal()==IDCANCEL) return;CString strFileName=dlgFile.GetPathName();setlocale(LC_ALL,"");CStdioFile sf;if(!sf.Open(strFileName, CFile::modeRead)) return;CString strLine;strPriData.Empty();BOOL bEOF=sf.ReadString(strLine);while(bEOF){strPriData+=strLine;bEOF=sf.ReadString(strLine);if(bEOF) strPriData+=_T("\r\n");}sf.Close();//整理原始数据并在右边编辑框中输出//UpdateData(TRUE);int iLine;//分行并存入字符串数组CString *pstrLine=SplitString(strPriData,'\n',iLine);int iTotalPoint; //总点数CString *strTmp=NULL;int n;iTotalPoint = _ttoi(pstrLine[0]); //第一行为总点数if(iTotalPoint!=iLine-1)MessageBox(_T("数据格式有误"));POINT *pPoint=new POINT[iTotalPoint]; //结构体指针,指向点结构体//逐行用Split函数分离,给点结构体赋值for(int i=0;i<iTotalPoint;i++){strTmp = SplitString(pstrLine[i+1], ',',n);pPoint[i].iDotmark = _ttoi(strTmp[0]);pPoint[i].strCode = strTmp[1];pPoint[i].X = _tstof(strTmp[2]);pPoint[i].Y = _tstof(strTmp[3]);pPoint[i].Z = _tstof(strTmp[4]);if(strTmp!=NULL)//释放内存{delete[] strTmp;strTmp=NULL;}}if(strTmp!=NULL)//释放内存{delete[] strTmp;strTmp=NULL;}//删除重复点for(int i=0;i<iTotalPoint;i++){for(int j=i+1;j<iTotalPoint;j++){if(pPoint[i].iDotmark ==pPoint[j].iDotmark){//delete pPoint;for(int k=j;k<iTotalPoint-1;k++){pPoint[k]=pPoint[k+1];}iTotalPoint--;}}}//按点号的升序排列/*POINT min=pPoint[0];*/for(int i=0;i<iTotalPoint;i++){for(int j=i+1;j<iTotalPoint;j++){if(pPoint[i].iDotmark>pPoint[j].iDotmark){POINT t=pPoint[i];pPoint[i]=pPoint[j];pPoint[j]=t;} }}//输出调整后的数据strTidyData.Format(_T("%d\r\n"),iTotalPoint);CString strOutput;for(int i=0;i<iTotalPoint;i++){strOutput.Format(_T("%d,%s,%f,%f,%f\r\n"),pPoint[i]);strTidyData=strTidyData+strOutput;}UpdateData(FALSE);//释放内存if(pPoint!=NULL){delete[] pPoint;pPoint=NULL;}}void CFileDlg::OnBnClickedSavefile(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);CFileDialog dlgFile(FALSE,_T("txt"),NULL,OFN_EXPLORER,_T("(文本文件)|*.txt"));if(dlgFile.DoModal()==IDCANCEL) return;CString strFileName=dlgFile.GetPathName();setlocale(LC_ALL,"");CStdioFile sf;if(!sf.Open(strFileName, CFile::modeCreate|CFile::modeWrite)) return;sf.WriteString(strTidyData);sf.Close();}CString *CFileDlg::SplitString(CString str, char split, int& iSubStrs) {int iPos = 0; //分割符位置int iNums = 0; //分割符的总数CString strTemp = str;CString strRight;//先计算子字符串的数量while (iPos != -1){iPos = strTemp.Find(split);if (iPos == -1){break;}strRight = strTemp.Mid(iPos + 1, str.GetLength());strTemp = strRight;iNums++;}if (iNums == 0) //没有找到分割符{//子字符串数就是字符串本身iSubStrs = 1;return NULL;}//子字符串数组iSubStrs = iNums + 1; //子串的数量= 分割符数量+ 1CString* pStrSplit;pStrSplit = new CString[iSubStrs];strTemp = str;CString strLeft;for (int i = 0; i < iNums; i++){iPos = strTemp.Find(split);//左子串strLeft = strTemp.Left(iPos);//右子串strRight = strTemp.Mid(iPos + 1, strTemp.GetLength());strTemp = strRight;pStrSplit[i] = strLeft;}pStrSplit[iNums] = strTemp;return pStrSplit;}运行结果:操作过程:单击“打开原始数据”,选择原始数据所在的文本文件,自动输出原始数据及整理后的数据,单击“保存整理后的数据”,选择保存路径,确定文件名,单击保存即可。

测绘程序设计课程设计

测绘程序设计课程设计

测绘程序设计课程设计一、课程目标知识目标:1. 让学生理解测绘程序设计的基本原理,掌握相关术语和概念;2. 使学生掌握至少一种编程语言(如Python)的基本语法,并能运用其进行简单的测绘程序编写;3. 让学生了解并掌握常用的测绘数据处理和分析方法。

技能目标:1. 培养学生运用编程语言解决实际测绘问题的能力;2. 培养学生独立思考和团队协作的能力,能够进行程序调试和优化;3. 提高学生运用测绘软件和工具进行数据处理和分析的技能。

情感态度价值观目标:1. 激发学生对测绘程序设计的兴趣,培养其主动探索和创新的意识;2. 培养学生面对编程和数据处理过程中的困难,保持积极的心态,勇于克服困难;3. 增强学生的国家版图意识,认识到测绘工作在国家和经济社会发展中的重要作用。

课程性质:本课程为实践性较强的学科,结合编程语言和测绘知识,培养学生解决实际问题的能力。

学生特点:学生处于高年级阶段,具有一定的编程基础和测绘知识,具备独立思考和团队协作的能力。

教学要求:教师需结合课本内容,注重理论与实践相结合,关注学生个体差异,提高学生的编程能力和数据处理技能。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 测绘程序设计基本原理:包括测绘程序设计的基本流程、数据类型、变量和常量的定义、运算符和表达式等,对应教材第一章内容。

2. 编程语言基础:以Python语言为例,介绍基本语法、控制结构、函数和模块的使用,对应教材第二章内容。

3. 测绘数据处理与分析:包括数据采集、数据预处理、数据插值、坐标转换等,对应教材第三章内容。

4. 实践项目:结合实际测绘问题,设计以下实践项目:- 编写程序进行坐标转换;- 编写程序进行地形分析;- 编写程序实现简单的地图绘制功能。

5. 教学大纲安排:- 第1周:测绘程序设计基本原理及编程语言基础;- 第2周:Python编程进阶及实践项目一;- 第3周:测绘数据处理与分析方法;- 第4周:实践项目二和项目三。

测绘程序设计课程设计

测绘程序设计课程设计

测绘程序设计课程设计一、教学目标本课程旨在通过学习测绘程序设计,使学生掌握测绘学的基本原理和方法,能够运用测绘程序进行实际操作,培养学生的动手能力和实际操作能力。

学生通过本课程的学习,应达到以下目标:1.知识目标:掌握测绘学的基本原理、方法和程序,了解测绘技术的发展趋势。

2.技能目标:能够熟练使用测绘程序,进行地形图的绘制、测量数据的处理等。

3.情感态度价值观目标:培养学生对测绘学科的兴趣,提高学生对测绘工作的认识,培养学生严谨的科学态度和良好的职业道德。

二、教学内容本课程的教学内容主要包括测绘学的基本原理、测绘程序的使用和操作、地形图的绘制等。

具体包括以下内容:1.测绘学基本概念、测绘基准和测绘仪器的使用。

2.地形图的绘制方法、地形图的阅读和应用。

3.测绘程序的使用和操作,包括数据的输入和输出、数据的处理和分析等。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、实践操作法、案例分析法等。

具体方法如下:1.讲授法:通过教师的讲解,使学生掌握测绘学的基本原理和方法。

2.实践操作法:通过学生的实际操作,使学生熟练使用测绘程序,掌握地形图的绘制方法。

3.案例分析法:通过分析实际案例,使学生了解测绘程序在实际工程中的应用。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的测绘学教材,为学生提供系统、科学的学习材料。

2.参考书:提供相关测绘学科的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作课件、演示视频等,帮助学生直观、形象地理解测绘学原理和方法。

4.实验设备:准备测绘仪器、计算机等实验设备,为学生提供实际操作的机会。

以上教学资源将有助于提高本课程的教学质量,帮助学生更好地掌握测绘程序设计知识。

五、教学评估本课程的教学评估将采用多元化评估方式,全面客观地评价学生的学习成果。

评估方式包括:1.平时表现:通过学生在课堂上的发言、提问、讨论等,评估学生的参与度和思考能力。

测绘程序设计课程设计

测绘程序设计课程设计

测绘程序设计课程设计一、教学目标本课程旨在通过学习测绘程序设计,使学生掌握测绘基本原理、程序设计方法和技能,能够独立完成测绘程序的设计和实施。

具体目标如下:知识目标:学生将掌握测绘学的基本概念、原理和方法,理解测绘程序设计的流程和规范,熟悉相关测绘软件的使用。

技能目标:学生将能够运用所学知识,独立完成简单的测绘项目设计,包括数据采集、处理、分析和成果输出。

情感态度价值观目标:培养学生对测绘专业的兴趣和热情,增强其团队协作能力和创新意识,使其认识到测绘在国民经济和社会发展中的重要地位。

二、教学内容本课程的教学内容主要包括测绘学基本原理、测绘程序设计方法、测绘软件应用和实际操作。

具体安排如下:1.测绘学基本原理:包括测绘概述、测量基础知识、地形图绘制等。

2.测绘程序设计方法:包括数据采集、数据处理、数据分析和成果输出等。

3.测绘软件应用:包括常见测绘软件的功能和操作,如ArcGIS、AutoCAD等。

4.实际操作:通过实际项目案例,使学生掌握测绘程序设计的全过程。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:讲解测绘基本原理、程序设计方法和软件应用。

2.讨论法:针对实际案例,引导学生进行讨论和思考,提高其解决问题的能力。

3.案例分析法:分析具体测绘项目,使学生了解测绘程序设计的实际应用。

4.实验法:通过实际操作,使学生掌握测绘软件的使用和测绘程序的设计。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的测绘程序设计教材,为学生提供系统、科学的学习资料。

2.参考书:提供相关测绘学、程序设计等方面的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高课堂教学质量。

4.实验设备:配备齐全的测绘仪器和计算机设备,为学生提供实践操作的机会。

五、教学评估为了全面、客观地评估学生在测绘程序设计课程中的学习成果,我们将采用多种评估方式相结合的方法。

推荐-测绘程序设计实验指导书 精品

推荐-测绘程序设计实验指导书 精品

实验一:线性方程组解算一、实验目的与要求⒈初步掌握线性方程组的算法;⒉初步掌握线线性方程组在计算机上实现方法。

二、实验安排⒈实验共需用2学时。

⒉实验每个小组1人,用VB 等语言在计算机上完成程序代码的编写,并调试通过,然后用算例印证程序的正确性。

三、实验步骤及要点⒈在课余时间,提前准备线性方程组解算程序代码; ⒉上机时写入代码,并调试运行; ⒊用算例进行印证。

四、实验指导利用高斯选主元消去法,根据算法,写出程序代码。

五、思考题⒈如何利用其他解法完成计算机数据处理。

123123123354157324422x x x x x x x x x ++=-⎧⎪++=⎨⎪++=⎩实验二:矩阵解算与角度运算一、实验目的与要求⒈初步掌握矩阵的加减乘除及矩阵的转置、求逆等基本运算在计算机上的实现方法;⒉掌握度分秒转换在计算机上实现的方法。

二、实验安排⒈本实验需要2学时。

⒉实验每个小组1人,用VB 语言在计算机上完成程序代码的编写,并调试通过,然后用算例印证程序的正确性。

三、实验步骤及要点1.在课下写出程序代码,重点是 矩阵求逆和度分秒转换; 2.上课时在计算机上写入程序代码,调试运行,通过后用算例进行测试。

四、实验指导1.矩阵解法参见教材,下面给出测试数据。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=122113312A⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=-5647854531A 2.角度互化问题在计算机数据处理中经常遇到,计算机要求三角函数中的角度必须是弧度制,这样引用计算机中的三角函数进行计算时,结果才是正确的,反过来,求出的角度值也是一弧度为单位的,所以还需把弧度转换为度分秒的形式。

算例:32°29'30''= 弧度 ,0.3212= 度 分 秒五、思考题⒈在什么情况下需要使用度分秒转化; ⒉在什么情况下利用矩阵解算程序。

实验三:高斯投影正反算及换带计算一、实验目的和要求⒈初步掌握坐标系统的转换方法;⒉初步掌握高斯正反算以及换带计算方法。

《测绘程序设计实验》课程教学大纲

《测绘程序设计实验》课程教学大纲

《测绘程序设计实验》课程教学大纲一、课程性质现代测量技术是随现代化的制造工艺、现代化的计算机技术和现代化的通信技术的发展而发展起来的。

因此,现代测绘技术不但要求测绘技术人员具备完备的测绘知识,而且还要求测绘人员具备较为完备的计算机知识,能熟练的掌握测绘常用软件,如:AutoCAD、Excel,具备较好的数据处理能力,具备一定的软件开发和二次开发能力。

测绘程序设计课程在测绘专业中具有重要意义,是专业测绘人员必须掌握的一门实用,有效的测量计算课程,又是一门综合性很强的课程,涉及面不仅包括控制测量学,测量平差,工程测量,GIS等测绘专业课内容,还涉及数据结构,计算机编程技术等多方面内容,在整个专业体系中占重要地位,课程中讲述的程序涉及方法和测绘常用算法及原理为学生后续课程-《地理信息系统开发》,《测绘数据库技术与应用》以及毕业设计奠定基础。

本课程先修课程:测量学高等数学线性代数测量平差本课程所属的二级学科:大地测量学与测量工程地图制图学与地理信息工程二、教学目的测绘程序设计是大题目,在测绘工作与科学研究中,很多情况下都可以使用计算机。

测绘工程所涉及的数据计算、绘图、数据库管理、数据分析等,都可以使用计算机来完成。

从一般含义上说,测绘工作包含计算和绘图两个方面的内容,实验课程在这两个方面都有安排,使学生得到测绘程序设计技术应用的基本训练,提高其解决实际问题的能力,掌握最新的技术和方法。

通过计算和设计加深学生对相关基本理论与方法的理解与掌握,培养学生的计算机素质和严密的逻辑思维能力。

是面向煤矿地质测量部门的软件应用和GIS软件开发等方面人才输送需求,有助于提高我校测绘专业毕业生就业竞争力。

三、教材教参教材:高等学校计算机专业规划教材:Visual C#程序设计(2012版),邱仲潘,王帅,孙赫雄著,清大学出版社,2013年4月教参:1.《C#入门经典》(第5版),沃森(KarliWatson)内格尔(ChristianNagel)著齐立波译,清大学出版社,2010年12月2.《测绘编程基础》,葛永慧,余哲,刘志德编著,测绘出版社,2002年12月;3. Visual Basic 测绘程序设计(第2版),秦永乐主编,黄河水利出版社,2011年3月四、教学方式本课程采用多媒体教学手段,以课堂讲授和实践教学并重的方式组织教学。

测绘程序设计实验报告

测绘程序设计实验报告

测绘程序设计(C版)实习报告学号: 201420050138姓名:李阳靖班级: 1420501Z专业:测绘工程课程名称:测绘程序设计(C及Matlab)指导老师:肖根如2015年12月目录前言1一、实验目的1二、实验环境2三、Turbo C 3.0与VC++6.0的熟悉与操作2四、实验内容梗概3五、实验具体内容4实验一算法4实验二数据类型、运算符和表达式5实验三控制语句6实验四函数9实验五数组11实验六结构体与共用体12六、常见错误及分析14七、程序调试15八、实验心得与体会17九、附录:实习程序设计清单21前言现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。

作为新时代的大学生,我们应该不断努力学习科学文化知识,以适应社会的发展要求,以现代化的科学知识为祖国做贡献。

而C语言作为一种计算机语言,无疑是我们将来工作不可缺少的一门技能,所以我们应该认真学好C语言。

但只是课本上的知识是不够的,我们应该将从课本上学到的理论知识应用到实践中,通过不断的实践,在实践中发现错误解决错误,并不断创新,最后能熟练的运用所学的知识,充分掌握这种工具。

C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。

想学的更深更透彻的话就必须进一步掌握运用C进行程序设计的能力;进一步理解和运用面向过程程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用互联网查找相关的知识并学习;学海之路何其宽广,有必要让我们孜孜不倦的求索下去。

一、实验目的C语言程序设计实习是在学习《C语言程序设计》理论知识的基础上进行的实践教学环节,其目的是培养我们具有初步的C语言程序设计、编程、调试和排除C语言程序语法、逻辑错误的能力。

全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。

测绘程序设计课程设计指导书

测绘程序设计课程设计指导书

《课程设计四》课程设计指导书(测绘工程专业适用)华北科技学院建筑工程学院测绘工程系2013年12月10日一、设计目的和任务课程设计四综合课程设计是测绘工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和C语言技术进行综合软件设计,通过本课程设计能够进行简单软件系统的开发,掌握软件设计的方法和VB语言程序设计的基本技术,提高学生的综合应用能力。

本次课程设计共两周,在这两周内,要求同学们主要完成一项软件设计与调试任务,通过课程设计,每人提交运行通过的相应软件1套,程序代码1套,设计说明书1本。

二、软件设计的一般步骤与方法通常计算机软件的设计以工程的管理方式、方法进行,包括需求分析、系统设计、编制程序,调试与测试。

1. 需求分析准确把握所要开发系统的功能需求。

进行业务流的分析,根据系统所要完成的功能和所要处理的数据,画出反映系统逻辑模型的数据流图,对于重要的加工和数据项在数据字典中进行进一步的补充说明。

2、总体设计根据系统所完成的功能,准确划分各功能模块,明确各模块的功能职责、所要完成的数据处理与其他模块的数据传递关系,进行数据表的设计和对象类的设计,明确对象类间的关系。

对各个模块进行初步的算法设计。

3、详细设计对各功能模块,准确划出其流程图,详细地描述算法。

对于各对象类,详细地描述其内部功能实现。

在具体的DBMS,如SQL SERVER中,完成数据的物理实施。

4、编程调试选用自己熟悉的编程工具,如C语言、VB或C#完成相应模块的设计。

5、单元测试、组装测试完成各模块的测试,成功后,由小组负责人将同一小组分别完成的各模块进行组装测试,成功后,提交软件成果。

(一)任务一后方交交-前方交会确定待定点坐标程序设计主要目的是利用VB语言或者matlab 结合摄影测量的专业知识,实现立体像对中点的空间位置。

计算机测绘程序设计实验报告

计算机测绘程序设计实验报告

计算机测绘程序设计实验报告专业:班级:姓名:学号:实验一角度与弧度的转换(1)原理首先获取输入角度的正负号,再取绝对值,通过提取度、分、秒计算出角度总和,利用1度=π/180弧度求出弧度;首先获取输入弧度的正负号,再取绝对值,利用1弧度=180/π度将弧度转换为角度,单位为度,通过提取度、分、秒计算出度.分秒。

(2)属性设置窗体、控件属性设置(3)程序代码Private Sub Cmd_jh_Click()Const pi# = 3.14159265358979 '定义常量piDim d%, f%, m#, fh%, jdzh%jd = txt_jd.Textfh = Sgn(jd) '获取输入角度的正负号jd = Abs(jd) '取输入角度的绝对值d = Int(jd) '提取度f = Int((jd - d) * 100) '提取分m = ((jd - d) * 100 - f) * 100 '提取秒jdzh = (d + f / 60 + m / 3600) '得到角度总和,单位为度hd = Format(jd * pi / 180 * fh, "0.000000") '保留6位小数txt_hd.Text = hdEnd SubPrivate Sub Cmd_hj_Click()Const pi# = 3.14159265358979 '定义常量piDim d%, f%, m#, fh%hd = txt_hd.Textfh = Sgn(hd) '获取输入弧度的正负号jdzh = Abs(hd) * 180 / pi '将弧度转换为角度,单位为度d = Int(jdzh) '提取度f = Int((jdzh - d) * 60) '提取分m = ((jdzh - d) * 60 - f) * 60 '提取秒jd = Format((d + f / 100 + m / 10000) * fh, "0.0000") '得到度.分秒并保留四位小数txt_jd.Text = jdEnd SubPrivate Sub Cmd_qk_Click() txt_jd.Text = ""txt_hd.Text = ""End Sub(4)运行结果实验二 矩阵的加、减、乘、转置、求逆(1)原理根据矩阵的运算方法及规则,只有当两个矩阵是同型矩阵时,这两个矩阵才能进行加法和减法运算。

测绘程序设计技术课程设计指导书2013-14

测绘程序设计技术课程设计指导书2013-14

测绘程序设计与C++编程课程设计指导书长安大学地测学院测绘科学系二0一三年9月测绘程序设计技术课程设计指导书一、课程设计的目的和意义:测绘程序设计是一门实践性很强的专业综合性课程,与《C++语言程序设计》、《测量平差基础》、《面向对象程序设计》以及《控制网平差》等课程都有较为密切的关系。

对测绘工程专业学生而言,掌握基本的数据处理程序设计技术具有重要的意义。

为加深学生对相关数据处理程序基本特点、面向对象的软件分析与设计思想和方法的进一步理解,进一步掌握面向对象的测绘数据处理程序开发的基本特点和技术,在《测绘程序设计与C++编程》课程结束后安排为期二周的测绘程序设计技术课程设计。

课程设计将基于在课程中学习的基本知识,开发具有一定应用或研究价值的测绘工程数据处理应用程序模块,以达到锻炼学生面向对象的软件分析与程序设计能力并培养良好的编程习惯,培养学生面向对象的程序设计思想以及基本的数据处理程序设计能力。

本课程设计旨在通过较为具体、充分的程序分析与设计训练,使学生掌握数据处理程序的开发特点、面向对象的问题分析思想与方法以及程序设计技术,为进一步充分利用计算机技术解决测绘工程的专业技术问题奠定一定的基础。

二、课程设计主要内容:测绘程序设计课程设计的主要目的是通过具体问题分析与程序设计的过程锻炼学生分析问题、掌握数据处理软件设计与编程的基本技术和方法。

课程设计的主要工作内容如下:1.通过充分的上机练习,了解测绘数据处理问题的基本特点、面向对象的问题分析思想与程序开发方法,掌握软件开发、调试与测试的基本技术。

2.分析课程中相关类的基本结构与模块功能,进一步理解并掌握面向对象的问题分析思想与程序设计技术以及测绘数据处理问题的基本特点、程序设计方法。

3.分项目开发相关测绘数据处理程序模块,开展相关问题概念模型分析、类结构设计、代码编写、调试、测试等工作,要求每人至少开发如下9个程序模块中的两个。

选题要求:题目(1)为必选题目;(2)-(9)每人至少选择一题,除题目(1)外每班选择相同题目人数不得多于5人(做两项以上题目者不受此条件限制);选题工作由各班班长具体负责,在课程设计开始前完成选题工作,课程设计开始后上报各班选题情况汇总表。

《测量程序设计课程设计》指导书-2015

《测量程序设计课程设计》指导书-2015

测量数据处理程序设计指导书设计名称:测量数据处理程序设计计划周数:2周适用对象:测绘工程专业本科先修课程:测量学,测量平差基础,大地控制测量,测量程序设计一、设计目的测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。

通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。

二、设计内容及日程在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下:三、设计的组织:1.设计领导(1)指导教师:由教研室指派教师、实验员兼任。

职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。

(2)设计队长:学生班长兼任。

职责:协助教师做好本班学生的人员组织工作。

(3)设计组长:每组一人。

职责:组织执行下达的设计任务,安排组内各成员的工作分工。

2.设计分组学生实习作业组由3~4人组成(含组长一人)。

四、设计内容在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发1、闭合导线简易平差、附合导线简易平差支导线计算2、闭合水准网计算、附合水准网简易平差3、地形图编号(新、旧两种方法)4、误差椭圆的参数的计算与绘制误差椭圆5、水准网严密平差6、高斯正反算计算7、高斯投影换带计算8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换)9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐标转换(平面)10、大地高转换为正常高的计算11、工程投影变形超限的处理12、遥感图像数据处理13、曲线(曲面)拟合14、摄影测量空间后方交会15、****管理信息系统设计与开发五、上交成果1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份2)小组关于所开发程序设计说明书一份3) 个人课程设计的心得一份4)小组答辩PPT一份六、成绩评定1.成绩考核内容每个小组上交测量数据处理程序设计量化评分表、测量数据处理程序设计评语表各一份1)设计工作日程和饱和度及设计态度及表现2)完成设计任务的数量及质量和分析问题解决问题的能力。

测绘程序设计技术课程设计指导书

测绘程序设计技术课程设计指导书

测绘程序设计技术课程设计指导书长安大学地测学院测绘科学系二零一一年九月测绘程序设计技术课程设计指导书一、课程设计的目的和意义:测绘程序设计技术是一门实践性很强的专业课程,与《C语言程序设计》、《测量平差基础》、《结构化程序设计》、《数据结构》与《控制网平差》等相关课程有密切的关系,具有很强的综合性。

对测绘工程专业学生而言,掌握基本的数据处理程序设计技术具有重要的现实意义。

为加深学生对相关理论知识、技术和方法的理解,掌握测绘数据处理程序开发的特点和技术,在《测绘程序设计技术》课程结束后安排为期二周的测绘程序设计技术课程设计。

本课程设计旨在进一步理解课程相关程序设计的思想、掌握数据处理程序设计相关技术的前提下,分组开发重要应用程序模块,以达到锻炼学生具体问题分析能力、提高程序设计能力和团结协作精神,掌握数据处理程序的开发特点、分析方法与程序设计过程。

二、课程设计主要内容:测绘程序设计技术课程设计的主要目的是通过具体问题分析、程序设计的过程锻炼学生分析问题、掌握数据处理计算软件分析、设计与编写的基本技术和方法。

其主要内容如下:1.熟练掌握Visual C++编程环境的使用,了解数据处理问题的特点与程序开发过程,掌软件调试、测试的技术方法。

2.分析测绘程序设计技术课程中相关软件的结构和模块功能,掌握结构化程序设计方法和技术,掌握测绘数据处理问题的基本特点。

3.开发相关程序功能模块,独立完成相关问题概念结构分析、程序结构设计、模块设计、代码编写、调试、测试等工作,要求每人至少开发如下16个程序模块中的两个(选题要求:(1)为每人必选题目;(2)-(16)每人可选择一题,每班选择相同题目人数不得多于3人;选题工作由各班班长与学习委员具体负责,课程设计开始上交选题结果):(1)分析测边三角网平差中未知点近似坐标计算,并设计近似坐标计算函数。

(必选题目)。

在平面网平差中,计算未知点的近似坐标是最基本的工作之一,只有完成近似坐标计算,才可以开始平差计算的全过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《测绘遥感程序设计》实验指导书(Visual C++.net)(供测绘工程专业用)(2015年修订)戴吾蛟编二零一五年三月中南大学测绘与遥感科学系前言测绘遥感程序设计上机实验是学习本门课程的重要环节之一,实验的设置是为了配合课堂教学,使学生熟练掌握和深入理解课堂教学内容,进一步强化测绘程序设计、测量学及测量平差原理的理解,掌握利用Visual C++.net进行常用的测量程序以及控制网的间接平差程序设计。

实验内容本门课程必做的实验有(在Visual C++.net 2008 环境下):1.Visual C++.net环境、基本控件及简单程序设计(三角形面积计算)2.控制结构程序设计(方位角计算、地心坐标至大地坐标转换)3.数组、指针(多边形面积计算)4.函数(交会定点函数设计、高斯投影正反算程序设计)5.类的创建(大地四边形类设计、角度类设计)6.文件(Cass测量数据整理)7.图形程序设计(位移序列曲线图形程序设计)8.常用测量计算(无定向导线简易计算程序设计)9.平差程序设计(水准网间接平差程序设计)修订说明:由于2012版培养方案增加了8课时,实验课时也相应增加了4课时。

为此,本实验指导书将高斯投影正反算提前,并要求以函数的形式编写。

增加了大地四边形类设计以及无定向导线简易计算程序设计。

实验1 Visual C++.net环境和简单程序设计一、实验目的∙掌握Visual 的安装和启动。

∙了解VC++ 2008的菜单系统、工具栏和各种基本窗体。

∙理解VC++.net开发应用程序的步骤。

∙掌握基于对话框的程序设计。

∙掌握按钮、文本框和标签框的基本使用方法∙掌握使用MSDN帮助文档二、实验内容1.启动与退出VC++.net,熟悉VC++.net的开发环境,通过向导生成基于对话框的应用程序。

使用MSDN查看命令按钮、标签和文本框的主要属性和方法。

2.打开Microsoft visual studio 2008 文档,浏览“Visual studio 文档”目录下的内容,并从“Visual studio 文档->Visual C++->示例”目录下下载一个程序,编译并运行之。

3.设计一个已知三边边长计算三角形面积的程序。

计算模型如下:海伦公式:))()((cpbpappS---=,其中2cbap ++=提示:(1)在【文件】菜单上执行【新建】,然后选择“项目” 。

(2)在【项目类型】窗格中,选择【Visual C++】下的“MFC”项。

在【模板】窗格中,选择“MFC 应用程序”模板,输入应用程序名称“××××”。

按向导创建名为“×××××”的 MFC应用程序。

(3)在窗体上放置4个文本框、4个静态框、3个命令按钮(其中两个缺省);(4)设置控件属性,如Static1的Caption属性设置成“a=”,用于提示Edit 框的输入边长a;(5)把“取消”按钮的Caption属性改为“退出”;双击前两个按钮,生成Click消息函数,注释掉重载函数“OnOK()”。

(6)为4个Edit控件添加绑定变量。

(7)在相应的函数中添加代码;(8)运行和调试程序;(9)保存应用程序。

实验2 控制结构程序设计一、实验目的∙ 掌握VC++.net 语言的基本语法;∙ 理解顺序结构、选择结构和循环结构程序设计的特点及应用; ∙ 掌握对基于对话框的MFC 应用程序设计方法;∙ 掌握一些简单算法。

二、实验内容1.编写一个方位角计算程序。

提示:先使用反正切函数计算,然后利用坐标增量的符号来判断所在的象限。

2.设计同一参考椭球下的三维地心坐标(笛卡儿坐标系)与大地坐标系转换的程序。

(提示:用do …while 迭代,B 、H 初始为0进行迭代,直到H 的精度达到0.00001米)dxdy arctg A ='⎪⎪⎩⎪⎪⎨⎧+-=+=+=BH e N Z L B H N Y L B H N X sin ])1([sin cos )(cos cos )(2注意:东经0~180(Y>0),西经:0~-180(Y<0)式中,B 、L 、H 为椭球面上的大地纬度、大地经度、大地高;X 、Y 、Z 为空间直角坐标;N 为卯酉圈曲率半径,e 为椭球的偏心率,a 为椭球的长半径,b 为椭球的短半径。

(WGS84椭球参数:长半径a=6378137m ,扁率α=1/298.257223563)()⎪⎪⎭⎫ ⎝⎛+-⋅+=)/(1)(arctan 222H N N e Y X Z B N B Y X H -+=cos 22⎪⎭⎫ ⎝⎛=X Y L arctan Be a N 22sin 1-=222a b a e -=222αα-=e实验3 数组与指针一、实验目的掌握函数的定义、引用及应用方法。

二、实验内容1.编写一个求任意多边形面积的程序。

提示:通过界面输入数据,并把数据保存在一个二维数组或一个一维的自定义结构体类型的数组中,然后再进行计算。

要求计算部分写成函数的形式,使计算程序与界面无关。

动态数组创建动态数组结构体的定义多边形面积计算原理及算法计算原理:例如上图: ))((21))((21))((21))((214114344323321221y y x x y y x x y y x x y y x x P -++-++-++-+=面积计算的算法:经整理后得:)11,,2,1())((21111=+==-+=∑=++i n i n i Y Y X X P ni i i i i 时,;当实验4 函数一、实验目的∙掌握函数的定义、引用及应用方法。

二、实验内容1.交会定点计算函数设计把前方交会、测边交会、后方交会程序写成函数的形式,然后再通过主程序调用。

提示:后方交会计算函数设计思路(1)基本原理及计算公式若将Pa、Pb、Pc看成权,则P点的坐标即为三个已知点的加权平均值(2)计算程序设计步骤①设计界面,用于输入3个已知点的坐标和三个观测角α、β和γ,以及用于输出待定点坐标的文本框(12个)、静态标签框和Button按钮;②定义文本框控件变量(Value);③创建后方交会定点计算函数,函数的输入为三个观测角和三个已知点的坐标,输出为待定点坐标,输出可以用引用参数的方式输出,具体计算步骤;a.根据已知点计算三个内角A 、B 、C ;b.计算Tan(α)、Tan(β)、Tan(γ)、Tan(A)、Tan(B)、Tan(C);c.计算Pa 、Pb 、Pc ;d.计算待定点坐标Xp 、Yp 。

④创建“计算”Button 按钮的Click 事件函数,在该事件函数中调用后方交会计算函数,并在相应的文本框中显示计算结果。

2.高斯投影正反算计算函数设计编写高斯投影正算与反算的两个函数,并设计简单界面对函数计算的正确性进行测试。

正算公式:⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧''-++-''+''+-''+''''=''+-''+''++-''+''''+=52224255322336425644223222)5814185(cos 120)1(cos 6cos )5861(cos sin 720)495(cos sin 24cos sin 2l t t t B N l t B N l B N y l t t B B N l t B B N l B B N X x ηηρηρρρηηρρBe a N 22sin 1-=tant B =Be cos '=ηab a e 22-=bb a e 22-='ρ''l ''是弧度转换为秒的转换单位,是经度L 同当前带中央子午线的差值,单位为秒。

X 为当前点到赤道的子午线长度。

反算公式:)8sin 6sin 4sin 2sin )(1(864202B A B A B A B A B A e a X ++++-=ae长半轴第一偏心率⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧+++++++-=++--+++-=5222425322364254222232)8624285(cos 1201 )21(cos 61cos 1)459061(720 )935(242 y t t t B N y t B N y B N l y t t N M t y t t N M t y N M t B B f f f f f f f f f f f f f ff ff ff f f f ff f f f f f ηηηηηlfB 是要求的点到中央子午线的经度差, 为底点纬度下标“f”表示与 fB 有关的量fff B e N M 22cos 1'+=ff B e a N 22sin 1-=ff B e cos '=ηff B t tan =注意:高斯投影正反算公式比较复杂,编写程序时变量定义一定要十分的清晰[]{})sin (sin sin 2sin 026402202000B K K B K B K B B B f ++++=020)1(A e a XB -=xX =即,y =0时 x 所对应道的子午弧长实验5 类的创建一、实验目的1. 掌握面向对象编程基本思想2. 掌握VC++.net 中创建类3. 掌握建立和使用对象4. 掌握运算符号重载5. 理解类的继承和多态性二、 实验内容1.大地四边形类设计要求:设计一个大地四边形类,注意大地四边形的基本属性,功能上只要求能够设置和返回已知点坐标、8个观测角度、待定点近似坐标计算以及闭合差的计算。

提示:大地四边形(如图所示)以AB 为基线,具有对角线的四边形,它是建立桥梁控制网常用的形式,一般采用条件平差进行计算,本实验中仅要求采用前方交会的方法计算C 和D 点的近似坐标。

CD大地四边形⎪⎭⎪⎬⎫︒-+++=︒-+++=︒-+++=180180180872134321287651a a a a w a a a a w a a a a w 三角形闭合差"++-=ρ)sin )sin(sin )sin(sin sin 1(68145471a a a a a a a a w d 极条件闭合差2.角度类设计要求该类具有度分秒至度的换算、度至度分秒的换算、度与弧度的换算等功能。

提示:设置一个角度大小属性,并设定该属性为缺省属性;另设一个状态属性,表示当前设置的角度大小的形式;度分秒、度、弧度间的相互转换的方法;定义运算符号(加、减)方法,使得角度类能够像一种普通的数据类型样的方便使用;用设计好的角度类重新编写后方交会定点程序。

相关文档
最新文档