水准网平差程序的设计与实现课程设计书

合集下载

测量平差课程设计

测量平差课程设计
1.高程控制网略图
高程控制网略图
2.观测数据表及条件方程的建立
观测数据及已知高程表
线路号
观测高差(m)
视线长度S(m)
已知高程(m)
h1
-2.05777
161.3985
H0=391.7323
h2
-2.96392
170.7185
h3
-1.42974
263.3243
h4
-0.7194
137.2038
h5
(2).测角中误差的计算:
——符合导线或闭合导线环的方位角闭合差;
——计算 时的测站数;
N—— 的个数。
如控制为单一的闭合或符合导线,N为1。
2、水准测量的主要技术要求:
等级
每千米高差
全中误差
(mm)
闭合差
(mm)
往返各一次
二等
≤±2

平差前计算每千米水准测量高差全中误差:
——高差全中误差(mm);
0.32504
282.2799
h6
1.58766
298.4342
h7
5.80733
396.3747
h8
-0.55317
164.5168
h9
1.36428
108.7929
h10
-0.16924
114.9145
h11
-4.13241.6893
h13
-0.57946
71.7398
h14
-0.72209
176.0133
h15
-0.55768
161.6150
h16
0.48535
105.8950
h17

技工院平差课程设计任务书 (1)

技工院平差课程设计任务书 (1)

《误差理论与测量平差基础》课程设计任务书一、课程设计目的与要求课程设计目的是增强学生对测量平差基础理论的理解,牢固掌握测量平差的基本原理和基本公式,熟悉测量数据处理的基本技能和计算方法,灵活准确地应用于解决各类数据处理的实际问题,并能用所学的计算机理论知识,编制简单的计算程序。

课程设计要求学生手工解算具有一定规模的平面控制网或高程控制网,再用计算机(平差软件)进行检核计算,最后编写课程设计报告。

二、课程设计进度安排根据教学计划安排,于2012年12月24日~ 2013年1月 4日安排为期两周的课程设计。

课程设计的具体时间安排序号内容时间备注1 设计步骤和要求的讲解1天2平面控制网或高程控制网解算2天3 Excel程序设计2天5平差易软件解算3天6 编写报告2天三、课程设计内容徒手解算具有一定难度的平面控制网及高程控制网,掌握其原理基础上应用Excel软件编程解算,再用平差易软件进行解算。

在此基础上能解算难度较高的控制网。

四、课程设计考核(1)课程设计成绩分为优、良、中、合格、不合格五等。

(2)设计成绩评定主要依据:①课程设计期间的表现,主要包括:出勤率、设计态度、遵守纪律情况、爱护公共工具情况。

②内容掌握情况,主要包括:对理论知识的掌握程度、使用计算机语言的熟练程度、作业程序是否符合规范要求等。

③计算成果,主要包括:各种计算过程是否完整,书写是否工整清晰,数据计算是否正确。

④课程设计报告,主要包括:设计报告的编写格式和内容是否符合要求,编写水平,分析问题、解决问题的能力及有无独特见解等。

⑤对课程设计思想的讲述情况,主要包括:手工解算过程的讲解、计算机语言的实现过程讲解(设计期间进行考核)。

(3)在课程设计期间,学生如有下列情况,指导教师可视情节严重程度予以处理:①设计期间凡违反规定纪律;缺勤天数超过设计天数的三分之一;发生打架事故;私自离校回家;未交成果资料和课程设计报告;抄袭成果资料和设计报告等,实习成绩均为不及格。

测绘程序设计实验八水准网平差程序设计报告

测绘程序设计实验八水准网平差程序设计报告

测绘程序设计实验八水准网平差程序设计报告Newly compiled on November 23, 2020《测绘程序设计》上机实验报告(Visual C++.Net)班级:测绘0901班学号: 04姓名:代娅琴2012年4月29日实验八平差程序设计基础一、实验目的巩固过程的定义与调用巩固类的创建与使用巩固间接平差模型及平差计算掌握平差程序设计的基本技巧与步骤二、实验内容水准网平差程序设计。

设计一个水准网平差的程序,要求数据从文件中读取,计算部分与界面无关。

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

4.水准网高程近似值计算算法5.输入数据格式示例实验代码:#pragma onceclass LevelControlPoint{public:LevelControlPoint(void);~LevelControlPoint(void);public:CString strName;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]);pFrontObj=Sear chPointUsingID(pstrData[1]);ObsValue=_tstof(pstrData[2]);ist=_tstof(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].cpBackObj->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);}三、实验结果打开文件数据:平差结果:四、实验心得这从实验是我们测绘程序设计的最后一次实验,虽然这个学期我们做了好几次相关的实验,但是我却发现自己学的东西也越来越模糊,感觉很多内容都不理解。

水准网平差程序设计

水准网平差程序设计

