当前位置:文档之家› 测量平差课程设计报告精编WORD版

测量平差课程设计报告精编WORD版

测量平差课程设计报告精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】东南大学交通学院测量平差课程设计报告设计题目:专业:测绘工程专业班级:学号:姓名:指导老师:日期:目录1. 课程设计目的22. 课程设计任务23. 课程设计重点以及基本要求24. 课程设计具体要求 25. 课程设计案例及分析36. 课程设计展示成果107. 课程设计源代码 128. 课程设计心得体会 171、课程设计目的误差理论与测量平差是一门理论与实践并重的课程,其课程设计是测量数据处理理论学习的一个重要的实践环节,它是在我们学习了专业基础课“误差理论与测量平差基础”课程后进行的一门实践课程。

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

2、课程设计的任务(1)该课的课程设计安排在理论学习结束之后进行的,主要是平面控制网和高程控制网严密平差。

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

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

3、课程设计重点以及基本要求课程设计要求每一个学生必须遵守课程设计的具体项目的要求,独立完成设计内容,并上交设计报告。

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

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

本次课程设计重点是培养我们正确应用公式、综合分析和解决问题的能力,以及计算机编程能力。

另外它要求我们完成1-2个综合性的结合生产实践的题目,如目前生产实践中经常用到的水准网严密平差及精度评定,边角网(导线)严密平差及精度评定等。

4、课程设计具体设计项目内容总体思路:现有等级水准网的全部观测数据及网型、起算数据。

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

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

④进行平差模型正确性的假设检验。

水准网的间接平差:①列观测值平差值方程、误差方程、法方程;②利用自编计算程序解算基础方程,求出观测值的平差值、待定点的高程平差值;③评定观测值平差值的精度和高程平差值的精度。

④进行平差模型正确性的假设检验。

平面控制网(导线网)严密平差及精度评定总体思路:现有等级导线网的全部观测数据及网型、起算数据。

要求对该导线网,用间接进行严密平差,并进行平差模型的正确性检验。

报告的编写对手工解算控制网进行程序验证,编写课程设计报告。

报告应包括起算数据、控制网图形、平差结果、精度指标,点位误差椭圆图等。

成果应以表格形式给出,封面统一格式见附录。

5. 课程设计案例及分析如图所示水准网,A、B两点为高程已知,各观测高差及路线长度如表1。

已知数据表1要求:按条件以及间接平差法分别求:(1) 待定点高程平差值;(2) 待定点高程中误差;(3) p 2和p 3点之间平差后高差值的中误差;(4) 平差模型正确性检验(四等水准测量每公里高差观测中误差为±5毫米)。

5.1 水准网条件平差求平差值、列条件方程:由题意可知:n=7,t=4,r=n-t=3.观测方程为1251312346567ˆˆˆ0ˆˆ0ˆˆˆ0ˆˆˆ0h h h h h H H h h h hh h -+=-+-=-++=+-=线性化得条件方程:1251334656770403070v v v v v v v v v v v -++=--=-++-=+-+=其中系数阵A=1100100101000000110100000111-⎡⎤⎢⎥-⎢⎥⎢⎥-⎢⎥-⎣⎦,W=7437⎡⎤⎢⎥-⎢⎥⎢⎥-⎢⎥⎣⎦组建法方程:令1km 的观测高差为单位权观测,即1i i p s =,又1iii iQ S p ==。

即 7ˆh771122112Q ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦,且法方程为0aa N K W +=,其中: 111100100110010021010000101000020011010001101010000111000011112TTaa N AQA ⎡⎤⎢⎥⎢⎥--⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥==⨯⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥--⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦3101132002511014⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,由此可得法方程:123431017132040025131147k k k k ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥+=⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 解算法方程K =1aa N W --由矩阵运算程序可得3.1.1.1.4 计算改正数。

