测绘程序实验报告

合集下载

测绘程序设计实习报告

测绘程序设计实习报告

一、实习背景随着我国经济的快速发展,测绘技术在国民经济和社会生活中扮演着越来越重要的角色。

测绘程序设计作为测绘专业的一门重要课程,旨在培养学生的计算机编程能力和测绘数据处理能力。

本次实习是在测绘程序设计课程结束后,为了巩固所学知识,提高实际操作能力而进行的。

二、实习目的1. 熟悉MATLAB软件,掌握其基本操作和编程方法。

2. 学习测绘数据处理方法,提高数据处理能力。

3. 通过实习项目,锻炼编程能力和团队协作能力。

4. 培养严谨的科学态度和良好的职业道德。

三、实习内容本次实习主要分为以下几个部分:1. MATLAB软件学习(1)MATLAB基础操作:了解MATLAB的界面、菜单、命令窗口、工作空间、函数库等。

(2)MATLAB编程基础:掌握MATLAB的数据类型、运算符、控制语句、函数、图形绘制等。

2. 测绘数据处理方法学习(1)坐标转换:学习地理坐标、平面坐标之间的转换方法。

(2)距离测量:掌握距离测量的原理和方法。

(3)角度测量:学习角度测量的原理和方法。

(4)地形分析:了解地形分析的基本原理和方法。

3. 实习项目本次实习项目为“基于MATLAB的测量数据处理与分析”。

具体内容包括:(1)数据导入:将野外实测数据导入MATLAB软件。

(2)坐标转换:将实测数据中的地理坐标转换为平面坐标。

(3)距离测量:计算各测点之间的距离。

(4)角度测量:计算各测点之间的角度。

(5)地形分析:分析地形起伏情况,绘制等高线图。

(6)结果输出:将处理后的数据和分析结果以图表形式输出。

四、实习过程1. 第一阶段:学习MATLAB软件,掌握基本操作和编程方法。

2. 第二阶段:学习测绘数据处理方法,了解坐标转换、距离测量、角度测量、地形分析等原理和方法。

3. 第三阶段:开始实习项目,完成数据导入、坐标转换、距离测量、角度测量、地形分析等工作。

4. 第四阶段:对实习项目进行总结,撰写实习报告。

五、实习成果1. 成功完成实习项目,掌握了测绘数据处理方法。

测绘课程设计实验报告

测绘课程设计实验报告

测绘课程设计实验报告一、教学目标本课程旨在通过学习,使学生掌握测绘学的基本原理和方法,能够熟练使用测绘仪器和软件,具备基本的测绘实践能力。

知识目标上,要求学生了解测绘学的基本概念、测量原理和数据处理方法;技能目标上,要求学生能够操作和使用测绘仪器,进行实地测量和数据处理;情感态度价值观目标上,培养学生对测绘工作的兴趣和责任感,认识测绘工作在国民经济和社会发展中的重要性。

二、教学内容教学内容主要包括测绘学的基本概念、测量原理、数据处理方法和测绘实践。

具体包括:测绘学的基本概念,如地图、测量、定位等;测量原理,如角度测量、距离测量、高程测量等;数据处理方法,如数据平差、坐标转换、地图绘制等;测绘实践,如实地测量、数据处理、成果输出等。

三、教学方法教学方法采用讲授法、讨论法、实验法相结合。

讲授法用于讲解测绘学的基本概念和原理;讨论法用于探讨测绘工作中的实际问题;实验法用于实地测量和数据处理实践。

通过多样化教学方法,激发学生的学习兴趣和主动性,提高学生的实践能力。

四、教学资源教学资源包括教材、实验设备、多媒体资料等。

教材选用具有权威性和实用性的专业教材,为学生提供系统的理论知识;实验设备包括测绘仪器和计算机,用于学生实地操作和实践;多媒体资料包括教学课件、视频等,用于辅助教学,丰富学生的学习体验。

五、教学评估本课程的评估方式包括平时表现、作业、考试等。

平时表现主要评估学生的课堂参与和讨论积极性;作业分为练习题和项目报告,评估学生对知识的理解和应用能力;考试为闭卷考试,评估学生的知识掌握和运用能力。

评估方式客观、公正,全面反映学生的学习成果。

六、教学安排教学安排规定了教学进度、教学时间和教学地点等。

本课程共安排32课时,每周2课时,共计16周完成。

教学时间安排合理、紧凑,确保在有限的时间内完成教学任务。

教学地点选在教室和实验室,方便学生进行实地操作和实践。

七、差异化教学根据学生的不同学习风格、兴趣和能力水平,本课程设计了差异化的教学活动和评估方式。

测绘程序设计实验报告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项目的整个流程。

测绘程序设计实习报告

测绘程序设计实习报告

测绘程序设计实习报告一、实习背景及目的随着科技的不断发展,测绘领域逐渐融入了越来越多的计算机技术,测绘程序设计成为了一项重要的工作。

本次实习旨在让我们了解测绘程序设计的基本流程,掌握测绘程序设计的方法和技巧,提高我们的实际操作能力。

二、实习内容及过程1. 实习内容本次实习主要分为以下几个部分:(1) 熟悉测绘程序设计的基本原理和流程;(2) 学习测绘程序设计的相关软件;(3) 参与实际测绘项目,进行程序设计和调试;(4) 撰写测绘程序设计实习报告。

2. 实习过程(1) 基本原理学习在实习开始阶段,我们首先学习了测绘程序设计的基本原理,包括测绘数据采集、数据处理、图形绘制等。

通过学习,我们了解了测绘程序设计的核心内容和方法。

(2) 软件学习为了更好地进行测绘程序设计,我们学习了AutoCAD、MapGIS、ArcGIS等软件。

这些软件为我们进行测绘程序设计提供了强大的支持,使我们能够更加高效地完成实习任务。

(3) 实际项目参与在掌握了基本原理和软件操作后,我们参与了实际的测绘项目。

项目中,我们负责进行数据处理、图形绘制等工作,通过实际操作,我们深入了解了测绘程序设计的具体应用。

(4) 实习报告撰写在实习结束后,我们根据实习过程中的经验和收获,撰写了测绘程序设计实习报告。

报告中,我们总结了实习过程中遇到的问题及解决方法,并对自己的实习成果进行了分析。

三、实习收获及体会通过本次实习,我们收获了以下几点:1. 掌握了测绘程序设计的基本原理和方法;2. 熟悉了测绘程序设计的相关软件,提高了实际操作能力;3. 了解了测绘程序设计在实际项目中的应用;4. 培养了团队协作能力和解决问题的能力。

同时,我们认识到测绘程序设计不仅需要理论知识,更需要实践操作。

在实习过程中,我们要善于发现问题、解决问题,不断提高自己的实际操作能力。

此外,我们还应注重学习最新的测绘技术和软件,紧跟科技发展的步伐,为我国的测绘事业做出贡献。

测绘程序实验报告

测绘程序实验报告

实验1 Visual C++.Net环境和程序设计初步1.掌握VC++.net 语言的基本语法;2.理解顺序结构、选择结构和循环结构程序设计的特点及应用;3.掌握对基于对话框的MFC 应用程序设计方法;4.掌握一些简单算法。

5.编写一个方位角计算程序。

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

设计思路:在按钮下面添加程序。