程序设计中的关键问题
数据处理
如何高效地读取和处理大规模数据, 避免内存占用过多或计算效率低下。
算法优化
如何优化算法以提高程序的运行效率, 减少计算时间和资源消耗。
可扩展性
如何设计程序结构,使其具有良好的 可扩展性,便于未来功能扩展和维护。
健壮性
如何提高程序的健壮性,使其能够处 理异常情况,避免因数据错误或异常 输入导致程序崩溃。
05
程序测试与验证
测试环境与测试数据
测试环境
选择合适的硬件和软件环境,确保测试结果的准确性和可靠性。
测试数据
准备充足的水准网平差数据,包括已知的控制点数据和待处理的观测数据,以覆盖各种实际情况。
测试结果分析
精度分析
01
对测试结果进行精度分析,包括闭合差、中误差等指标,评估
程序的精度水平。
效率分析
06
总结与展望
工作总结
完成了水准网平差程序设 计的需求调研和分析,明 确了程序设计的目的和功 能要求。
实现了水准网平差程序的 基本功能,包括数据导入、 平差计算、结果输出等。
ABCD
完成了程序设计方案的制 定,包括算法选择、数据 结构设计和界面设计等。
对程序进行了全面的测试 和调试,确保程序的稳定 性和正确性。
水准网平差程序设计
• 引言 • 水准网平差基础 • 水准网平差程序设计 • 水准网平差程序实现 • 程序测试与验证 • 总结与展望
目录
01
引言
目的和背景
目的
水准网平差程序设计的主要目的是对水准网进行精度分析和优化,以提高测量 数据的准确性和可靠性。
背景
随着测量技术的发展,水准网在各种工程领域中得到了广泛应用,如建筑、水 利和交通等。然而,由于测量过程中存在误差,需要对水准网进行平差处理, 以消除或减小误差的影响。

平差课程设计水准网,导线网解算讲解

平差课程设计水准网,导线网解算讲解

《测量平差课程设计》设计报告设计名称:测量平差课程设计学院名称:矿业工程学院专业班级:测绘12-2 学生姓名:雷蕾学号: 2012020782 指导教师:张红华测绘工程教研室2014年8月一.课程设计的目的《测量平差》是一门理论与实践并重的课程,测量平差课程设计是测量数据处理理论学习的一个重要实践环节,是在学生学习了专业基础理论课《误差理论与测量平差基础》课程后进行的一门实践课程,其目的是增强学生对测量平差基础理论的理解,牢固掌握测量平差的基本原理和公式,熟悉测量数据处理的基本原理和方法,灵活准确地应用于解决各类数据处理的实际问题,并能用所学的计算机基础知识,编制简单的计算程序。

二.课程设计题目内容描述和要求1.设计的任务(1)该课的课程设计安排在理论学习结束之后进行的,主要是平面控制网和高程控制网严密平差,时间为一周。

(2)通过课程设计,培养学生运用本课程基本理论知识和技能,分析和解决本课程范围内的实际工程问题的能力,加深对课程理论的理解与应用。

(3)在指导老师的指导下,要求每个学生独立完成本课程设计的全部内容。

2.课程设计要求2.1基本要求:测量平差课程设计要求每一个学生必须遵守课程设计的具体项目的要求,独立完成设计内容,并上交设计报告。

在学习知识、培养能力的过程中,树立严谨、求实、勤奋、进取的良好学风。

课程设计前学生应认真复习教材有关内容和《测量平差》课程设计指导书,务必弄清基本概念和本次课程设计的目的、要求及应注意的事项,以保证保质保量的按时完成设计任务。

2.2具体设计项目内容及要求:2.2.1高程控制网严密平差及精度评定总体思路:现有等级水准网的全部观测数据及网型、起算数据。

要求对该水准网,分别用条件、间接两种方法进行严密平差,并检验。

进行平差模型的正确性水准网的条件平差:①列条件平差值方程、改正数条件方程、法方程;②利用自编计算程序解算基础方程,求出观测值的平差值、待定点的高程平差值;③评定观测值平差值的精度和高程平差值的精度。

水准网平差程序设计

水准网平差程序设计