由矩阵运算程序可得:TV QA K =计算平差值ˆih h v =+,得:[]ˆ 1.359 2.0120.3590.6400.6530.999 1.652T h =- 又123111224ˆˆˆˆˆˆ,,P P P H H h H H h H H h =+=+=+ 可得: 123ˆˆˆ36.359,37.012,35.360P P P H H H ===精度评定11121232447ˆˆˆˆH h H h H h h ϕϕϕϕ=+=+=+=,其中1000000010000000010000000001Tf ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,又1()aaT T Q f Qf AQf N AQf ϕϕ-=-由矩阵运算程序可得0.4270.2250.2680.0440.2250.5390.2480.2920.2680.2480.6960.4480.0440.2920.4480.740Q ϕϕ-⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥--⎣⎦ 又235.567ˆˆ8.89=3.04T V PV r σσ===0即 得:1234ˆˆ= 1.9ˆˆ= 2.2ˆ= 2.5ˆˆ= 2.6ϕϕϕϕσσσσσσσσ====平差模型的正确性检验原假设和备选假设为又235.567ˆˆ8.89=3.04T V PV r σσ===0即 计算统计量268.23==2.725χ(4)以自由度f =4,α=0.05查得2χ的分布表:2211220.484=11.1ααχχ--=,可见,2χ(4)在221122ααχχ--(,)内,该平差模型正确,平差结果可用。

5.2 水准网间接平差平差值列误差方程选取1P 、2P 、3P 三点的高程1ˆX 、2ˆX 、3ˆX 为参数,由题意知可列出七个平差值方程 1111222133124432552166137723ˆˆˆˆˆˆˆˆˆˆh v X H h v X H h v XH h v X H h v X X h v XX h v X X +=-+=-+=-+=-+=-+=-+=- 且011102120324X H h X H h X H h =+=+=+ 代入可得误差方程11223143512613723ˆˆˆ4ˆˆˆ7ˆˆ1ˆˆ1v xv xv xv x v xx v x x v x x ===-==-+-=--=-- 可得系数阵100001001004,0010110710110111B L ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦组成法方程取2km 的观测高差为单位权观测,即2i i ic P S S ==有权阵2211221P ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦,其中,T TBB N B PB W B PL ==由矩阵运算程序可得:722251214BBN --⎡⎤⎢⎥=--⎢⎥⎢⎥--⎣⎦,8153W -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦由ˆ0BB N x W -=可得法方程123ˆ7228ˆ251150ˆ2143xx x ---⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥---=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦⎣⎦解算法方程1ˆBB x N W -=并由矩阵运算程序可得:计算改正数计算平差值ˆih h v =+,得:[]ˆ 1.359 2.0120.3590.6400.6530.999 1.652T h =- 又123111224ˆˆˆˆˆˆ,,P P P H H h H H h H H h =+=+=+ 可得: 123ˆˆˆ36.359,37.012,35.360P P P H H H === 精度评定100010001011⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥-⎣⎦T 其中F , 又T BB Q F N F ϕϕ=且0ˆσ故有:12340ˆˆ= 1.9ˆˆ= 2.2ˆ= 2.5ˆˆ= 2.6ϕϕϕϕσσσσσσσσ==== 平差模型的正确性检验原假设和备选假设为 又235.567ˆˆ8.89=3.04T V PV r σσ===0即 计算统计量268.23==2.725χ(4) 以自由度f =4,α=0.05查得2χ的分布表:2211220.484=11.1ααχχ--=, 可见,2χ(4)在221122ααχχ--(,)内,该平差模型正确,平差结果可用。

