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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
测绘程序设计(VS2008)实验报告--水准网平差程

《测绘程序设计(VC.net)》 上机实验报告 (Visual C++.Net) 班 级: 学 号: 姓 名: 序 号: 二零一一年五月 实验8 平差程序设计基础 实验目的: 巩固过程的定义与调用; 巩固类的创建于使用; 巩固间接平差模型与平差计算; 掌握平差程序设计的基本技巧与步骤。 实验内容: 水准网平差程序设计。设计一个水准网平差的程序,要求数据从文件中读取。 计算部分也界面无关。 设计思路: 在本次的实验中,我着重想表现的是一种面向对象的编程思想。于是,在程序中我设计了4个类:CPoint、CObserve、CMatrix、Leveling,分别定义点的属性、观测数据属性、矩阵和水准网平差计算的属性与方法。 水准网平差计算一般步骤为: (1)读取观测数据和已知数据; (2)计算未知点高程近似值; (3)列高差观测值误差方程; (4)根据水准路线长度计算高差观测值的权; (5)组成法方程; (6)解法方程,求得未知点高程改正数及平差后高程值; (7)求高差观测值残差及平差后高差观测值; (8)精度评定; (9)输出平差结果。 水准网高程近似值计算算法 界面设计: 仅添加了一个button按钮,单击后读取数据,并进行水准网平差计算,计算结果保存在记事本中 主要代码: 文件一: 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

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档