V j j = + h 广 H 。 一 l I i , 式中, h i . h i 为i 点和j 点的近似高程; H i  ̄: I - I j 为i 点
和j 点为已知点时的高程 ; l 为i 点至 j 点间的观测高差 。
( 2 ) 权 的确 定 :P  ̄ = l l S . ( 3 ) 未 知数 的排 列
Opt i o n Ba s e 1
3 . 4 . 1误 差 方程 的列立
( 1 ) 设有两点 i 和J , 则误差方程式为 V j = d 对 一 + h 广 h - 1 如果 j 点为已知点 , 则V l _ 一 d + H i — h 一 1 ; 如果 i 点 为已知点 , 则
科 技创 新与应 用 I 2 0 1 5 年 第1 7 期
科 技 创 新
水准 网平差程序设 计
杨 福 涛
( 北京市怀柔测绘所 , 北京 1 0 1 4 0 0 ) 摘 要: 水准 测 量是 现今 城 市测量 工 作 中测 定 高程 和对 建 筑物 进 行 变形 观 测 常 用 的测 量方 法。 水准 网平 差 的 目的在 于依 据 最 小 二乘 原理 , 消除 观测 之 间的矛 盾和 不 符值 , 进 而求 出点 的 最后 高程及 评 定精 度 , 编 制相 应 的 计 算程 序 , 实现 水 准 网的 自动 平 差 , 才 能提 高计算效率, 然而近似 高程的 自动推算、 闭合差的计算、 以及误差方程、 法方程 的列立解算是程序设计的重点和难点。 关键 词 : 水 准 网平 差 ; 高程 ; 程 序设 计 1数 据 库 的建 立 1 . 1建立建网信息表格 建 网信 息 表用 于保 存 建 网信 息 。 1 . 2 建 立观 测高 差 录入 表 格 记 录 高差 和高 差起 点 终点 点 号 和两 点之 间的距 离 。 1 . 3建立 已知 高程 录入 表格 记录高程用于 以后计算。 1 . 4建立 平 差成 果 表 用 于记 录 和输 出结 果 。 2 应用 软 件用 户界 面的设 计 本程序共设计 了五个窗体 , 分别为主窗体 , 建网信息输入窗体 , 测量高差输入窗体 , 已知高程输入窗体 , 平差计算结果显示窗体。 其 中主窗体是程序 的启动窗体 ,所有窗体都从 主窗体界面弹 出。建网信息输入窗体用于输入项 目名称 , 测量单位 , 负责人 , 测量 范围, 备注 信 息 , 并 于 数据 库 连 接 。 测 量 高差 输 入窗 体 用于 输 入 高差 观 测值 和 路线 长 度 , 并 和数 据 库 连接 。已知 高 程 输入 窗 体 用 于输 入 已知高 程 , 并 连接 数 据库 。平差 计 算 结果 显 示 窗 体 聚集 了大部 分 的 算法, 包括待定点高程计算 , 误差方程和法方程 的列立 , 法方程 的运 算等等 , 并通过 D m a G i f d 控件输出。 3 程序 算 法 的基本 思 想 及部 分 代码 3 . 1高 程控 制 网 间接 平差 的步 骤 ( 1 ) 计算待定 点的近似高程 x = ( x b X :… ) ; ( 2 )  ̄ l J 出误差 方程 ; ( 3 ) 组 成 法 方程 ; ( 4 ) 解算 法 方 程 , 求得 d X = ( d x , d x :… ) ; ( 5 ) 求 得 平 差 后 的高 程 X = X + d X; ( 6 ) 精度 评定 。 3 . 2 网形 的 编号 及部 分 变量 的定 义 3 . 2 . 1网形 编 号 为了使编程更加方便 , 首先约定各高程点编号由小到大按 自然 数 的顺 序 编码 , 不可 重 复也 不 可缺 少 。 已知 点 优先 于 待定 点 , 靠 近 已 知 点 的待 定点 编 号要 尽 量小 。 3 . 2 . 2 部分 变 量定 义

测绘程序设计—实验八 水准网平差程序设计报告

测绘程序设计—实验八 水准网平差程序设计报告

《测绘程序设计》上机实验报告(Visual C++.Net)班级:测绘0901班学号: 04姓名:代娅琴2012年4月29日实验八平差程序设计基础一、实验目的巩固过程的定义与调用巩固类的创建与使用巩固间接平差模型及平差计算掌握平差程序设计的基本技巧与步骤二、实验内容水准网平差程序设计。

设计一个水准网平差的程序,要求数据从文件中读取,计算部分与界面无关。

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

4.水准网高程近似值计算算法5.输入数据格式示例实验代码:#pragma onceclass LevelControlPoint{public:LevelControlPoint(void);~LevelControlPoint(void);public:CString strName;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]);pFrontObj=SearchPointUsingI D(pstrData[1]);ObsValue=_tstof(pstrData[2]);ist=_tstof(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].cpBackObj->H-m_pDhObs[i].cpFrontO bj->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);}三、实验结果打开文件数据:平差结果:四、实验心得这从实验是我们测绘程序设计的最后一次实验,虽然这个学期我们做了好几次相关的实验,但是我却发现自己学的东西也越来越模糊,感觉很多内容都不理解。

平差课程设计-精品

平差课程设计-精品

课程编号:课程性质:必修误差理论与测量平差基础课程设计报告学院:测绘学院专业:测绘工程班级:2011级学号:姓名:2013-2-25 至 2013-3-8(一)图1为一水准网,A 、B 、C 为已知高程点,91~P P 为9个待定高程点,第一次观测了图中1~15条水准路线的高差,各水准路线的观测高差、距离及已知点高程均列于表1,试求(1)1公里高差平差值中误差;(2)各待定点高程平差值及中误差;如果准备加测5段高差16~20(图中用虚线表示),(3)试估算平差后各待定点的精度;(4)精度最弱的点发生改变没有;(5)哪一点精度提高得最多。