X Y同时大于0在第一象限,方位角等于arctan(y/x);X>0,Y<0在第二象限,方位角等于arctan(y/x)+90;X<0,Y<0在第三象限,方位角等于arctan(y/x)+180;X<0,Y>0在第四象限,方位角等于arctan(y/x)+270;界面设计:主要代码:// 0145110615 ymh 2.1Dlg.h : 头文件protected:HICON m_hIcon;// 生成的消息映射函数virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();DECLARE_MESSAGE_MAP()public:double x;double y;double Q;afx_msg void OnBnClickedOk();afx_msg void OnBnClickedCancel();afx_msg void OnBnClickedButton1();double A;};// 0145110615 ymh 2.1Dlg.cpp : 实现文件#include"stdafx.h"#include"0145110615 ymh 2.1.h"#include"0145110615 ymh 2.1Dlg.h"#include<math.h>#ifdef _DEBUG#define new DEBUG_NEW#endifvoid CMy0145110615ymh21Dlg::OnBnClickedOk()//计算{// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);if(x>0){if(y>0){Q=1;A=atan(y/x);}//x大于y大于在第一象限else{Q=4;A=atan(y/x)+270;}//x大于y小于在第四象限}else if(y>0){Q=2;A=atan(y/x)+90;}//x大于y小于在第二象限else{Q=3;A=atan(y/x)+180;}//x小于y小于在第三象限UpdateData(FALSE);//OnOK();}void CMy0145110615ymh21Dlg::OnBnClickedCancel()//清除{// TODO: 在此添加控件通知处理程序代码UpdateData(true);x=0;y=0;Q=0;A=0;UpdateData(false);}void CMy0145110615ymh21Dlg::OnBnClickedButton1()//退出{// TODO: 在此添加控件通知处理程序代码OnCancel();}运行结果:总结第一次做这个实验的时候真的觉得挺难得可是当我经过更难的实验的洗礼之后在返回来看它真是顿时亲切了许多,其实当时是对这个软件不了解简单的东西把它想得很复杂绕来绕去都不知道该怎么实现一些很简单的东西了。

测绘工程实习实验报告

测绘工程实习实验报告

一、实习目的本次测绘工程实习实验旨在通过实际操作,巩固和加深课堂所学理论知识,掌握测绘工程中常用的仪器设备操作方法,提高测量数据的准确性,培养实际工作能力和团队协作精神。

二、实习时间与地点实习时间:2023年X月X日至2023年X月X日实习地点:XX测绘工程实训基地三、实习内容1. 水准测量- 使用S3水准仪进行水准测量,掌握水准测量的基本原理和操作步骤。

- 通过水准测量,了解高程控制网的建立和测量方法。

2. 经纬仪测量- 使用J6经纬仪进行角度测量,掌握角度测量的基本原理和操作步骤。

- 通过经纬仪测量,了解平面控制网的建立和测量方法。

3. 全站仪测量- 使用徕卡307、徕卡407、尼康全站仪进行全站仪测量,掌握全站仪的基本原理和操作步骤。

- 通过全站仪测量,了解地形测量和工程测量的基本方法。

4. 地形图绘制- 学习地形图的绘制方法,包括草图绘制和计算机绘图。

- 通过绘制地形图,提高绘图能力和对地形地貌的认识。

四、实习过程1. 水准测量- 在实习基地,按照水准测量的要求,进行水准点的布设和水准测量。

- 在测量过程中,注意仪器的稳定性、读数的准确性以及水准尺的垂直度。

2. 经纬仪测量- 在实习基地,按照经纬仪测量的要求,进行角度测量。

- 在测量过程中,注意仪器的水平度、读数的准确性以及照准目标的清晰度。

3. 全站仪测量- 在实习基地,按照全站仪测量的要求,进行全站仪测量。

- 在测量过程中,注意仪器的稳定性、读数的准确性以及目标照准的准确性。

4. 地形图绘制- 在实习基地,根据实际测量数据,进行地形图的绘制。

- 在绘图过程中,注意地形图的准确性、清晰度和美观性。

五、实习成果1. 水准测量- 成功完成水准点的布设和水准测量,测量结果准确可靠。

2. 经纬仪测量- 成功完成角度测量,测量结果准确可靠。

3. 全站仪测量- 成功完成全站仪测量,测量结果准确可靠。

4. 地形图绘制- 成功绘制地形图,地形图准确、清晰、美观。

测绘工程实验报告范文(3篇)

测绘工程实验报告范文(3篇)

第1篇一、实验目的1. 熟悉测绘工程的基本原理和方法。

2. 掌握水准测量、全站仪测量等基本测量技术的操作流程。

3. 培养实验操作能力和数据处理能力。

4. 提高对测绘工程实际应用的认识。

二、实验原理测绘工程是一门综合性学科,涉及测量学、地图学、地理信息系统等多个领域。

本实验主要涉及水准测量和全站仪测量两种技术。

1. 水准测量:利用水准仪和水准尺,根据重力作用下的水平面原理,测量两点间的高差,从而确定地面的高程。

2. 全站仪测量:利用全站仪,通过光电测距和角度测量,实现对目标点的三维坐标的测量。

三、实验仪器与设备1. 水准仪:用于水准测量,测量两点间的高差。

2. 水准尺:用于水准测量,读取水准仪的读数。

3. 全站仪:用于全站仪测量,测量目标点的三维坐标。

4. 反光棱镜:用于全站仪测量,反射全站仪发出的光束。

5. 计算器:用于数据处理。

四、实验步骤1. 水准测量(1)将水准仪放置在测站上,调整仪器至水平。

(2)将水准尺置于前视点,读取水准尺的读数。

(3)将水准尺移至后视点,读取水准尺的读数。

(4)计算前后视点的高差。

2. 全站仪测量(1)将全站仪对准目标点,调整仪器至水平。

(2)打开全站仪,设置测量模式。

(3)测量目标点的水平角度和垂直角度。

(4)利用全站仪的光电测距功能,测量目标点到全站仪的距离。

(5)根据测量数据,计算目标点的三维坐标。

五、实验数据1. 水准测量数据测站:A前视点:B后视点:C前视点读数:1.234后视点读数:1.567高差:0.3332. 全站仪测量数据目标点:D水平角度:23.45°垂直角度:45.67°距离:123.45m三维坐标:X=100.00m,Y=200.00m,Z=300.00m六、数据处理与分析1. 水准测量数据处理根据水准测量数据,计算A、B两点间的高差为0.333m。

2. 全站仪测量数据处理根据全站仪测量数据,计算目标点D的三维坐标为X=100.00m,Y=200.00m,Z=300.00m。

测绘程序设计(VS2008)实验报告--水准网平差程

测绘程序设计(VS2008)实验报告--水准网平差程

《测绘程序设计()》上机实验报告(Visual C++.Net)班级:学号:姓名:序号:二零一一年五月实验8 平差程序设计基础1.实验目的:1.1 巩固过程的定义与调用;1.2 巩固类的创建于使用;1.3 巩固间接平差模型与平差计算;1.4 掌握平差程序设计的基本技巧与步骤。

2.实验内容:水准网平差程序设计。

设计一个水准网平差的程序,要求数据从文件中读取。

计算部分也界面无关。

3.设计思路:在本次的实验中,我着重想表现的是一种面向对象的编程思想。

于是,在程序中我设计了4个类:CPoint、CObserve、CMatrix、Leveling,分别定义点的属性、观测数据属性、矩阵和水准网平差计算的属性与方法。

水准网平差计算一般步骤为:(1)读取观测数据和已知数据;(2)计算未知点高程近似值;(3)列高差观测值误差方程;(4)根据水准路线长度计算高差观测值的权;(5)组成法方程;(6)解法方程,求得未知点高程改正数及平差后高程值;(7)求高差观测值残差及平差后高差观测值;(8)精度评定;(9)输出平差结果。