6. 课程设计展示成果检验过程部分截图如下7. 课程设计源代码using System;using System.Collections.Generic; using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;{public partial class Form1 : Form {public Form1(){InitializeComponent();private void label12_Click(object sender, EventArgs e){}private void button3_Click(object sender, EventArgs e){Application.Exit();}private void button2_Click(object sender, EventArgs e){foreach (Control ctrl in Controls)//或为groupBox1.Controls/panel1.Controls{if (ctrl is TextBox)ctrl.Text = "";}}private void textBox1_TextChanged(object sender, EventArgs e)}private void textBox2_TextChanged(object sender, EventArgs e) {}private void textBox3_TextChanged(object sender, EventArgs e) {}private void textBox4_TextChanged(object sender, EventArgs e) {}private void textBox5_TextChanged(object sender, EventArgs e) {}private void textBox6_TextChanged(object sender, EventArgs e) {private void textBox7_TextChanged(object sender, EventArgs e) {}private void label10_Click(object sender, EventArgs e){}private void textBox8_TextChanged(object sender, EventArgs e) {}private void textBox9_TextChanged(object sender, EventArgs e) {}private void textBox10_TextChanged(object sender, EventArgs e) {}private void button1_Click(object sender, EventArgs e){double ax = double.Parse(textBox1.Text);double ay = double.Parse(textBox2.Text);double bx = double.Parse(textBox3.Text);double by = double.Parse(textBox4.Text);double a1 = double.Parse(textBox5.Text);double a2 = double.Parse(textBox6.Text);double a3 = double.Parse(textBox7.Text);double b1 = double.Parse(textBox8.Text);double b2 = double.Parse(textBox9.Text);double b3 = double.Parse(textBox10.Text);double m, n, px, py;m = (a1 + a2 / 60 +a3 / 3600) * (Math.PI / 180);n = (a1 + a2 / 60 + a3 / 3600) * (Math.PI / 180);px = (ax * 1 / (Math.Tan(n)) + bx * 1 / (Math.Tan(m)) - (ay - by)) / (1 / (Math.Tan(n)) + 1 / (Math.Tan(m)));using System;using System.Collections.Generic; using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;{public partial class Form1 : Form {public Form1(){InitializeComponent();}private void label12_Click(object sender, EventArgs e){}private void button3_Click(object sender, EventArgs e){Application.Exit();}private void button2_Click(object sender, EventArgs e){foreach (Control ctrl in Controls)//或为groupBox1.Controls/panel1.Controls{if (ctrl is TextBox)ctrl.Text = "";}}private void textBox1_TextChanged(object sender, EventArgs e) {}private void textBox2_TextChanged(object sender, EventArgs e) {}private void textBox3_TextChanged(object sender, EventArgs e) {}private void textBox4_TextChanged(object sender, EventArgs e) {}private void textBox5_TextChanged(object sender, EventArgs e) {}private void textBox6_TextChanged(object sender, EventArgs e) {}private void textBox7_TextChanged(object sender, EventArgs e) {}private void label10_Click(object sender, EventArgs e){}private void textBox8_TextChanged(object sender, EventArgs e) {}private void textBox9_TextChanged(object sender, EventArgs e) {}private void textBox10_TextChanged(object sender, EventArgs e) {}private void button1_Click(object sender, EventArgs e){double ax = double.Parse(textBox1.Text);double ay = double.Parse(textBox2.Text);double bx = double.Parse(textBox3.Text);double by = double.Parse(textBox4.Text);double a1 = double.Parse(textBox5.Text);double a2 = double.Parse(textBox6.Text);double a3 = double.Parse(textBox7.Text);double b1 = double.Parse(textBox8.Text);double b2 = double.Parse(textBox9.Text);double b3 = double.Parse(textBox10.Text);double m, n, px, py;m = (a1 + a2 / 60 +a3 / 3600) * (Math.PI / 180);n = (a1 + a2 / 60 + a3 / 3600) * (Math.PI / 180);px = (ax * 1 / (Math.Tan(n)) + bx * 1 / (Math.Tan(m)) - (ay - by)) / (1 / (Math.Tan(n)) + 1 / (Math.Tan(m)));py = (ay * 1 / (Math.Tan(n)) + by * 1 / (Math.Tan(m)) + (ax - bx)) / (1 / (Math.Tan(n)) + 1 / (Math.Tan(m)));label15.Text = "" + px;label16.Text = "" + py;}private void label2_Click(object sender, EventArgs e){}private void label3_Click(object sender, EventArgs e){}private void label1_Click(object sender, EventArgs e){}private void label17_Click(object sender, EventArgs e){}private void label15_Click(object sender, EventArgs e){}private void label16_Click(object sender, EventArgs e){}}}py = (ay * 1 / (Math.Tan(n)) + by * 1 / (Math.Tan(m)) + (ax - bx)) / (1 / (Math.Tan(n)) + 1 / (Math.Tan(m)));label15.Text = "" + px;label16.Text = "" + py;}private void label2_Click(object sender, EventArgs e){}private void label3_Click(object sender, EventArgs e){}private void label1_Click(object sender, EventArgs e) {}private void label17_Click(object sender, EventArgs e) {}private void label15_Click(object sender, EventArgs e) {}private void label16_Click(object sender, EventArgs e) {}}}8. 课程设计心得体会这是一次非常有意义的课程设计。

相关主题