图1数学模型: 间接平差:函数模型: V = B x - l , l=L - L 0; 基础方程:V = B x - l B T P V = 0解向量: x=N BB -1 W,ˆV L L +=.ˆˆ0x X X += 随机模型:D=σ02QQ xx =N BB -1计算过程:(1).列误差方程易得到矩阵B 和矩阵l :B=0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 1 0 -1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 1 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 -1 0 0 0 0 00 0 0 1 -1l= (单位:0.1mm)-293-17246(2).组成法方程取1公里的观测高差为单位权观测,即按P=1/S定权,得观测值的权阵:P=2 1/2 0 0 0 0 0 0 0 0 0 0 0 0 0 00 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 3/7 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 1/9 0 0 0 0 0 0 0 0 0 0 00 0 0 0 2 1/2 0 0 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 0 0 1 2/3 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 2/3 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 2/3 0 0 0 0 0 00 0 0 0 0 0 0 0 0 3 1/3 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 1/4 0 0 0 00 0 0 0 0 0 0 0 0 0 0 1 3/7 0 0 00 0 0 0 0 0 0 0 0 0 0 0 1 1/4 0 00 0 0 0 0 0 0 0 0 0 0 0 0 2 1/2 00 0 0 0 0 0 0 0 0 0 0 0 0 0 2组成法方程:B T PBx - B T Pl=0令:N BB=B T PB W=B T Pl得:x =N BB-1 W解法方程x =-16.9170.93821-6.3750.049181.4821.072-1.13312.7434-1.6798改正数为:v =(单位:0.1mm)0.0491812.08316.917-2.111-0.938210.6256.3751.4820.410070.20503-0.54681.729-3.9508-1.2614-1.5767解:(1). 1公里高差平差值中误差:σ =6PVV'= 1.2422 mm (2). 各待定点高程平差值及中误差: 平差值:X = X 0 + x因为Q xx =N BB-1,所以D xx =σ2Q xxD XX =0.450060 0 0 0 0 0 0 00 0.45624 00.09404 0.029878 0.040221 0.045392 0.042902 0.0591820 0 0.57865 0 0 0 0 0 0 0 0.09404 0 0.30563 0.097105 0.13072 0.14752 0.13943 0.19234 0 0.029878 0 0.097105 0.66253 0.57139 0.52582 0.54776 0.40429 0 0.040221 0 0.13072 0.57139 1.1609 0.9927 0.55932 0.54424 0 0.045392 0 0.14752 0.52582 0.9927 1.2261 0.5651 0.61421 0 0.042902 0 0.13943 0.54776 0.55932 0.5651 0.90522 0.58052 00.059182 00.19234 0.40429 0.54424 0.61421 0.58052 0.80081144.6687 148.2427 144.8917 146.0689 148.7982 145.1062 142.3737 146.1807 144.3605则各点中误差为:0.67090.67540.76070.55280.81391.07741.10730.95140.8949(3).最弱点为P7 ,其精度为1.1073(4).加测后的B=0 0 0 1 0 0 0 0 01 0 0 0 0 0 0 0 0-1 0 0 0 0 0 0 0 00 1 0 -1 0 0 0 0 00 -1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 -1 0 0 0 0 0 00 0 0 0 1 0 0 0 00 0 0 0 1 -1 0 0 00 0 0 0 0 1 -1 0 00 0 0 0 0 0 -1 0 10 0 0 1 0 0 0 0 -10 0 0 1 0 0 0 0 00 0 0 0 1 0 0 -1 00 0 0 0 0 0 0 1 -1-1 1 0 0 0 0 0 0 00 1 -1 0 0 0 0 0 00 0 -1 1 0 0 0 0 00 0 0 -1 1 0 0 0 00 0 0 0 0 0 -1 1 0加测后的权P=diag([5/2,2,10/7,10/9,5/2,1,5/3,5/3,5/3,10/3,5/4,10/7,5/4,5/2,2,5/3,5/3,5/9,5/4,5/6])所以加测后的Q xx=(N BB)-1 D xx= 2QxxD XX=0.33253 0.09076 0.033081 0.018831 0.010334 0.011651 0.01231 0.012096 0.014210.09076 0.27747 0.10113 0.057568 0.031592 0.03562 0.037634 0.036979 0.0434410.033081 0.10113 0.35567 0.048957 0.026866 0.030292 0.032004 0.031448 0.0369430.018831 0.057568 0.048957 0.25812 0.14165 0.15971 0.16874 0.1658 0.194780.010334 0.031592 0.026866 0.14165 0.4955 0.44063 0.41319 0.42211 0.334090.011651 0.03562 0.030292 0.15971 0.44063 0.98643 0.79641 0.51098 0.479980.01231 0.037634 0.032004 0.16874 0.41319 0.79641 0.98801 0.55541 0.552920.012096 0.036979 0.031448 0.1658 0.42211 0.51098 0.55541 0.77243 0.529220.01421 0.043441 0.036943 0.19478 0.33409 0.47998 0.55292 0.52922 0.76325精度为:0.57670.52680.59640.50800.70390.99320.99400.87890.8736(5).精度最弱的点没有改变,仍是P7。

第三章--水准网平差程序设计课件