水准网高程近似值计算算法4.界面设计:仅添加了一个button按钮,单击后读取数据,并进行水准网平差计算,计算结果保存在记事本中5.主要代码:文件一: CPoint.h代码:class ControlPoint{public:ControlPoint(void){};~ControlPoint(void){};public:CString pointID; //点号double H; //高程};class CObserve{public:CObserve(void){};~CObserve(void){};public:ControlPoint *pStartObs; //后视点ControlPoint *pEndObs; //前视点double h; //路线长度double dDist; //高差};文件二:Leveling.h代码:#pragma once#include"CPoint.h"#include"Matrix.h"class Leveling{public:Leveling(void);~Leveling(void);private:ControlPoint *m_pKnownPoint; //已知点数组int m_iKnownPointCount; //已知点个数ControlPoint *m_pUnknownPoint; //待测点数组int m_iUnknownPointCount; //待测点个数CObserve *m_pObsData; //观测数据数组int m_iObsDataCount; //观测数据个数public:bool LoadData(const CString &FileName); //从文件中导入数据void OutMatrixToFile(const CMatrix& mat,CStdioFile& SF); //把矩阵输出到文件中void SetKownPointSize(int n); //设置已知点数据大小void SetUnknownPointSize(int n);void SetObsDataSize(int n);CString* SplitString(CString str , char split, int iSubStrs); //分割字符串public://根据点号从已知点数组中找到控制点,并返回该点的指针ControlPoint* SearchKnownPointUsingID(CString pointID);//根据点号从未知点数组中找到控制点,并返回该点的指针ControlPoint* SearchUnknownPointUsingID(CString pointID);//根据点号从未知点和已知点数组中找到控制点,并返回该点的指针ControlPoint* SearchPointUsingID(CString pointID);void ComputeApproximateH(void); //求待测点高差近似值public://组成误差方程,B 为系数矩阵,f为常数项向量void FormErrorEquations(CMatrix& B, CMatrix& f);void Weight(CMatrix& P); //求高差观测值的权阵void IndirectlyAdjust(const CString& strFileName);//间接平差计算主函数};文件三:Leveling.cpp代码:#include"StdAfx.h"#include"Leveling.h"#include"math.h"#include<locale.h>Leveling::Leveling(void){m_pKnownPoint=NULL;m_iKnownPointCount=0;m_pUnknownPoint=NULL;m_iUnknownPointCount=0;m_pObsData=NULL;m_iObsDataCount=0;}Leveling::~Leveling(void){//释放动态数组内存if(m_pUnknownPoint!=NULL){delete[] m_pUnknownPoint;m_pUnknownPoint=NULL;}if(m_pKnownPoint!=NULL){delete[] m_pKnownPoint;m_pKnownPoint=NULL;}if(m_pObsData!=NULL){delete[] m_pObsData;m_pObsData=NULL;}}bool Leveling::LoadData(const CString &FileName){CStdioFile sf; //创建文件对象//以读的形式打开文件,如果打开失败则返回if(!sf.Open(FileName, CFile::modeRead)) return false;CString strLine;BOOL bEOF=sf.ReadString(strLine);//读取第一行,已知点数m_iKnownPointCount= _ttoi((strLine)); //把读取的第一行字符串转换为数值型SetKownPointSize(m_iKnownPointCount);//设置已知点数组大小int n=0;//读取并保存已知点数据for(int i=0;i<m_iKnownPointCount;i++){sf.ReadString(strLine);CString *pstrData=SplitString(strLine,',',n);m_pKnownPoint[i].pointID=pstrData[0];m_pKnownPoint[i].H=_tstof(pstrData[1]);delete[] pstrData;pstrData=NULL;}//开始读取未知知点数据sf.ReadString(strLine);//未知点个数m_iUnknownPointCount= _ttoi((strLine));SetUnknownPointSize(m_iUnknownPointCount); //设置未知点数组大小sf.ReadString(strLine);//未知点点号//读取并保存未知点数据CString *pstrData=SplitString(strLine,',',n);for(int i=0;i<m_iUnknownPointCount;i++){m_pUnknownPoint[i].pointID=pstrData[i];m_pUnknownPoint[i].H=0;}delete[] pstrData;pstrData=NULL;//开始读取观测数据个数sf.ReadString(strLine);//观测数个数m_iObsDataCount= _ttoi((strLine));SetObsDataSize(m_iObsDataCount);//读取并保存观测数据for(int i=0;i<m_iObsDataCount;i++){sf.ReadString(strLine);CString *pstrData=SplitString(strLine,',',n);m_pObsData[i].pStartObs=SearchPointUsingID(pstrData[0]);m_pObsData[i].pEndObs=SearchPointUsingID(pstrData[1]);m_pObsData[i].h=_tstof(pstrData[2]);m_pObsData[i].dDist=_tstof(pstrData[3]);delete[] pstrData;pstrData=NULL;}sf.Close();return true;}void Leveling::SetKownPointSize(int n){m_iKnownPointCount=n;m_pKnownPoint=new ControlPoint[n];}void Leveling::SetUnknownPointSize(int n){m_iUnknownPointCount=n;m_pUnknownPoint=new ControlPoint[n];}void Leveling::SetObsDataSize(int n){m_iObsDataCount=n;m_pObsData=new CObserve[n];}//字符串分割函数CString* Leveling::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;}//根据点号从已知点数组中找到控制点,并返回该点的指针ControlPoint* Leveling::SearchKnownPointUsingID(CString pointID) {for(int i=0;i<m_iKnownPointCount;i++){if(pointID==m_pKnownPoint[i].pointID){return &m_pKnownPoint[i];}}return NULL;}//根据点号从未知点数组中找到控制点,并返回该点的指针ControlPoint* Leveling::SearchUnknownPointUsingID(CString pointID) {for(int i=0;i<m_iUnknownPointCount;i++){if(pointID==m_pUnknownPoint[i].pointID){return &m_pUnknownPoint[i];}}return NULL;}//根据点号从未知点和已知点数组中找到控制点,并返回该点的指针ControlPoint* Leveling::SearchPointUsingID(CString pointID){ControlPoint* pCP=NULL;pCP=SearchKnownPointUsingID(pointID);if(pCP==NULL){pCP=SearchUnknownPointUsingID(pointID);}return pCP;}void Leveling::ComputeApproximateH(void) //求待测点近似高程{for(int i=0;i<m_iUnknownPointCount;i++){if(m_pUnknownPoint[i].H!=0)continue;for(int j=0;j<m_iObsDataCount;j++){if(m_pUnknownPoint[i].pointID==m_pObsData[j].pStartObs->pointID&&m_pObsData[j].pEndObs->H>0)m_pUnknownPoint[i].H=m_pObsData[j].pEndObs->H-m_pObsData[j].h;elseif(m_pUnknownPoint[i].pointID==m_pObsData[j].pEndObs->pointID&&m_pObsData[j].pStartObs->H>0)m_pUnknownPoint[i].H=m_pObsData[j].pStartObs->H+m_pObsData[j].h;}}}void Leveling::FormErrorEquations(CMatrix& B, CMatrix& f){B.SetSize(m_iObsDataCount, m_iUnknownPointCount);f.SetSize(m_iObsDataCount, 1);//计算系数阵for(int i=0;i<m_iObsDataCount;i++)for(int j=0;j<m_iUnknownPointCount;j++){if(m_pObsData[i].pStartObs->pointID==m_pUnknownPoint[j].pointID) B(i,j)=-1;if(m_pObsData[i].pEndObs->pointID==m_pUnknownPoint[j].pointID)B(i,j)=1;}//计算常数阵for(int i=0;i<m_iObsDataCount;i++)f(i,0)=m_pObsData[i].h-(m_pObsData[i].pEndObs->H-m_pObsData[i].pStartObs->H);}void Leveling::Weight(CMatrix& P) //计算权阵{P.SetSize(m_iObsDataCount,m_iObsDataCount);for(int i=0;i<m_iObsDataCount;i++)for(int j=0;j<m_iObsDataCount;j++){if(i==j)P(i,j)=1.0/m_pObsData[i].dDist;}}void Leveling::IndirectlyAdjust(const CString& strFileName){//使用最小二乘法计算平差值//NBB=BT*P*BCMatrix B; //系数矩阵CMatrix BT; //B的转置矩阵CMatrix NBB; //NBBCMatrix invNbb; //NBB逆阵CMatrix W; //W=BT*P*fCMatrix f; //常数项矩阵CMatrix P; //权阵CMatrix x; //近似值改正项矩阵CMatrix V; //改正项矩阵CMatrix Omiga; //方差CMatrix X; //平差值ComputeApproximateH();FormErrorEquations(B,f); //系数阵Weight(P); //权阵BT=~B; //B的转置矩阵NBB=BT*P*B;invNbb=NBB.Inv();; //NBB逆阵W=BT*P*f;x=invNbb*W;X.SetSize(m_iUnknownPointCount,1);for(int i=0;i<m_iUnknownPointCount;i++){X(i,0)=m_pUnknownPoint[i].H+x(i,0);}//精度评定V=B*x-f;//开始输出间接平差的结果CStdioFile SF;CString strLine;setlocale(LC_ALL,"");if(!SF.Open(strFileName, CFile::modeCreate|CFile::modeWrite)) return;//开始写数据SF.WriteString(_T("----------水准网间接平差结果----------\n"));//写已知点数据strLine.Format(_T("已知点个数:%d\n"),m_iKnownPointCount);SF.WriteString(strLine);for(int i=0;i<m_iKnownPointCount;i++){strLine.Format(_T("%s,%4f\n"),m_pKnownPoint[i].pointID,m_pKnownPoint[i].H);SF.WriteString(strLine);}//待测点平差值strLine.Format(_T("待测点个数:%d\n"),m_iUnknownPointCount);SF.WriteString(strLine);strLine.Format(_T("平差结果:\n"));SF.WriteString(strLine);for(int i=0;i<m_iUnknownPointCount;i++){strLine.Format(_T("%s,%4f\n"),m_pUnknownPoint[i].pointID,X(i,0));SF.WriteString(strLine);}//输出系数阵和常数项SF.WriteString(_T("B矩阵:\r\n"));OutMatrixToFile(B,SF);//输出权矩阵SF.WriteString(_T("\r\nP矩阵(对角阵):\r\n"));OutMatrixToFile(P,SF);SF.WriteString(_T("高差改正数x(mm):\r\n"));OutMatrixToFile(x,SF);SF.WriteString(_T("NBB矩阵:\r\n"));OutMatrixToFile(NBB,SF);SF.WriteString(_T("NBB矩阵的逆矩阵:\r\n"));OutMatrixToFile(invNbb,SF);SF.WriteString(_T("W矩阵:\r\n"));OutMatrixToFile(W,SF);//输出观测值残差SF.WriteString(_T("观测值残差(mm):\r\n"));OutMatrixToFile(V,SF);//计算单位权中误差,并输出Omiga=~V*P*V;double Sigma;Sigma = sqrt(Omiga(0, 0) / (m_iObsDataCount - m_iUnknownPointCount));strLine.Format(_T("单位权中误差(mm):%.4f\r\n"),Sigma);SF.WriteString(strLine);double Qx;SF.WriteString(_T("点位误差(mm):\r\n"));for(int i=0;i<invNbb.Row();i++){Qx=sqrt(invNbb(i,i))*Sigma;strLine.Format(_T("%.4f "),Qx);SF.WriteString(strLine);}SF.WriteString(_T("\r\n"));SF.Close();}//把矩阵输出到文件中void Leveling::OutMatrixToFile(const CMatrix& mat,CStdioFile& SF){CString strLine,strTmp;for(int i=0;i<mat.Row();i++){strLine.Empty();for(int j=0;j<mat.Col();j++){strTmp.Format(_T("%.4f "),mat(i,j));strLine=strLine+strTmp;}SF.WriteString(strLine+_T("\r\n"));}}文件四:Matrix.h代码:#pragma onceclass CMatrix{public:CMatrix(int row=3,int col=3);// copy constructorCMatrix (const CMatrix& m);~CMatrix(void);private:double **dMatData;//保存矩阵元素数据的二维数组int iRow;//矩阵的行int iCol;//矩阵的列public:int Row() const {return iRow;}//返回行int Col() const {return iCol;}//返回列void SetSize (int row, int col);//调整数组的大小,原有数据不变(未测试)double& operator () (int row, int col);//获取矩阵元素double operator() (int row, int col) const;//重载获取矩阵元素函数,只有const 对象能访问CMatrix& operator = (const CMatrix& m) ;//注意:友元函数并不是类自己的成员函数friend CMatrix operator + (const CMatrix& m1,const CMatrix& m2);friend CMatrix operator - (const CMatrix& m1,const CMatrix& m2);friend CMatrix operator * (const CMatrix& m1,const CMatrix& m2);friend CMatrix operator * (const double& num, const CMatrix& m1);friend CMatrix operator * (const CMatrix& m1,const double& num);friend CMatrix operator ~ (const CMatrix& m);//矩阵转置CMatrix Inv();//矩阵求逆void Unit();//生成单位矩阵};文件五:LevelingAdjustDlg.cpp代码:void CLevelingAdjustDlg::OnBnClickedButton2(){// TODO: 在此添加控件通知处理程序代码CFileDialog dlgFile(TRUE,_T("txt"),NULL,OFN_EXPLORER,_T("(文本文件)|*.txt")); //创建打开文件对话框if(dlgFile.DoModal()==IDCANCEL) return;//如果选择取消按钮,则退出CString strFileName=dlgFile.GetPathName();//获取选择的文件的名称Leveling ST;ST.LoadData(strFileName);ST.IndirectlyAdjust(_T("IndirectlyAdjustResult.txt"));MessageBox(_T("计算完毕!\r\n结果保存在Result.txt文件中!"));ShellExecute(this->m_hWnd,_T("open"),_T("notepad.exe"),_T("IndirectlyAdjustResult.txt"),_T(""),SW_SHOW );}6.运行结果:实验的运行结果如下图所示:8.实验总结这次的实验让我对于面对对象的编程思想有了进一步的理解。

测绘程序设计基础实验报告【范本模板】

测绘程序设计基础实验报告【范本模板】

《测绘程序设计()》上机实验报告(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编程,不过时隔两年,也陌生了不少。

测绘程序设计实验报告python

测绘程序设计实验报告python

测绘程序设计实验报告python 实验目的:学习如何使用Python语言编程实现测绘程序设计。

实验内容:1.设计测量平面图的程序2.实现坐标转换功能3.计算计算两点之间的距离实验步骤:1. 使用Pycharm等Python开发工具新建一个python文件2. 导入所需的模块:numpy、math3. 定义函数,实现程序的功能代码如下:1. 设计测量平面图的程序def map_design():print("请输入地图缩放比例:")scale = float(input())print("请输入地图的长度和宽度(m):")length = float(input())width = float(input())area = length * width * scale * scaleprint("地图的面积是:", area, "平方米")2. 实现坐标转换功能def coords_convert():print("请输入原坐标系的坐标(x, y):")x1 = float(input())y1 = float(input())print("请输入目标坐标系的坐标系数(a, b):")a = float(input())b = float(input())x2 = a * x1y2 = b * y1print("转换后的坐标(x, y)为:", x2, y2)3. 计算计算两点之间的距离def distance_calc():print("请输入起始点和结束点的坐标(x1, y1, x2, y2):")x1 = float(input())y1 = float(input())x2 = float(input())y2 = float(input())distance = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)print("两点之间的距离为:", distance, "米")4. 主函数,用于调用其他函数def main():print("***欢迎使用测绘程序设计***")print("请选择要进行的操作:")print("1. 设计测量平面图的程序")print("2. 实现坐标转换功能")print("3. 计算两点之间的距离")choice = int(input())if choice == 1:map_design()elif choice == 2:coords_convert()elif choice == 3:distance_calc()else:print("输入错误,请重新输入")if __name__ == '__main__':main()实验总结:通过这个Python编程实验,我学到了如何使用Python语言编程实现测绘程序设计。

测绘程序设计实习报告

测绘程序设计实习报告

测量程序设计实习报告:XX班级:XXXX学号:XXXX教师评语:实验名称:使用C#开发环境建立测量程序框架一、实验的目的与任务:(1)学会用C#窗体程序开发环境建立应用程序框架方法(2)学会使用常见的Windows控件(3)根据自身需要设计一个测量程序界面二、实验的过程与步骤:1、首先打开visual studio 2010,选择文件→新建→项目。

在弹出的对话框中右栏一侧选择windows窗体应用。

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

2、拖动menuSctrip控件到主窗体,并且键入“文件”、“工具”两个选项,在“文件”下添加一个“打开”选项;在“工具”下添加“近似平差计算”、“高斯消元”两个选项。

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

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

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

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

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

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

实验名称:导线计算程序设计及粗差探测一、实验的目的与任务:(1) 掌握方位角计算的程序设计方法(2)掌握符合导线、闭合导线、支导线计算的程序设计方法(3)理解粗差探测的程序设计方法二、实验的设计与开发步骤:1、考虑到在测量时所用的角度均为度分秒,而在c#计算时只是别度分秒,因此先设计两个函数,可以将度分秒和弧度制进行转化。

2、其次先写一个point 类,包含x ,y 两个成员变量,然后在设计一个方位角函数,用两个point 类当作形参传递进去,根据方位角计算公式παk xy +∆∆=arctan ,(根据象限角和方位角关系对k 进行调节)应该分为四种情况,但是考虑到分母不为0,因此应该在加一种情况,即导线与y 轴重合。

最新测绘程序设计实验报告

最新测绘程序设计实验报告

最新测绘程序设计实验报告实验目的:本实验旨在通过设计和实现最新的测绘程序,提高学生对测绘技术和程序设计的理解,同时培养学生的编程能力和解决实际问题的能力。

通过实验,学生将学习到如何运用现代测绘方法和编程技巧,有效地处理地理信息数据,并生成精确的地图。

实验内容:1. 测绘数据采集:使用全球定位系统(GPS)和遥感技术收集地理信息数据。

2. 数据处理与分析:利用地理信息系统(GIS)软件对采集的数据进行处理和分析,包括数据清洗、格式转换和误差分析。

3. 程序设计:基于Python或C++等编程语言,设计测绘程序,实现数据的自动化处理和地图的生成。

4. 地图生成:通过编写的程序,生成二维或三维地图,并进行可视化展示。

5. 实验评估:对生成的地图精度和程序性能进行评估,提出改进意见。

实验步骤:1. 确定实验目标和所需数据类型。

2. 选择合适的测绘工具和GIS软件。

3. 设计程序架构,编写程序代码。

4. 运行程序,输入测绘数据,进行数据处理。

5. 生成地图,并对地图进行校验和修正。

6. 撰写实验报告,总结实验过程和结果。

实验结果:通过本次实验,成功设计并实现了一个测绘程序。

该程序能够自动处理GPS和遥感数据,生成精确的地图。

实验中发现,程序在处理大规模数据时效率较高,但在数据清洗阶段需要进一步优化以提高准确性。

生成的地图清晰度高,满足了实验的基本要求。

结论:本次实验验证了所设计测绘程序的有效性,通过实际应用,程序能够满足基本的测绘需求。

未来的工作将集中在提高程序的数据处理能力和用户交互体验上,以适应更复杂的测绘任务。

此外,还需探索如何将人工智能技术集成到测绘程序中,进一步提升地图生成的智能化水平。

测绘工程的实验报告

测绘工程的实验报告

一、实验名称测绘工程实验二、实验目的1. 理解测绘工程的基本原理和方法。

2. 掌握测绘仪器的操作与使用。

3. 培养实际操作能力和团队协作精神。

4. 提高对工程测量数据的分析和处理能力。

三、实验时间2023年X月X日四、实验地点XX测绘实验室五、实验器材1. 全站仪一台2. 水准仪一台3. 三脚架一个4. 皮尺一把5. 钩爪一把6. 绘图工具一套7. 实验记录本一本六、实验内容1. 控制测量(1)水准测量:使用水准仪测量已知点与未知点之间的高差,计算未知点的高程。

(2)角度测量:使用全站仪测量测站之间的水平角和垂直角。

2. 地形测量(1)地形点测量:使用全站仪测量地形点平面坐标和高程。

(2)地形图绘制:根据测量数据绘制比例尺为1:1000的地形图。

3. 工程放样(1)根据设计图纸,使用全站仪进行工程放样。

(2)测量放样点坐标,检查放样精度。

七、实验步骤1. 控制测量(1)水准测量:设置水准仪,将水准尺放置在已知点A上,读取水准尺读数a;将水准尺放置在未知点B上,读取水准尺读数b。

计算高差h = b - a,并根据已知点A的高程计算未知点B的高程。

(2)角度测量:设置全站仪,对测站进行对准,测量水平角和垂直角。

2. 地形测量(1)地形点测量:设置全站仪,对测站进行对准,测量地形点平面坐标和高程。

(2)地形图绘制:根据测量数据,使用绘图工具绘制比例尺为1:1000的地形图。

3. 工程放样(1)根据设计图纸,使用全站仪进行工程放样。

(2)测量放样点坐标,检查放样精度。

八、实验结果与分析1. 控制测量结果(1)水准测量:高差h = b - a = 2.345m,未知点B的高程Hb = Ha + h = 35.678m。

(2)角度测量:水平角α = 23.45°,垂直角β = 67.89°。

2. 地形测量结果(1)地形点测量:测得地形点平面坐标为(X1, Y1),高程为H1。

(2)地形图绘制:根据测量数据,绘制比例尺为1:1000的地形图。

测绘程序设计实验报告

测绘程序设计实验报告

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

测绘程序设计(VS2019)实验报告--文件操作word资料6页

测绘程序设计(VS2019)实验报告--文件操作word资料6页

《测绘程序设计(VC)》上机实验报告(Visual C++)实验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 pointPOINTint 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. 熟悉测绘仪器的操作方法和使用技巧;3. 培养团队合作精神和实践能力;4. 加深对测绘工程应用的理解。

二、实验仪器与设备1. 全站仪一台;2. 钢尺一把;3. 三脚架一个;4. 坐标纸若干;5. 实验记录本一本。

三、实验内容与步骤1. 实验地点:学校测绘实验室2. 实验步骤:(1)了解实验目的、原理及注意事项。

(2)熟悉全站仪的操作方法和使用技巧。

(3)测量实验场地控制点坐标。

(4)绘制实验场地平面图。

(5)进行高程测量。

(6)整理实验数据,分析误差来源。

四、实验结果与分析1. 控制点坐标测量结果(1)A点坐标:X=100.123,Y=200.456,Z=30.789;(2)B点坐标:X=150.789,Y=250.123,Z=40.567;(3)C点坐标:X=200.123,Y=300.456,Z=50.789。

2. 平面图绘制结果根据控制点坐标,绘制实验场地平面图,标注各控制点及测量点。

3. 高程测量结果(1)A点高程:30.789m;(2)B点高程:40.567m;(3)C点高程:50.789m。

4. 误差分析(1)仪器误差:全站仪本身的精度对实验结果有一定影响;(2)操作误差:操作者对仪器的操作熟练程度、观测时间等因素对实验结果有一定影响;(3)环境误差:实验场地周围环境对实验结果有一定影响。

五、实验总结1. 通过本次实验,掌握了测绘基本原理和基本技能,熟悉了全站仪的操作方法和使用技巧;2. 培养了团队合作精神和实践能力,提高了对测绘工程应用的理解;3. 认识到实验过程中存在的误差来源,为今后进一步提高实验精度提供参考。

六、实验建议1. 在实验过程中,应严格按照操作规程进行操作,确保实验数据准确可靠;2. 提高实验者的观测技能,减少人为误差;3. 注意实验场地周围环境对实验结果的影响,选择合适的实验场地进行实验。

测绘类实习报告7篇

测绘类实习报告7篇

测绘类实习报告7篇测绘类实习报告篇1一、测绘人员__X __X __X __ __ __二、测绘时间.6.27-.7.8三、测绘目的1、培养理论联系实际的正确的设计思想,训练综合运用已经学过的理论和生产实际知识去分析和解决实际问题的能力;2、学习机械设计的一般方法,了解和掌握常用机械零件、传动装置或简单机械的设计过程和进行方式;3、进行基本技能训练,包括测量、绘图(手工绘制装配图和零件图)、计算、CAD;运用设计资料、手册和规范及使用经验数据进行经验估算和处理数据等。

四、测绘对象一级圆柱齿轮减速器五、测绘工具直尺、游标卡尺六、测绘内容1、零件测绘2、装配图设计第一阶段(1)装配图设计的准备(2)有关零部件结构和尺寸的确定3、装配图设计第二阶段(1)传动零件结构设计(2)轴承端盖结构(3)轴承的密封与润滑4、装配图设计第三阶段(1)圆柱齿轮减速器机体的设计(2)减速器附件的设计5、完成减速器装配图6、零件图的设计七、测绘心得装配体测绘实习心得为提高我们10级机械专业学生的专业素质和动手的能力,并将理论知识与实践经验相结合,深化用理论去指导实践,用实践去理解理论的马克思辨证唯物主义法。

学校安排了为期两周的专业实习,实习内容为对一级减速器的测绘及画出图纸。

在此次实习中我学到了很多。

首先,这次实习提高我们机械专业素质和动手的能力,并将理论知识与实践经验相结合。

经过这次实习,巩固、扩大和加深了我从课堂上所学的理论知识,掌握了机械制图cad等基本操作,并达到了一定的熟练程度,而且还有机会学会了装配体图的绘制方法。

在锻炼大家画草图、运用计算机绘图的能力同时也积累自己的绘图经验和提高自己的绘图速度。

我们不仅从此次专业实习中获得了测量以及绘制等实际工作的初步经验和基本技能,还培养了我们的独立工作能力,培养我们发现问题、解决问题的能力,而且进一步熟练了测量仪器的使用技能,提高了数据计算能力和对数据的敏感程度,并对测绘装配体图的全过程有了一个全面和系统的认识,这些知识往往是我在课堂中很少接触、注意的,但又是十分重要、十分基础的知识。

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

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

测绘程序设计基础实验报告1.引言本实验旨在通过测绘程序设计基础实验,加深对测绘程序设计基本概念及其应用的理解。

在实验中,我们将学习如何使用测绘程序设计工具,结合实际测绘数据进行计算、分析和可视化展示。

本报告将详细介绍实验背景、实验过程和实验结果,并总结实验中的收获与体会。

2.实验背景测绘程序设计是测绘工程的重要组成部分,它利用计算机技术和数学方法对大量的测量数据进行处理和分析,以实现对地理信息的精确描述与快速获取。

测绘程序设计的基础是计算机编程和地理测量学知识,因此对编程基础和地理测量学的了解是进行测绘程序设计的前提。

为了培养学生对测绘程序设计的理解和应用能力,本实验将通过设计测绘程序,实现对实际测绘数据的处理和分析。

通过这个实验,我们将进一步了解测绘程序设计的基本原理和实际应用。

3.实验过程3.1 实验准备在开始实验之前,我们需要准备以下工具和材料:•计算机•测绘软件•实验数据3.2 实验步骤1.下载并安装测绘软件,根据官方提供的安装指南完成软件的安装。

2.运行测绘软件,新建一个项目,在项目中导入实验数据。

3.使用测绘软件提供的分析工具,对实验数据进行计算和处理。

4.根据实验要求,设计测绘程序,实现对实验数据的处理和分析。

5.在测绘软件中运行测绘程序,获取处理后的数据。

6.根据实验要求,将处理后的数据可视化展示。

7.完成实验报告,总结实验过程和结果。

3.3 实验注意事项在进行实验过程中,需要注意以下几点:•确保测绘软件和测绘程序的兼容性,避免出现兼容性问题导致实验失败。

•仔细阅读实验要求,确保程序设计符合要求并能够正确处理和分析实验数据。

•注意数据质量和精度,对实验数据进行必要的清洗和校验。

4.实验结果根据实验要求,我们设计了一个测绘程序,用于对实验数据进行处理和分析。

经过运行程序并在测绘软件中查看结果,我们得到了以下实验结果:•处理后的数据结果清晰可见。

•分析结果准确,符合实验要求和设计要求。

基础测绘技能实验报告(3篇)

基础测绘技能实验报告(3篇)

第1篇一、实验目的本次实验旨在使学生掌握基础测绘的基本技能,包括水准测量、经纬仪测量和全站仪测量等。

通过实验,培养学生对测绘仪器的操作熟练度,提高学生在实际测绘工作中的动手能力和实践技能。

二、实验器材1. 水准仪:DS3型微倾式水准仪2. 经纬仪:DJ6型光学经纬仪3. 全站仪:Topcon GT-1024. 水准尺:钢尺5. 三脚架6. 皮尺7. 测钎8. 绘图工具:直尺、圆规、铅笔等三、实验内容1. 水准测量实验(1)实验目的:掌握水准仪的基本操作,学会进行水准点标定、水准路线测量和高差计算。

(2)实验步骤:① 标定水准点:在实验场地选择两个固定点作为水准点,用水准尺分别测量两点的高程,计算出水准点的高程。

② 水准路线测量:按照规定的路线,用水准仪和水准尺进行水准测量,记录各测站的高程。

③ 高差计算:根据各测站的高程,计算出相邻测站之间的高差。

2. 经纬仪测量实验(1)实验目的:掌握经纬仪的基本操作,学会进行角度测量和方位角测量。

(2)实验步骤:① 角度测量:在实验场地选择一个观测点,用经纬仪测量水平角和垂直角。

② 方位角测量:根据水平角和垂直角,计算出观测点的方位角。

3. 全站仪测量实验(1)实验目的:掌握全站仪的基本操作,学会进行坐标测量和距离测量。

(2)实验步骤:① 坐标测量:在实验场地选择一个观测点,用全站仪测量该点的三维坐标。

② 距离测量:在实验场地选择两个观测点,用全站仪测量两点之间的距离。

四、实验结果与分析1. 水准测量实验结果本次实验共测量了3个水准点,测量结果如下:水准点1:高程为3.500m水准点2:高程为3.500m水准点3:高程为3.600m2. 经纬仪测量实验结果本次实验共测量了4个观测点,测量结果如下:观测点1:方位角为45°,水平角为60°,垂直角为30°观测点2:方位角为135°,水平角为90°,垂直角为30°观测点3:方位角为225°,水平角为120°,垂直角为30°观测点4:方位角为315°,水平角为150°,垂直角为30°3. 全站仪测量实验结果本次实验共测量了2个观测点,测量结果如下:观测点1:坐标为(100.000,200.000,50.000)观测点2:坐标为(150.000,300.000,60.000)通过本次实验,学生掌握了水准测量、经纬仪测量和全站仪测量的基本技能,提高了实际测绘工作中的动手能力和实践技能。

测绘实践教学环节报告(3篇)

测绘实践教学环节报告(3篇)

第1篇一、引言测绘学是一门综合性学科,涉及地理信息系统、遥感技术、测量学等多个领域。

实践教学是测绘专业教学的重要组成部分,通过实践教学,学生可以巩固理论知识,提高实际操作能力,培养解决实际问题的能力。

本报告针对测绘实践教学环节,对教学内容、实践过程、存在问题及改进措施进行总结和分析。

二、实践教学环节概述1. 实践教学目的(1)使学生掌握测绘基本理论、基本知识和基本技能;(2)培养学生的实际操作能力,提高解决实际问题的能力;(3)提高学生的综合素质,为将来从事测绘工作打下坚实基础。

2. 实践教学内容(1)测量学基础实验:水准测量、角度测量、距离测量等;(2)地理信息系统实验:GIS基础操作、数据采集与处理、空间分析等;(3)遥感技术实验:遥感图像处理、遥感数据应用等;(4)野外实习:地形测绘、控制测量、工程测量等。

三、实践过程1. 实践教学组织(1)制定实践教学计划,明确实践教学目标和内容;(2)组织学生进行实验、实习等实践活动;(3)对实践教学过程进行监督、指导,确保实践教学效果。

2. 实践教学实施(1)实验课程:教师讲解实验原理、操作步骤,学生进行实验操作,教师进行指导和评价;(2)野外实习:教师带领学生进行实地测量、数据处理等工作,讲解相关知识和技能;(3)课程设计:学生根据所学知识,设计测绘项目,进行实践操作,教师进行指导和评价。

四、存在问题及改进措施1. 存在问题(1)实践教学资源不足:实验室设备陈旧,部分实验课程无法满足实践教学需求;(2)实践教学时间不足:实践教学时间与理论教学时间比例不合理,导致实践教学效果不佳;(3)实践教学评价体系不完善:实践教学评价主要以实验报告和实习报告为主,缺乏对实际操作能力的评价。

2. 改进措施(1)加强实践教学资源建设:更新实验室设备,提高实践教学条件;(2)合理安排实践教学时间:调整理论教学与实践教学时间比例,确保实践教学效果;(3)完善实践教学评价体系:将实际操作能力纳入评价体系,提高评价的全面性和客观性。

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

实验1 Visual C++.Net环境和程序设计初步1.掌握 VC++ 语言的基本语法;2.理解顺序结构、选择结构和循环结构程序设计的特点及应用;3.掌握对基于对话框的 MFC 应用程序设计方法;4.掌握一些简单算法。

5.编写一个方位角计算程序。

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

设计思路:在按钮下面添加程序。

X Y同时大于0在第一象限,方位角等于arctan(y/x);X>0,Y<0在第二象限,方位角等于arctan(y/x)+90;X<0,Y<0在第三象限,方位角等于arctan(y/x)+180;X<0,Y>0在第四象限,方位角等于arctan(y/x)+270;界面设计:主要代码:计同一参考椭球下的三维地心坐标(笛卡儿坐标系)与大地坐标系转换的程序。

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

(WGS84 椭球参数:长半径 a=6378137m,扁率α=1/)设计思路:在按钮下面设置主程序,按照指导书给的思路编辑公式界面设计:主要代码:写一个后方交会计算程序。

基本原理及计算公式若将 Pa、Pb、Pc 看成权,则 P 点的坐标即为三个已知点的加权平均值计算程序设计步骤(1)设计界面,用于输入 3 个已知点的坐标和三个观测角、和,以及用于输出待定点坐标的文本框(12 个)、静态标签框和 Button 按钮;(2)定义文本框控件变量(Value);(3)根据已知点计算三个内角 A、B、C;(4)计算 Tan(α)、Tan(β)、Tan(γ)、Tan(A)、Tan(B)、Tan(C);(5)计算 Pa、Pb、Pc;(6)计算待定点坐标 Xp、Yp。

界面要求:三个坐标输入框,两个角度输入框一个坐标结果输出框一个计算按钮,一个清除按钮,一个退出按钮。

2.由三角形三个边长求内角函数计算公式:设计思路:通过示例编辑框添加变量,在按钮下面添加程序。

先将α、β、的度分秒之转换成度利用三角形内角和等于180算出γ并将γ转换成弧度。

接着计算三角形的内角,判断P点是否在危险圆上若不在则计算P点坐标若在则弹出“该点在危险圆上”。

界面设计:主要代码:protected:HICON m_hIcon;写一个求任意多边形面积的程序。

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

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

动态数组创建动态数组结构体的定义多边形面积计算原理及算法计算原理:面积计算的算法:提示:显示框用 Cedit 控件变量对每个输入的坐标用 CString str 临时变量格式化,然后用 CEdit 的控件变量插入设计思路:将实现写在按钮在下面。

添加顶点下面实现创建动态数组,确认按钮实现返回数组大小值并将添加的数据显示到显示框中去,通过计算按钮实现多边形面积的计算,清除按钮实现清除输入的数据,退出按钮退出程序。

界面设计:主要代码:"#include"05(3)"#ifdef _DEBUG#define new DEBUG_NEW#endifd % lf %lf \r\n"),t,x,y);(str);px[t-1]=x;py[t-1]=y;UpdateData(FALSE);}void CMy073Dlg::OnBnClickedButton5(){掌握面向对象编程基本思想2. 掌握 VC++ 中创建类3. 掌握建立和使用对象4. 掌握运算符号重载5. 理解类的继承和多态性二、实验内容1.设计一个角度类。

要求该类具有度分秒至度的换算、度至度分秒的换算、度与弧度的换算等功能。

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

设计思路:设计一个角度类在类的头文件里申明度到度分秒的转换、度分秒到度的转换、度到弧度的转换、运算符的重载,在类的.cpp文件中写出具体的函数实现,在按钮下面调用类的各个函数来实现角度的转换。

界面设计:主要代码:DECLARE_MESSAGE_MAP()public:double dmstodgree(double dmg);编制简单的 Cass 数据文件进行数据整理的程序。

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

要求整理后的数据按与原始数据文件同样的格式保存为另外一个文件示例数据“民用园燃气.dat”文件数据格式:总点数点号,编码,X,Y,H…例如:要求:a.用SaveFileDialog和OpenFileDialog控件获取文件打开或保存的文件名。

b.自定义一个测量点数据结构体,其元素包括:点号,编码,X,Y,Hc.用文本框显示原始数据和整理后的数据d..按编程规范进行编码a. 读数据、保存数据、判断一个点数据是否已经存在、排序、在文本框中显示文件内容等可以分别定义成一个子过程或函数。

c.编程技巧打开文件获得总点数根据点数调整数组的大逐行读取数据,判断该点是否已经存在数组中,若不存在,则把该数据存放在数组中根据删除重复点后的总点数,重新调整数组大小按点号大小的升序排序按原数据格式输出到另外一个文件设计思路:在按钮下面设置主程序。

通过打开文件按钮将原文件打开并显示到示例编辑框内,通过保存文件按钮实现对文件分行、删除重复点、排序、保存更改后的文件并把它显示到示例编辑框中等操作。

界面设计:主要代码:xt"));at"));umber=_ttoi(strTmp[0]);oder=strTmp[1];pPoint[i].X=_tstof(strTmp[2]);pPoint[i].Y=_tstof(strTmp[3]);pPoint[i].H=_tstof(strTmp[4]);}if(strTmp!=NULL)umber=pPoint[j].number)delete [] pPoint;umber>pPoint[j].number){t=pPoint[i].number;pPoint[j].number=t;pPoint[i].number=pPoint[j].number;}}}umber,pPoint[i].coder,pPoint[i].X,pPoint[i].Y,pPoint[i].H);}xiugai=xiugai+strOutPut;列数据为一变形监测点的 24 期位移监测结果(分别为X,Y,H),编制程序绘制出该点的变形曲线图,每个方向一个位移序列图。

