
测绘程序设计—(vc.net)上机试验报告-平差程序设计.doc
14页 ...wd...?测绘程序设计(VC.net)?上机实验报告〔Visual C++.Net〕班 级: 测绘0901班学 号: 0405090204姓 名:代娅琴2012年4月29日实验八 平差程序设计根基一、 实验目的•稳固过程的定义与调用•稳固类的创立与使用•稳固间接平差模型及平差计算•掌握平差程序设计的 基本技巧与步骤二、 实验内容水准网平差程序设计设计一个水准网平差的程序,要求数据从文件中读取,计算局部与界面无关1. 水准网间接平差模型:2. 计算例如:近似高程计算:3. 水准网平差计算一般步骤(1)读取观测数据和数据;(2)计算未知点高程近似值;(3)列高差观测值误差方程;(4)根据水准路线长度计算高差观测值的权;(5)组成法方程;(6)解法方程,求得未知点高程改正数及平差后高程值;(7)求高差观测值残差及平差后高差观测值;(8)精度评定;(9)输出平差结果4. 水准网高程近似值计算算法5. 输入数据格式例如实验代码:#pragmaonceclass LevelControlPoint{public: LevelControlPoint(void); ~LevelControlPoint(void);public: CString strName;//点名 CString strID;//点号float H;bool flag;//标记是否已经计算出近似高程值,假设计算出那么为,否那么为};class CDhObs{public: CDhObs(void); ~CDhObs(void);public: LevelControlPoint* cpBackObj;//后视点 LevelControlPoint* cpFrontObj;//前视点double ObsValue;//高差值double Dist;//测站的距离};#include"StdAfx.h"#include"LevelControlPoint.h"LevelControlPoint::LevelControlPoint(void){ strName=_T(""); strID=_T(""); H=0; flag=0;}LevelControlPoint::~LevelControlPoint(void){}CDhObs::CDhObs(void){}CDhObs::~CDhObs(void){}#pragmaonce#include"LevelControlPoint.h"#include"Matrix.h"class AdjustLevel{public: AdjustLevel(void); ~AdjustLevel(void);public: LevelControlPoint* m_pKnownPoint;//点数组int m_iKnownPointCount;//点个数 LevelControlPoint* m_pUnknownPoint;//未知点数组int m_iUnknownPointCount;//未知点个数 CDhObs* m_pDhObs;//高差观测值数组int m_iDhObsCount;//高差观测值个数public:void SetKnownPointSize(int size);//创立大小为size的点数组void SetUnkonwnPointSize(int size);//创立大小为size的未知点数组void SetDhObsSize(int size);//创立大小为size的观测值数组bool LoadObsData(const CString& strFile);//读入观测文件 CString* SplitString(CString str, char split, int& iSubStrs);void ApproHeignt(void);//计算近似值private: LevelControlPoint* SearchKnownPointUsingID(CString ID); LevelControlPoint* SearchUnknownPointUsingID(CString ID); LevelControlPoint* SearchPointUsingID(CString ID); CMatrix LevleWeight(void);//计算权矩阵 public:void FormErrorEquation(CMatrix &B, CMatrix &L);//组成误差方程void EquationCompute(CMatrix &x);//计算法方程void Accuracy_Assessment(double &r0,CMatrix &Qxx);//精度评定void CompAdjust(double &r0,CMatrix Qx[]);};#include"StdAfx.h"#include"AdjustLevel.h"#include