第三章--水准网平差程序设计课件
待定点高程计算是为了得到未知点的高程近 似值,在求取未知点近似高程的时候,要注意测 段的方向及相关正负号。既可以进行人工计算后 输入到程序中,也可以直接将原始数据直接读入 到程序中,根据相关算法让程序自动计算。计算 原理如下式:
26
水网观测数据(测段)的组织:
测段号 起点 终点
第三章 水准网平差程序设计
本章难点:
1、近似高程计算 2、最短路线的计算 3、误差方程及法方程的构建 4、直接计算出法方程的系数矩阵BTPB和常 数矩阵BTPL
1
一、水准网间接平差算法概述
该课程中所采用的平差模型为间接平差,即所
选的独立参数的个数等于必要观测数,这样可以 将每个观测值表示成这t个参数的函数,组成观测
20
最短路线搜索函数 FindShortPath (p as integer, exclude as integer, int neighbor()as integer,diff() as double, S() as double) b)路线闭合差计算算法
从一个已知点出发用观测高差依次推算其它
各点的高程,最后闭合到另外一个已知点上,闭
1
AB
2
EC
3
DC
4
BC
5
AD
6
AC
7
AF
测段高差(m)
5.835 1.006 7.384 3.782 2.270 9.64 0.003
测段长(km) 测站数
1.5 0.8 2.1 3.2 1.7 1.3
4.1
27
水准网近似高程计算算法
1、定义一数组a(),将已知点(原有高程 和计算出的近似高程都可视为已知点) 存 到a()数组中; 2、遍历所有测段(从第一个测段到最后 一个测段);

水准网平差程序设计

水准网平差程序设计

水准网平差程序设计水准测量是现今城市测量工作中测定高程和对建筑物进行变形观测常用的测量方法。

水准网平差的目的在于依据最小二乘原理,消除观测之间的矛盾和不符值,进而求出点的最后高程及评定精度,编制相应的计算程序,实现水准网的自动平差,才能提高计算效率,然而近似高程的自动推算、闭合差的计算、以及误差方程、法方程的列立解算是程序设计的重点和难点。

标签:水准网平差;高程;程序设计1 数据库的建立1.1 建立建网信息表格建网信息表用于保存建网信息。

1.2 建立观测高差录入表格记录高差和高差起点终点点号和两点之间的距离。

1.3建立已知高程录入表格记录高程用于以后计算。

1.4建立平差成果表用于记录和输出结果。

2 应用软件用户界面的设计本程序共设计了五个窗体,分别为主窗体,建网信息输入窗体,测量高差输入窗体,已知高程输入窗体,平差计算结果显示窗体。

其中主窗体是程序的启动窗体,所有窗体都从主窗体界面弹出。

建网信息输入窗体用于输入项目名称,测量单位,负责人,测量范围,备注信息,并于数据库连接。

测量高差输入窗体用于输入高差观测值和路线长度,并和数据库连接。

已知高程输入窗体用于输入已知高程,并连接数据库。

平差计算结果显示窗体聚集了大部分的算法,包括待定点高程计算,误差方程和法方程的列立,法方程的运算等等,并通过DataGrid控件输出。

3 程序算法的基本思想及部分代码3.1 高程控制网间接平差的步骤(1)计算待定点的近似高程X=(x1,x2 …)T;(2)列出误差方程;(3)组成法方程;(4)解算法方程,求得dX=(dx1,dx2 …)T;(5)求得平差后的高程X=X+dX;(6)精度评定。

3.2 网形的编号及部分变量的定义3.2.1 网形编号为了使编程更加方便,首先约定各高程点编号由小到大按自然数的顺序编码,不可重复也不可缺少。

已知点优先于待定点,靠近已知点的待定点编号要尽量小。

3.2.2 部分变量定义Option Base 1Public IKP As Integer’已知点点个数;Public IUP As Integer’未知点点个数;Public IQ As Integer’总点个数;Public IOH As Integer’高差观测数;Public IZ As Integer’必要观测数。

毕业设计--水准网条件平差程序设计[管理资料]

毕业设计--水准网条件平差程序设计[管理资料]

本科生毕业设计说明书(毕业论文)题目:水准网条件平差程序设计水准网条件平差程序设计摘要近年来,随着我国经济的快速发展,国家大力于投资各种铁路建设和公路建设,测绘工程的运用也越来越突出。

以水准网布设的高程控制网在各类工程中随处可见。

但观测到的数据存在着各种各样的误差,这就需要我们通过简易平差或严密平差来对数据进行处理,从而使数据能够达到工程的预期精度。

本文主要研究如何解决绘图软件行业标准的网络数据处理问题。

从水准网的结构,平差基本原理、调整模型,基本方程及其解,并对法方程组成,求解,平差值的计算及其精度评定作了介绍。

和Visual ,利用C语言是程序设计的相干事情。

在今后的测量工作中,可结合实际平差方案进行平差计算。

关键词:平差模型;精度评定;程序设计Leveling Network Adjustment Program DesignAbstractIn recent years, with China's rapid economic development, the state vigorously investment in all kinds of railway construction and road construction, the use of mapping project is also more and more prominent. In order to control the network level network in various engineering in everywhere. But the observed data exist various error, this needs us through simple adjustment or rigorous adjustment for data processing, so that data to achieve the desired precision engineering.This paper mainly studies how to solve the problem of mapping software industry standard network data processing. From the structure adjustment of leveling network, the basic principle, adjustment model, basic equation and its solution, and the composition of the solution of equations, adjustment calculation and precision evaluation, gross error elimination are introduced as well. And the use of Visual programming software, using C programming language is related to program design. The measurement work in the future, can be combined with the actual adjustment adjustment calculation.Key words: adjustment model;the accuracy assessment;program design目录摘要 (I)Abstract .......................................................................................................................... I I 第一章绪论 (1) (1) (2) (2)第二章条件平差数学模型 (3)条件平差模型 (3) (6) (8) (11) (13) (17)第三章水准网的设计 (18) (18) (18) (19) (19) (20)第四章C语言介绍 (21) (21) (22) (22)第五章程序设计 (24)水准网条件平差和测角网条件平差实例 (24) (24) (27) (32)参考文献 (57)附录A:外文文献 (57)附录B:中文译文 (69)致谢 (74)第一章绪论施工测量工作是非常基本的,重要环节。