设计思路:用类DeformationCurve实现原始文件的读入、文件的拆分、画图等功能,调用类的相关函数来实现相应的功能。

界面设计:因为是基于当文本的所以没有界面主要代码:class DeformationCurve : public CWnd{DECLARE_DYNAMIC(DeformationCurve)public:DeformationCurve();virtual ~DeformationCurve();protected:DECLARE_MESSAGE_MAP()public:CString *DeformationCurve::Splitstring(CString str,char split,int &isubstr);void DeformationCurve::ReadData(double *&X,double *&Y,double *&H);void DeformationCurve::Draw(CDC* pDC,CRect& rect);};xt"));f"), pDC->TextOutW(dOrgX-60,dEndY+i*dy,str);}for(int i=0;i<=3;i++){(_T("%.3f"), pDC->TextOutW(dOrgX-120,dEndY+i*dy,str);}for(int i=0;i<=3;i++){(_T("%.3f"), pDC->TextOutW(dOrgX=180,dEndY+i*dy,str);}();=dOrgX+i*dx;ptX[i].y=dOrgY-int((X[i]/*3*dy);}pDC->Polyline(ptX,24);=dOrgX+i*dx;ptY[i].y=dOrgY-int((Y[i]+/*3*dy);}pDC->Polyline(ptY,24);=dOrgX+i*dx;ptH[i].y=dOrgY-int((H[i]*3*dy));}pDC->Polyline(ptH,24);trName=pstrData[0];m_pKnownPoint[i].strID=pstrData[0];m_pKnownPoint[i].H=_tstof(pstrData[1]);m_pKnownPoint[i].flag=1;trName=pstrData[i];m_pUnknownPoint[i].strID=pstrData[i];m_pUnknownPoint[i].H=0;lag=0;pBackObj=SearchPointUsingID(pstrData[0]);pF rontObj=SearchPointUsingID(pstrData[1]);ObsValue=_tstof(pstrData[2]);ist=_t stof(pstrData[3]);trID==ID){return &m_pKnownPoint[i];}}return NULL;}trID==ID){return &m_pUnknownPoint[i];}}return NULL;}LevelControlPoint* AdjustLevel::SearchPointUsingID(CString ID){LevelControlPoint* cp;cp=SearchKnownPointUsingID(ID);if(cp==NULL)cp=SearchUnknownPointUsingID(ID);return cp;}void AdjustLevel::ApproHeignt(void)lag!=1){pFrontObj->strID==m_pUnknownPoint[i].strID)&& m_pDhObs[j].cpBackObj->flag==1 ){ =m_pDhObs[i].cpBackObj->H - m_pDhObs[i].ObsValue;*/m_pUnknownPoint[i].H=m_pDhObs[j].cpBackObj->H +m_pDhObs[j].HObsValue;m_pUnknownPoint[i].flag=1;break;}}if(m_pUnknownPoint[i].flag!=1)pBackObj->strID==m_pUnknownPoint[i].strID) && m_pDhObs[j].cpFrontObj->flag==1 ){ =m_pDhObs[j].cpFrontObj->H-m_pDhObs[j].HObsValue;/*m_pUnknownPoint[i].H=m_pDhObs[i].cpFrontObj->H+m_pDhObs[i].ObsValue;*/m_pUnknownPoint[i].flag=1;break;}}}}if(i==m_iUnknownPointCount-1)lag!=1)ist);p(i,i)=value;}return p;}void AdjustLevel::FormErrorEquation(CMatrix &B, CMatrix &L){(m_iDhObsCount,m_iUnknownPointCount);(m_iDhObsCount,1);for(int i=0;i<m_iDhObsCount;i++)pBackObj->strID);tmpFront=SearchPointUsingID(m_pDhObs[i].cpFrontObj->strID);trID==tmpBack->strID)trID==tmpFront->strID)bsValue-(m_pDhObs[i].cpBackOb j->H-m_pDhObs[i].cpFrontObj->H);*/L(i,0)=m_pDhObs[i].HObsValue-(m_pDhObs[i].cpFrontObj->H -m_pDhObs[i].cpBackObj->H);(_T("%.3f"),L(i,0));L(i,0)=_tstof(tmp);L(i,0)=L(i,0)*1000;+=x(i,0);xt"));xt"));if()==IDCANCEL) return;CString strFileName=();setlocale(LC_ALL,"");CStdioFile sf;if(!(strFileName, CFile::modeCreate|CFile::modeWrite)) return;(LevleContent);();UpdateData(FALSE);}void CIndircLelveDlg::OnBnClickedComputelevel(){f\r\n"), [i].strID,[i].H);LevleContent+=Temp;}(_T("单位权中误差:%.1f mm\r\n"),r0*1000);LevleContent+=Temp;LevleContent+=_T("未知点高程中误差(mm):\r\n");for(int i=0;i< ;i++){();(_T("%s,%.1f\r\n"),[i].strName,Qx[i]*1000);LevleContent+=Temp;}UpdateData(false);}void CIndircLelveDlg::OnBnClickedSavelevleresult(){xt"));if()==IDCANCEL) return;CString strFileName=();setlocale(LC_ALL,"");CStdioFile sf;if(!(strFileName, CFile::modeCreate|CFile::modeWrite)) return;(LevleContent);();UpdateData(FALSE);}二、实验结果打开文件数据:平差结果:四、实验心得这从实验是我们测绘程序设计的最后一次实验,虽然这个学期我们做了好几次相关的实验,但是我却发现自己学的东西也越来越模糊,感觉很多内容都不理解。

相关文档
最新文档