资源描述:
《测绘程序设计—实验八_水准网平差程序设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《误差理论与测量平差基础课程设计(VC.net)》实习报告(VisualC++.Net)班级:学号:姓名:182014年2月17日至2月28日水准网平差程序设计一、实验目的•巩固过程的定义与调用•巩固类的创建与使用•巩固间接平差模型及平差计算•掌握平差程序设计的基本技巧与步骤二、实验内容水准网平差程序设计。设计一个水准网平差的程序,要求数据从文件中读取,计算部分与界面无关。1.水准网间接平差模型:2.计算示例:近似高程计算:181.水准网平差计算一般步骤(1)读取观测数据和已知数据;(2)计算未知点高程近
2、似值;(3)列高差观测值误差方程;(4)根据水准路线长度计算高差观测值的权;(5)组成法方程;(6)解法方程,求得未知点高程改正数及平差后高程值;(7)求高差观测值残差及平差后高差观测值;18(8)精度评定;(9)输出平差结果。1.水准网高程近似值计算算法2.输入数据格式示例3已知点数A,151.5664B,144.5684已知点号及高程C,144.31949未知数P1,P2,P3,P4,P5,P6,P7,P8,P9未知点号15高差观测数据个数B,P4,1.4966,0.4B,P1,1.7881,0.5P
3、1,A,5.2065,0.7P4,P2,2.0850,0.9P2,A,3.4175,0.4C,P3,1.2081,1.0P3,A,6.0372,0.6C,P5,4.3306,0.7高差观测数据:起点,终点,高差,路线长度P6,P5,3.6513,0.6P7,P6,2.5122,0.318P7,P9,2.0415,0.8P9,P4,1.5366,0.7C,P4,1.7450,0.8P8,P5,2.7436,0.4P9,P8,1.3783,0,5实验代码:#pragmaonceclassLevelContro
4、lPoint{public:LevelControlPoint(void);~LevelControlPoint(void);public:CStringstrName;//点名CStringstrID;//点号floatH;boolflag;//标记是否已经计算出近似高程值,若计算出则为,否则为};classCDhObs{public:CDhObs(void);~CDhObs(void);public:LevelControlPoint*cpBackObj;//后视点LevelControlPoint*
5、cpFrontObj;//前视点doubleObsValue;//高差值doubleDist;//测站的距离};#include"StdAfx.h"#include"LevelControlPoint.h"LevelControlPoint::LevelControlPoint(void){strName=_T("");strID=_T("");H=0;flag=0;18}LevelControlPoint::~LevelControlPoint(void){}CDhObs::CDhObs(void){}
6、CDhObs::~CDhObs(void){}#pragmaonce#include"LevelControlPoint.h"#include"Matrix.h"classAdjustLevel{public:AdjustLevel(void);~AdjustLevel(void);public:LevelControlPoint*m_pKnownPoint;//已知点数组intm_iKnownPointCount;//已知点个数LevelControlPoint*m_pUnknownPoint;//未知
7、点数组intm_iUnknownPointCount;//未知点个数CDhObs*m_pDhObs;//高差观测值数组intm_iDhObsCount;//高差观测值个数public:voidSetKnownPointSize(intsize);//创建大小为size的已知点数组voidSetUnkonwnPointSize(intsize);//创建大小为size的未知点数组voidSetDhObsSize(intsize);//创建大小为size的观测值数组boolLoadObsData(constC
8、String&strFile);//读入观测文件CString*SplitString(CStringstr,charsplit,int&iSubStrs);voidApproHeignt(void);//计算近似值private:LevelControlPoint*SearchKnownPointUsingID(CStringID);LevelControlPoint*SearchUnknownPointUsingID(CS