误差理论与测量平差课程设计--水准网严密平差及精度评定

误差理论与测量平差课程设计--水准网严密平差及精度评定
static double a[3] [7]=B^;
static double c[3][7],b[7][7]=P;
Matrixmul (a, b, 3, 7, 7, c);
printf (''\n〃);
for(i=0;i<=2;i++)
{
for(j=0;j<=6;j++)
printf (''%8. 4f\t〃,c[i] [j];
printf(、'\n〃);
)
printf(、'\n〃);
returnO;
}
2.计算B「PB,即Nbb
main()
(
int i, j;
static double a⑶[7]=BTP;
static double c[3][3], b[7][3]=B;
Matrixmul (a, b, 3, 7, 3, c);
}
printf(、'\n〃);
returnO;
}
二、矩阵的逆计算函数(求Nj)
^include "stdio. h"
#define M 3
void main() float MAT[M] [2*M];
float MAT1[M][M];
float t;
int i, j,k, 1;
/*对矩阵进行初始化*/
根据题目要求,正确应用平差模型列出观测值条件方程、误差方程和法方程;
解算法方程,得出平差后的平差值及各待定点的高程平差值;评定各平差值的精 度和各高程平差值的精度。
具体算例为:
如图所示水准网,有2个已知点,3个未知点,7个测段。各已知数据及

水准网平差程序设计

水准网平差程序设计
4)点名信息:该部分占N(N=N1+N2)行,每行 格式为
水准点编号,该点名称
其中点名长度不超过8个字符,即4个汉字。但最好 用字符串命名。
以下为一具有两个已知点、三个待定点和七个测段的
水准网的示例数据,打开TXT文件文件后,内容如下。
2,3,7 4 , 5.016 5 , 6.016 1 , 4 , 1 , 1.359 , 1.1 2 , 4 , 2 , 2.009 , 1.7 3 , 5 , 1 , 0.363 , 2.3 4 , 5 , 2 , 1.012 , 2.7 5 , 1 , 2 , 0.657 , 2.4 6 , 1 , 3 , 0.238 , 1.4 7 , 3 , 5 ,-0.595 , 2.6 1 ,P1 2 ,P2 3 ,P3 4 ,A 5 ,B
组建误差方程,即 B、l的生成
代入相应的公式 进行计算 x 、v
计算待求量 的平差植
精度评定 成果输出
2.1 水准网平差中数据的组织(数据文 件格式的设计)
水准网平差程序设计中数据的组织是一个关键 问题。文件格式的设计就是规定数据文件中包含 的内容、各类数据的先后顺序以及各种数据的书 写格式。从程序设计者的角度来说,数据文件格 式设计相当于告诉用户应当怎样准备数据文件, 当然,程序中也必须按照约定的格式从文件中读 取数据。数据文件由四个部分组成,其格式如下。 1)基本信息部分:该部分仅占一行,其内容为 已知点数N1,未知点数N2,高差观测值个数NS。
设p1选择p2作为邻接点,P2到目标点的路线长
度为S2, p1到p2的路线长度为S12,则p1到目标点 的路线长度S1为
S1=S2+S12 若还有一点P3也是P1的邻接点,则经由P3到 目标点的路线长度为

平差课程设计报告

平差课程设计报告

实验一一.设计原始资料水准网周密平差及精度评定示例。

如图所示水准网,有2个已知点,3个未知点,7个测段。

各已知数据及观测值见下表(1)已知点高程H1= H2=(2)高差观测值(m)高差观测值(m)端点高差观测值测段距离序号号1-3 11-4 22-3 32-4 43-4 53-5 65-2 7(3)求各待定点的高程;3-4点的高差中误差;3号点、4号点的高程中误差。

(提示,本网可采用以测段的高差为平差元素,采用间接平差法编写程序计算。

)二、水准网间接平差思路⑴.按照网型肯定已知水准点数H1 H2,未知水准点数u ,总点数n ,必要观测数t ,多余观测数r 。

⑵.肯定参数。

为平差后能直接求得待定点高程平差值,以3个待定点高程平差值为参数。

设3,4,5点的高程平差值别离为,, 。

⑶.列立条件方程.左侧为观测值(系数为1),右边为参数和常数项,并进一步改化成误差方程,最终写成矩阵形式。

取得系数矩阵A 和常数项L⑷.列立法方程,并解求法方程。

⑸.精度评定。

计算单位权中误差的估值:评定各待定点的高程中误差: 各待定点的精度即为: 评定高程平差值的精度: 四、平差程序设计思路1、 已知数据的输入需要输入的数据包括水准网中已知点数、未知点数和这些点的点号、已知高程和高差观测值、距离观测值等。

本程序采用文件方式进行输入,文件输入的格式如下: 第一行:已知点个数、未知点个数、观测值个数 第二行:点号 (已知点在前,为支点在后) 第三行:已知高程 (顺序与上一行的点号对应)第四行起:高差观测值,依照“起点点号,终点点号,高差观测值,距离观测值”的顺序输入。

2、 平差计算进程 (1)近似高程计算。

uc PV V r PV V T T -==20ˆσ120ˆˆ20ˆˆˆˆ-==bbx x x x N Q D σσjj X X j X Q ˆˆ0ˆˆσσ±=FN F F Q F Q BB T X X T h h 1ˆˆˆˆ-==X F hT ˆˆ=(2)列立观测值的误差方程。

测量平差课程设计指导书

测量平差课程设计指导书

《测量平差课程设计》指导书一、课程设计的性质、目的和任务《测量平差课程设计》是完成测量平差基础课程教学后进行的综合应用该课程基本知识和技能的一个教学环节,通过课程设计培养学生解决生产实际问题的能力和所学基本知识的综合应用能力。

二、课程设计的主要内容和要求手工解算一个具有一定规模的平面控制网和一个高程控制网,并用计算机进行检核计算,撰写课程设计报告。

三、课程设计的基本要求和进度安排平面控制网和高程控制网的条件方程、误差方程、法方程、精度评定、计算平差值等用手工计算,并组成法方程用计算机解算,进行检核。

第一天:平面控制网解算第二天:高程控制网解算第三天:计算机检核计算第四天:计算机检核计算,撰写课程设计报告四、课程设计的考核平面控制网和高程控制网计算内容完整、计算结果正确,报告内容充实,对该课程的教学提出建设性的意见或建议。

发现课程报告有抄袭现象一律不及格处理。

五、参考资料《误差理论与测量平差基础》,武汉大学出版社.《测绘编程基础》,测绘出版社.附一:控制网图附二:平面控制网解算数据1.控制网基本信息--------------------------------------------------------------- 全网总点数:6 已知点点数:2 待定点点数:4概略坐标点数:0 未设站点数:0 评定精度个数:4固定方位个数:0 固定边条数:0 方向观测个数:14边长观测条数:3 设计精度个数:0 多余观测数:3验前中误差:1.20 固定误差(cm):1.20 比例误差ppm:0.00---------------------------------------------------------------2.已知点坐标<个数:2 单位:米>--------------------------------------------------------------- 序号点名 X坐标 Y坐标---------------------------------------------------------------1 煤沟(二等) 4121088.5000 359894.00002 石龙崖(二等) 4127990.1000 355874.6000---------------------------------------------------------------3.方向观测值<个数:14 单位:度>--------------------------------------------------------------- 序号点名点名方向观测值---------------------------------------------------------------1 煤沟(二等) 石龙崖(二等) 0.00000002 煤沟(二等) 大西岭 72.10284003 石龙崖(二等) 河西 0.00000004 石龙崖(二等) 煤沟(二等) 66.27289005 河西红土巷 0.00000006 河西大西岭 85.13374007 河西石龙崖(二等) 217.37126008 红土巷小叶山 0.00000009 红土巷河西 79.094870010 小叶山大西岭 0.000000011 小叶山红土巷 72.245640012 大西岭煤沟(二等) 0.000000013 大西岭河西 88.582950014 大西岭小叶山 212.1003600---------------------------------------------------------------4.边长观测值<个数:3 单位:米>--------------------------------------------------------------- 序号点名点名边长观测值---------------------------------------------------------------1 河西红土巷 4451.41702 红土巷小叶山 5669.26903 石龙崖(二等) 河西 5564.5920---------------------------------------------------------------5.评定精度点或端点的点名<个数:2>--------------------------------------------------------------- 序号点名点名---------------------------------------------------------------1 河西红土巷2 红土巷小叶山---------------------------------------------------------------附三:高程控制网解算数据1.控制网基本信息--------------------------------------------------------------- 全网总点数:6 已知点点数: 2 待定点点数: 4概略高程点数:0 多余观测数: 5 评定精度个数:3高差观测个数:9 网形类别:三角高程网--------------------------------------------------------------2.已知点高程<个数:2 单位:米>--------------------------------------------------------------- 序号点名高程---------------------------------------------------------------1 煤沟(四等) 748.71302 石龙崖(四等) 720.1230---------------------------------------------------------------3.高差观测值<个数:9 单位:米>--------------------------------------------------------------- 序号点名点名观测高差(m) 定权元素---------------------------------------------------------------1 大西岭煤沟(四等) -5.8890 3.602 大西岭小叶山 1.9330 4.203 河西大西岭 15.5730 5.804 河西小叶山 17.4850 6.305 红土巷河西 10.8950 4.606 红土巷煤沟(四等) 20.5740 3.707 煤沟(四等) 河西 -9.6820 5.208 石龙崖(四等) 河西 18.9170 2.409 石龙崖(四等) 红土巷 8.0100 2.80---------------------------------------------------------------4.评定精度点或端点的点名<个数:2>--------------------------------------------------------------- 序号点名点名---------------------------------------------------------------1 大西岭河西2 石龙崖(四等) 河西---------------------------------------------------------------。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void setRow(const int i) { row = i; }
int getRow() const { return row; }
void setColunm(const int i) { column = i; }
int getColumn() const { return column; }
六、附录(完整代码)
(要求:按照代码所属文件不同分别附上,且代码须有完整注释。)
#include<iostream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<math.h>
#define max 50
class CMatrix
{
public:
CMatrix(){row=0; column=0;}; // 默认构造函数
二、设计内容
如图所示水准网, 和 是已知高程的水准点,并设这些点的已知高程无误差。图中P1和P2点是待定点。 和 点高程、观测高差和相应的水准路线长度见表4-3。试按间接平差法求各个待定点的平差高程。
表1 观测值与起始数据
线路号
观测高差(m)
水准路线长度(km)
已知高程(m)
1
+1.359
1
HA=35.000
V7=x2-x3-(h7-X2+X3)=x2-x3-1;
注意:(x和X的区别)
3.3 法方程构建与解算
由上式可得:
B=[1,0 , 0] L=[ 0 ] P=[ 2 ]
0,1,0 0 2
-1,0, 0 4 1
0, 0, 1 0 1
-1, 1, 0 7 2
1, 0, -1 1 2
0, 1, -1 1 1
2
+2.009
1
HB=36.000
3
+0.363
2
4
-0.640
2
5
+0.657
1
6
+1.000
1
7
+1.650
2
三、关键问题描述
(要求:对程序实现过程中所涉及的关键问题,请给出详细的求解与算法实现模型。)
3.1未知点近似高程计算
X1=HA+h1=36.359;
X2=HA+h2=37.009;
X3=HB+h4=35.360;
3.2 误差方程列立
V1=x1-(h1-X1+HA)=x1-0;
V2=x2-(h2-X2+HA)=x2-0;
V3=-x1-(h3-X1+HB)=-x1-4;
V4=x3-(h4-X3+HB)=x3-0;
V5=-x1+x2-(h5-X2+X1)=-x1+x2-7;
V6=x1-x3-(h6-X1+X3)=x1-x3-1;
bool operator==(const CMatrix& m); // 比括较运算符
bool operator!=(const CMatrix& m); // 比括较运算符
CMatrix operator+(const CMatrix& m); // 加运算符
CMatrix operator-(const CMatrix& m); // 减运算符
CMatrix& change(int i, int j);//交换矩阵的行
CMatrix& transpose(); // 矩阵转置
CMatrix& inverse(); // 矩阵求逆
法方程:BTPBx-BTPL=0
注(BT指的是B的转置)
3.4 精度估计
由法方程得出的x回代到V中,得到V的值。
再利用σo=√VTPV/(n-t)得出中误差,
再由σi=σo√QXiXi,可得各个点位中误差。
其中QXX是BTPB的逆。
3.5 程序设计流程图
四、算法运行结果与分析
由所给数据和所得到的中误差以及其他测量平差值,这个结果还比较合适
void input(); //输入矩阵
void outputMatrix(); // 输出该矩阵
void setValue(int row, int mn, double value) { A[row-1][column-1] = value; }// 设置(i,j)的值
double getValue(int row, int column) const { return A[row-1][column-1]; }// 设置行、列的值
中国矿业大学
China University of Mining and Technology
《数据结构与测绘软件开发》课程设计
中国矿业大学环境与测绘学院
2017-09-11
设计一:水准网平差程序的设计与实现
一、设计目的
我们学习了《数据结构与测绘软件开发》的课堂教学及其实验课程设计,为了提高学生计算机能力以更好地切实解决工程实际问题的能力,通过本次实习设计,可以使使学生深入了解并巩固课堂所学知识,也可以通过实践掌握测绘行业软件设计与开发的基本方法,深刻掌握矩阵运算、曲线/曲面拟合的数值解法,掌握不同类型的典型测绘软件设计方法,使得学生初步具备编写测绘软件常用算法的能力以及开发中小规模测绘专业软件的能力。
CMatrix& operator+=(const CMatrix& m); // 自加运算符
CMatrix& operator-=(const CMatrix& m); // 自减运算符
CMatrix operator-();// 取负数
CMatrix& operator*(const CMatrix& m); // 乘法运算符
CMatrix(int i, int j){row=i;column=j;} // 构造函数一
CMatrix(const CMatrix& m); // 复制构造函数
~CMatrix(void){/*cout<<"谢谢使用,矩阵所占空间以释放!"<<endl;*/} // 默认析构函数
CMatrix& operator=(const CMatrix& m); // 赋值运算符
五、小结
通过水准网程序设计,我知道加深了我对数据结构这一门课的知识的掌握。特别是对我测绘专业的内容有所联系,更加激发我去学习它的动力。在这次设计中,我遇到了不少问题,例如,在对误差方程的编写中,不懂得如何把其系数矩阵提取出来,通过向同学咨询我终于懂了。我对c++中类的设计不熟练,导致很多次程序没法运行。不过,通过查找书籍材料,我还是把它设计好了。虽然设计略微简单,但是原理我已经了解,我相信,以后即使做更复杂的设计,只要给我足够的时间,我可以做出更好地设计。
相关文档
最新文档