测量平差课程设计报告

东南大学交通学院 测量平差课程设计报告

设计题目:专 业:班 级:学 号:姓 名:指导老师:日 期:

测绘工程专业

1. 课程设计目的 2. 课程设计任务目录

2 2 2

3. 课程设计重点以及基本要求4. 课程设计具体要求 5. 课程设计案例及分析6. 课程设计展示成果3 10

7. 课程设计源代码 8. 课程设计心得体会

1、课程设计目的

误差理论与测量平差是一门理论与实践并重的课程,其课程设计是测量数据处理理论学习的一个重要的实践环节,它是在我们学习了专业基础课“误差理论与测量平差基础”课程后进行的一门实践课程。其目的是增强我们对误差理论与测量平差基础理论的理解,牢固掌握测量平差的基本原理和基本公式,熟悉测量数据处理的基本技能和计算方法,灵活准确地应用于解决各类数据处理的实际问题,并能用所学的计算机理论知识,编制简单的计算程序。

2、课程设计的任务

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

(2)通过课程设计,培养学生运用本课程基本理论知识和技能,分析和解决本课程范围内的实际工程问题的能力,加深对课程理论的理解与应用。 (3)在指导老师的指导下,要求每个学生独立完成本课程设计的全部内容。

3、课程设计重点以及基本要求

课程设计要求每一个学生必须遵守课程设计的具体项目的要求,独立完成设计内容,并上交设计报告。在学习知识、培养能力的过程中,树立严谨、求实、勤奋、进取的良好学风。课程设计前学生应认真复习教材有关内容和《测量平差》课程设计指导书,务必弄清基本概念和本次课程设计的目的、要求及应注意的事项,以保证保质保量的按时完成设计任务。

本次课程设计重点是培养我们正确应用公式、综合分析和解决问题的能力,以及计算机编程能力。另外它要求我们完成1-2个综合性的结合生产实践的题目,如目前生产实践中经常用到的水准网严密平差及精度评定,边角网(导线)严密平差及精度评定等。

4、课程设计具体设计项目内容

总体思路:现有等级水准网的全部观测数据及网型、起算数据。要求对该水准网,分别用条件、间接两种方法进行严密平差,并进行平差模型的正确性检验。 水准网的条件平差:

①列条件平差值方程、改正数条件方程、法方程;

②利用自编计算程序解算基础方程,求出观测值的平差值、待定点的高程平差值; ③评定观测值平差值的精度和高程平差值的精度。 ④进行平差模型正确性的假设检验。 水准网的间接平差:

①列观测值平差值方程、误差方程、法方程;

②利用自编计算程序解算基础方程,求出观测值的平差值、待定点的高程平差值; ③评定观测值平差值的精度和高程平差值的精度。 ④进行平差模型正确性的假设检验。

平面控制网(导线网)严密平差及精度评定

总体思路:现有等级导线网的全部观测数据及网型、起算数据。要求对该导线网,用间接进行严密平差,并进行平差模型的正确性检验。 报告的编写

对手工解算控制网进行程序验证,编写课程设计报告。报告应包括起算数据、控制网图形、平差结果、精度指标,点位误差椭圆图等。成果应以表格形式给出,封面统一格式见附录。

5. 课程设计案例及分析

如图所示水准网,A、B两点为高程已知,各观测高差及路线长度如表1。

要求:按条件以及间接平差法分别求: (1) 待定点高程平差值; (2) 待定点高程中误差;

ˆh(3) p2和p3点之间平差后高差值7的中误差;

(4) 平差模型正确性检验(四等水准测量每公里高差观测中误差为±5毫米)。 5.1 水准网条件平差 求平差值、 列条件方程:

由题意可知:n=7,t=4,r=n-t=3.观测方程为

ˆ-hˆ+hˆ=0h125v1-v2+v5+7=0

ˆ-hˆ+H-H=0hv-v-4=01312

线性化得条件方程:13

ˆˆˆ-v3+v4+v6-3=0-h3+h4+h6=0ˆ+hˆ-hˆ=0h567

⎡1-10

⎢10-1

其中系数阵A=⎢

⎢00-1⎢

⎣000

组建法方程:

令1km的观测高差为单位权观测,即pi=

v5+v6-v7+7=0

0⎤⎡7⎤

⎢-4⎥0000⎥⎥,W=⎢⎥ ⎢-3⎥1010⎥

⎢⎥⎥

011-1⎦⎣7⎦010

11

=Si。即 ,又Qii=

sipi

⎡1

⎢⎢⎢Q=⎢⎢77⎢

⎢⎢⎢⎣

1

2

2

1

1

⎤⎥⎥⎥⎥

⎥,且法方程为NaaK+W=0,其中: ⎥⎥⎥2⎥⎦

⎡1-1⎢10

Naa=AQAT=⎢

⎢00⎢⎣00

0-1-[1**********]011

⎡1⎤⎢1⎥

⎥⎡1-10⎤⎢

⎢⎥⎢2⎥0⎥⎢⎥⎢10⨯⎢2⎥⎢000⎥

⎥⎢1⎥⎢

-1⎦⎢⎥⎣00

1⎥⎢

⎢2⎥⎣⎦

1

320

0251

0-1-1000101001

00⎤00⎥⎥10⎥

⎥1-1⎦

T

⎡3101⎤⎡3⎢1320⎥⎢1

⎥,由此可得法方程:⎢=⎢

⎢0251⎥⎢0

⎢⎢⎥

1014⎣1⎣⎦

解算法方程

1⎤⎡k1⎤⎡7⎤⎢k⎥⎢-4⎥0⎥⎥⎢2⎥+⎢⎥=0 1⎥⎢k3⎥⎢-3⎥⎥⎢⎥⎢⎥4⎦⎣k4⎦⎣7⎦

K=-NaaW由矩阵运算程序可得

-1

k1=-2.777,k2=2.346,k3=-0.138,k4=-1.023

3.1.1.1.4 计算改正数。由矩阵运算程序可得:V

=QATK

T

V=[-0.432.78-4.42-0.28-3.8-1.162.05]

计算平差值

ˆ=h+v,得:hˆ=[1.3592.0120.359-0.6400.6530.9991.652]T hi

ˆ,Hˆ,Hˆ ˆ=H+hˆ=H+hˆ=H+h又HP11P12P24123

ˆ=36.359,Hˆ=37.012,Hˆ=35.360 可得: HPP2P13

精度评定

ˆϕ1=H1+h1

⎡1ˆ⎢0ϕ2=H1+h2

,其中fT=⎢ˆ⎢0ϕ3=H2+h4

ˆ⎣0ϕ4=h7

000000⎤

100000⎥⎥,又Qϕϕ=fTQf-(AQf)TN-1AQf

aa

001000⎥

000001⎦

⎡0.427⎢0.225

由矩阵运算程序可得Qϕϕ=⎢

⎢0.268⎢

⎣-0.044

20

0.2250.268-0.044⎤0.5390.2480.292⎥⎥ 0.2480.696-0.448⎥

0.292-0.4480.740⎦

VTPV35.567ˆ=ˆ0=3.0 ==8.89即σ又σ

r4

ˆϕ=σˆ=1.9σ

1

得:

ˆϕ=σˆ=2.2σ

2

ˆ=2.5σϕ=σ

3

ˆϕ=σˆ=2.6σ

4

平差模型的正确性检验 原假设和备选假设为

ˆ02)=25 H1:E(σˆ02)≠25 H0:E(σ

VTPV35.567ˆ=ˆ0=3.0 ==8.89即σ又σ

r4

2

2

计算统计量χ=(4)

68.23

=2.7 25

2

1-2

1-2

以自由度f=4,α=0.05查得χ的分布表:χ2α=0.484,χ2α=11.1

22(χ,χ可见,χ在内,该平差模型正确,平差结果可用。 (4)αα)

1-2

1-2

2

5.2 水准网间接平差

平差值 列误差方程

ˆ、Xˆ、Xˆ为参数,由题意知可列出七个平差选取P、P2、P3三点的高程X1231

值方程

ˆ-Hh1+v1=X11

ˆ-Hh2+v2=X21ˆ-Hh+v=X

3

3

1

2

X1=H1+h1

ˆ-H 且X0=H+h h4+v4=X21232

ˆ-XˆX=H2+h4h5+v5=X321ˆ-Xˆh+v=X

6

6

1

3

ˆ-Xˆh7+v7=X23

⎡1⎢0⎢⎢1ˆ1-4v3=x

ˆ3代入可得误差方程v4=x 可得系数阵B=⎢0

⎢-1ˆ1+xˆ2-7v5=-x

ˆ1-xˆ3-1v6=x⎢1

⎢0ˆ2-xˆ3-1v7=x⎣

组成法方程

取2km的观测高差为单位权观测,即Pi=

ˆ1v1=xˆ2v2=x

01

00101

0⎤⎡0⎤

⎢0⎥0⎥⎥⎢⎥⎢4⎥0⎥⎥⎢⎥1⎥,L=⎢0⎥

⎢7⎥0⎥⎥⎢⎥-1⎥⎢1⎥

⎢1⎥-1⎥⎦⎣⎦

c2

= SiSi

⎡2⎤⎢2⎥⎢⎥⎢⎥1⎢⎥TTP=1N=BPB,W=BPL 有权阵,其中BB⎢⎥

⎢⎥2⎢⎥

2⎢⎥

⎢1⎥⎣⎦由矩阵运算程序可得:NBB

⎡7

=⎢⎢-2⎢⎣-2-2-2⎤⎡-8⎤

⎢15⎥5-1⎥W=,⎥⎢⎥ ⎢-14⎥⎦⎣-3⎥⎦

⎡7

⎢-2

ˆNx-W=0由BB可得法方程⎢

⎢⎣-2

解算法方程

-2

ˆ1⎤⎡-8⎤-2⎤⎡x⎢xˆ2⎥-⎢15⎥=0 5-1⎥⎥⎢⎥⎢⎥ˆ3⎥-14⎥⎦⎢⎣x⎦⎢⎣-3⎥⎦

-1

ˆ=NBBxW并由矩阵运算程序可得:

⎡-0.43⎤ˆ=⎢2.78⎥ x⎢⎥

⎢⎣-0.27⎥⎦

计算改正数

⎡-0.43⎤⎢2.78⎥⎢⎥⎢-4.43⎥⎢⎥

ˆ-l=⎢-0.27⎥ v=Bx

⎢-3.79⎥⎢⎥-1.16⎢⎥⎢2.05⎥⎣⎦

计算平差值

ˆ=h+v,得:hˆ=[1.3592.0120.359-0.6400.6530.9991.652]T hi

ˆ,Hˆ,Hˆ ˆ=H+hˆ=H+hˆ=H+h又HP11P12P24123ˆ=36.359,Hˆ=37.012,Hˆ=35.360 可得: HPPP123

精度评定

ˆ=xˆ1=Xˆ1+h1+H1ϕ1ˆ=xˆ2=Xˆ2+h2+H1ϕ2

ˆ=xˆ3=Xˆ3+h4+H2ϕ3

ˆ-Xˆ=xˆ4=Xˆ2-xˆ3+H1-H2+h2-h4ϕ23

⎡1

⎢0

其中FT=⎢

⎢0⎢⎣0

010

0⎤0⎥⎥, 1⎥⎥1-1⎦

T

又Qϕϕ=FNBBF

⎡100⎤

⎢010⎥⎡0.2130.1120.135⎤⎡1000⎤

⎥⎢0.1120.2700.124⎥⎢0101⎥Qϕϕ=FTNBBF=⎢⎥⎢⎥⎢001⎥⎢

⎢0.1350.1240.348⎥001-1⎥⎢⎥⎢⎣⎦⎣⎦

⎣01-1⎦

⎡0.2130.1120.135-0.023⎤

⎢0.1120.2700.1240.146⎥

⎥=⎢

⎢0.1350.1240.348-0.224⎥⎢⎥-0.0230.146-0.2240.370⎣⎦

ˆ0且σ

ˆϕ=σˆ=1.9σ

1

ˆϕ=σˆ=2.2σ

2

故有:

ˆ=2.5 σϕ=σ

3

ˆϕ=σˆ=2.6σ

4

平差模型的正确性检验

原假设和备选假设为

ˆ02)=25 H1:E(σˆ02)≠25 H0:E(σ

VTPV35.567ˆ=ˆ0=3.0 ==8.89即σ又σ

r4

2

2

计算统计量χ=(4)

68.23

=2.7 25

2

1-2

1-2

以自由度f=4,α=0.05查得χ的分布表:χ2α=0.484,χ2α=11.1

(χ2α,χ2α)可见,χ在内,该平差模型正确,平差结果可用。 (4)

1-2

1-2

2

6. 课程设计展示成果

检验过程部分截图如下

7. 课程设计源代码 using System;

using System.Collections.Generic;

using System.ComponentModel;

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 System.ComponentModel;

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. 课程设计心得体会

这是一次非常有意义的课程设计。通过这次误差理论与测量平差的课程设计,我对测量平差有了一个更深刻的理解。在课程设计中将我们所学的理论知识运用于实践,逐步在实践中认识体会测量平差的基本原理和基本公式,并熟悉测量数据处理的基本技能和计算方法。

俗话说得好,学以致用,我们平时学的理论知识就是为了在以后的生产实习中更好的应用,这次实习真正做到了理论与实际相结合。我感到很有意义。这次实习完全从测量平差的工程实际出发,加深我对书本知识的进一步理解。这次实习培养了我理论联系实际的能力、独立学习的能力、分析问题和解决问题的能力。

或许我们已对《误差理论与测量平差》这本书的理论知识有了一定了解,但将它应用于实践依然是我们的一个难点,尤其是将这门课程与计算机程序完美地结合。这便要求我们在原有的解题思路中加入C语言程序,并让它来帮助我们解决矩阵的复杂运算。既然用到了程序,我们就必须保证其运算的简洁性、正确性,尤其是在编写过程中要认真检查,为程序顺利运行打下基础。另外在各个子程序调用过程中,我们要充分考虑其顺序性并反复调试,以便得到理想结果。

这次实习使我深刻的认识到学习测量平差的重要性。作为一个大三的大学生即将要走上社会的,所以每一次的实习我们都要认真的完成,因为在以后工作中,没有人来帮助你,都是你自己来完成的,所以在学校我们要多学,多问,多掌握专业知识。作为一名测绘人,我们更要学会不怕吃苦,不怕累的精神。

总之,在这次课程设计中我不但过了比较充实,还收获了不少知识,以后也要珍惜我们的每一次实习。

东南大学交通学院 测量平差课程设计报告

设计题目:专 业:班 级:学 号:姓 名:指导老师:日 期:

测绘工程专业

1. 课程设计目的 2. 课程设计任务目录

2 2 2

3. 课程设计重点以及基本要求4. 课程设计具体要求 5. 课程设计案例及分析6. 课程设计展示成果3 10

7. 课程设计源代码 8. 课程设计心得体会

1、课程设计目的

误差理论与测量平差是一门理论与实践并重的课程,其课程设计是测量数据处理理论学习的一个重要的实践环节,它是在我们学习了专业基础课“误差理论与测量平差基础”课程后进行的一门实践课程。其目的是增强我们对误差理论与测量平差基础理论的理解,牢固掌握测量平差的基本原理和基本公式,熟悉测量数据处理的基本技能和计算方法,灵活准确地应用于解决各类数据处理的实际问题,并能用所学的计算机理论知识,编制简单的计算程序。

2、课程设计的任务

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

(2)通过课程设计,培养学生运用本课程基本理论知识和技能,分析和解决本课程范围内的实际工程问题的能力,加深对课程理论的理解与应用。 (3)在指导老师的指导下,要求每个学生独立完成本课程设计的全部内容。

3、课程设计重点以及基本要求

课程设计要求每一个学生必须遵守课程设计的具体项目的要求,独立完成设计内容,并上交设计报告。在学习知识、培养能力的过程中,树立严谨、求实、勤奋、进取的良好学风。课程设计前学生应认真复习教材有关内容和《测量平差》课程设计指导书,务必弄清基本概念和本次课程设计的目的、要求及应注意的事项,以保证保质保量的按时完成设计任务。

本次课程设计重点是培养我们正确应用公式、综合分析和解决问题的能力,以及计算机编程能力。另外它要求我们完成1-2个综合性的结合生产实践的题目,如目前生产实践中经常用到的水准网严密平差及精度评定,边角网(导线)严密平差及精度评定等。

4、课程设计具体设计项目内容

总体思路:现有等级水准网的全部观测数据及网型、起算数据。要求对该水准网,分别用条件、间接两种方法进行严密平差,并进行平差模型的正确性检验。 水准网的条件平差:

①列条件平差值方程、改正数条件方程、法方程;

②利用自编计算程序解算基础方程,求出观测值的平差值、待定点的高程平差值; ③评定观测值平差值的精度和高程平差值的精度。 ④进行平差模型正确性的假设检验。 水准网的间接平差:

①列观测值平差值方程、误差方程、法方程;

②利用自编计算程序解算基础方程,求出观测值的平差值、待定点的高程平差值; ③评定观测值平差值的精度和高程平差值的精度。 ④进行平差模型正确性的假设检验。

平面控制网(导线网)严密平差及精度评定

总体思路:现有等级导线网的全部观测数据及网型、起算数据。要求对该导线网,用间接进行严密平差,并进行平差模型的正确性检验。 报告的编写

对手工解算控制网进行程序验证,编写课程设计报告。报告应包括起算数据、控制网图形、平差结果、精度指标,点位误差椭圆图等。成果应以表格形式给出,封面统一格式见附录。

5. 课程设计案例及分析

如图所示水准网,A、B两点为高程已知,各观测高差及路线长度如表1。

要求:按条件以及间接平差法分别求: (1) 待定点高程平差值; (2) 待定点高程中误差;

ˆh(3) p2和p3点之间平差后高差值7的中误差;

(4) 平差模型正确性检验(四等水准测量每公里高差观测中误差为±5毫米)。 5.1 水准网条件平差 求平差值、 列条件方程:

由题意可知:n=7,t=4,r=n-t=3.观测方程为

ˆ-hˆ+hˆ=0h125v1-v2+v5+7=0

ˆ-hˆ+H-H=0hv-v-4=01312

线性化得条件方程:13

ˆˆˆ-v3+v4+v6-3=0-h3+h4+h6=0ˆ+hˆ-hˆ=0h567

⎡1-10

⎢10-1

其中系数阵A=⎢

⎢00-1⎢

⎣000

组建法方程:

令1km的观测高差为单位权观测,即pi=

v5+v6-v7+7=0

0⎤⎡7⎤

⎢-4⎥0000⎥⎥,W=⎢⎥ ⎢-3⎥1010⎥

⎢⎥⎥

011-1⎦⎣7⎦010

11

=Si。即 ,又Qii=

sipi

⎡1

⎢⎢⎢Q=⎢⎢77⎢

⎢⎢⎢⎣

1

2

2

1

1

⎤⎥⎥⎥⎥

⎥,且法方程为NaaK+W=0,其中: ⎥⎥⎥2⎥⎦

⎡1-1⎢10

Naa=AQAT=⎢

⎢00⎢⎣00

0-1-[1**********]011

⎡1⎤⎢1⎥

⎥⎡1-10⎤⎢

⎢⎥⎢2⎥0⎥⎢⎥⎢10⨯⎢2⎥⎢000⎥

⎥⎢1⎥⎢

-1⎦⎢⎥⎣00

1⎥⎢

⎢2⎥⎣⎦

1

320

0251

0-1-1000101001

00⎤00⎥⎥10⎥

⎥1-1⎦

T

⎡3101⎤⎡3⎢1320⎥⎢1

⎥,由此可得法方程:⎢=⎢

⎢0251⎥⎢0

⎢⎢⎥

1014⎣1⎣⎦

解算法方程

1⎤⎡k1⎤⎡7⎤⎢k⎥⎢-4⎥0⎥⎥⎢2⎥+⎢⎥=0 1⎥⎢k3⎥⎢-3⎥⎥⎢⎥⎢⎥4⎦⎣k4⎦⎣7⎦

K=-NaaW由矩阵运算程序可得

-1

k1=-2.777,k2=2.346,k3=-0.138,k4=-1.023

3.1.1.1.4 计算改正数。由矩阵运算程序可得:V

=QATK

T

V=[-0.432.78-4.42-0.28-3.8-1.162.05]

计算平差值

ˆ=h+v,得:hˆ=[1.3592.0120.359-0.6400.6530.9991.652]T hi

ˆ,Hˆ,Hˆ ˆ=H+hˆ=H+hˆ=H+h又HP11P12P24123

ˆ=36.359,Hˆ=37.012,Hˆ=35.360 可得: HPP2P13

精度评定

ˆϕ1=H1+h1

⎡1ˆ⎢0ϕ2=H1+h2

,其中fT=⎢ˆ⎢0ϕ3=H2+h4

ˆ⎣0ϕ4=h7

000000⎤

100000⎥⎥,又Qϕϕ=fTQf-(AQf)TN-1AQf

aa

001000⎥

000001⎦

⎡0.427⎢0.225

由矩阵运算程序可得Qϕϕ=⎢

⎢0.268⎢

⎣-0.044

20

0.2250.268-0.044⎤0.5390.2480.292⎥⎥ 0.2480.696-0.448⎥

0.292-0.4480.740⎦

VTPV35.567ˆ=ˆ0=3.0 ==8.89即σ又σ

r4

ˆϕ=σˆ=1.9σ

1

得:

ˆϕ=σˆ=2.2σ

2

ˆ=2.5σϕ=σ

3

ˆϕ=σˆ=2.6σ

4

平差模型的正确性检验 原假设和备选假设为

ˆ02)=25 H1:E(σˆ02)≠25 H0:E(σ

VTPV35.567ˆ=ˆ0=3.0 ==8.89即σ又σ

r4

2

2

计算统计量χ=(4)

68.23

=2.7 25

2

1-2

1-2

以自由度f=4,α=0.05查得χ的分布表:χ2α=0.484,χ2α=11.1

22(χ,χ可见,χ在内,该平差模型正确,平差结果可用。 (4)αα)

1-2

1-2

2

5.2 水准网间接平差

平差值 列误差方程

ˆ、Xˆ、Xˆ为参数,由题意知可列出七个平差选取P、P2、P3三点的高程X1231

值方程

ˆ-Hh1+v1=X11

ˆ-Hh2+v2=X21ˆ-Hh+v=X

3

3

1

2

X1=H1+h1

ˆ-H 且X0=H+h h4+v4=X21232

ˆ-XˆX=H2+h4h5+v5=X321ˆ-Xˆh+v=X

6

6

1

3

ˆ-Xˆh7+v7=X23

⎡1⎢0⎢⎢1ˆ1-4v3=x

ˆ3代入可得误差方程v4=x 可得系数阵B=⎢0

⎢-1ˆ1+xˆ2-7v5=-x

ˆ1-xˆ3-1v6=x⎢1

⎢0ˆ2-xˆ3-1v7=x⎣

组成法方程

取2km的观测高差为单位权观测,即Pi=

ˆ1v1=xˆ2v2=x

01

00101

0⎤⎡0⎤

⎢0⎥0⎥⎥⎢⎥⎢4⎥0⎥⎥⎢⎥1⎥,L=⎢0⎥

⎢7⎥0⎥⎥⎢⎥-1⎥⎢1⎥

⎢1⎥-1⎥⎦⎣⎦

c2

= SiSi

⎡2⎤⎢2⎥⎢⎥⎢⎥1⎢⎥TTP=1N=BPB,W=BPL 有权阵,其中BB⎢⎥

⎢⎥2⎢⎥

2⎢⎥

⎢1⎥⎣⎦由矩阵运算程序可得:NBB

⎡7

=⎢⎢-2⎢⎣-2-2-2⎤⎡-8⎤

⎢15⎥5-1⎥W=,⎥⎢⎥ ⎢-14⎥⎦⎣-3⎥⎦

⎡7

⎢-2

ˆNx-W=0由BB可得法方程⎢

⎢⎣-2

解算法方程

-2

ˆ1⎤⎡-8⎤-2⎤⎡x⎢xˆ2⎥-⎢15⎥=0 5-1⎥⎥⎢⎥⎢⎥ˆ3⎥-14⎥⎦⎢⎣x⎦⎢⎣-3⎥⎦

-1

ˆ=NBBxW并由矩阵运算程序可得:

⎡-0.43⎤ˆ=⎢2.78⎥ x⎢⎥

⎢⎣-0.27⎥⎦

计算改正数

⎡-0.43⎤⎢2.78⎥⎢⎥⎢-4.43⎥⎢⎥

ˆ-l=⎢-0.27⎥ v=Bx

⎢-3.79⎥⎢⎥-1.16⎢⎥⎢2.05⎥⎣⎦

计算平差值

ˆ=h+v,得:hˆ=[1.3592.0120.359-0.6400.6530.9991.652]T hi

ˆ,Hˆ,Hˆ ˆ=H+hˆ=H+hˆ=H+h又HP11P12P24123ˆ=36.359,Hˆ=37.012,Hˆ=35.360 可得: HPPP123

精度评定

ˆ=xˆ1=Xˆ1+h1+H1ϕ1ˆ=xˆ2=Xˆ2+h2+H1ϕ2

ˆ=xˆ3=Xˆ3+h4+H2ϕ3

ˆ-Xˆ=xˆ4=Xˆ2-xˆ3+H1-H2+h2-h4ϕ23

⎡1

⎢0

其中FT=⎢

⎢0⎢⎣0

010

0⎤0⎥⎥, 1⎥⎥1-1⎦

T

又Qϕϕ=FNBBF

⎡100⎤

⎢010⎥⎡0.2130.1120.135⎤⎡1000⎤

⎥⎢0.1120.2700.124⎥⎢0101⎥Qϕϕ=FTNBBF=⎢⎥⎢⎥⎢001⎥⎢

⎢0.1350.1240.348⎥001-1⎥⎢⎥⎢⎣⎦⎣⎦

⎣01-1⎦

⎡0.2130.1120.135-0.023⎤

⎢0.1120.2700.1240.146⎥

⎥=⎢

⎢0.1350.1240.348-0.224⎥⎢⎥-0.0230.146-0.2240.370⎣⎦

ˆ0且σ

ˆϕ=σˆ=1.9σ

1

ˆϕ=σˆ=2.2σ

2

故有:

ˆ=2.5 σϕ=σ

3

ˆϕ=σˆ=2.6σ

4

平差模型的正确性检验

原假设和备选假设为

ˆ02)=25 H1:E(σˆ02)≠25 H0:E(σ

VTPV35.567ˆ=ˆ0=3.0 ==8.89即σ又σ

r4

2

2

计算统计量χ=(4)

68.23

=2.7 25

2

1-2

1-2

以自由度f=4,α=0.05查得χ的分布表:χ2α=0.484,χ2α=11.1

(χ2α,χ2α)可见,χ在内,该平差模型正确,平差结果可用。 (4)

1-2

1-2

2

6. 课程设计展示成果

检验过程部分截图如下

7. 课程设计源代码 using System;

using System.Collections.Generic;

using System.ComponentModel;

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 System.ComponentModel;

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. 课程设计心得体会

这是一次非常有意义的课程设计。通过这次误差理论与测量平差的课程设计,我对测量平差有了一个更深刻的理解。在课程设计中将我们所学的理论知识运用于实践,逐步在实践中认识体会测量平差的基本原理和基本公式,并熟悉测量数据处理的基本技能和计算方法。

俗话说得好,学以致用,我们平时学的理论知识就是为了在以后的生产实习中更好的应用,这次实习真正做到了理论与实际相结合。我感到很有意义。这次实习完全从测量平差的工程实际出发,加深我对书本知识的进一步理解。这次实习培养了我理论联系实际的能力、独立学习的能力、分析问题和解决问题的能力。

或许我们已对《误差理论与测量平差》这本书的理论知识有了一定了解,但将它应用于实践依然是我们的一个难点,尤其是将这门课程与计算机程序完美地结合。这便要求我们在原有的解题思路中加入C语言程序,并让它来帮助我们解决矩阵的复杂运算。既然用到了程序,我们就必须保证其运算的简洁性、正确性,尤其是在编写过程中要认真检查,为程序顺利运行打下基础。另外在各个子程序调用过程中,我们要充分考虑其顺序性并反复调试,以便得到理想结果。

这次实习使我深刻的认识到学习测量平差的重要性。作为一个大三的大学生即将要走上社会的,所以每一次的实习我们都要认真的完成,因为在以后工作中,没有人来帮助你,都是你自己来完成的,所以在学校我们要多学,多问,多掌握专业知识。作为一名测绘人,我们更要学会不怕吃苦,不怕累的精神。

总之,在这次课程设计中我不但过了比较充实,还收获了不少知识,以后也要珍惜我们的每一次实习。


相关内容

  • 大坝变形监测网优化设计
  • 课程编号:课程性质:必修 <工程测量学课程设计与实习>报告 学院:测绘学院 专业:测绘工程 地点:三峡.葛洲坝.隔河岩工程 班级: 姓名: 学号: 教师: 2016年6月19日 至 2016年7月9日 目录 第一部分大坝变形监测网优化设计课程设计 .................... ...

  • 测量平差基础例题和习题选择方案
  • 2004年 第7期 测 绘 通 报 57 文章编号:049420911(2004) 0720057203 中图分类号:P207. 2+ 文献标识码:B 测量平差基础例题和习题选择方案 姚吉利, 孔维华 (山东理工大学建筑工程学院, 山东淄博255091) Selection of Instances ...

  • 控制测量课程设计
  • 石桥子1:500地形测量技术设计 1.1任务情况 本次控制测量任务和作业内容是位于本溪石桥子经济技术开发1.任务概述 区,为了辽宁科技学院的发展,需要在本溪石桥子经济技术开发区辽宁科技学院附近测绘大比例尺地形图.需要在上平台子村.和石桥子镇测区范围内建立D级GPS控制网.我组负责石桥子村约20km2 ...

  • [测量程序设计]课程教学大纲格式
  • 测绘工程专业 课程教学大纲 [课程名称]测量程序设计 [课程编码]A [课程类别]专业必修课 [课 时]56学时 [学 分]3.0学分 [课程性质.目标和要求] 课程性质:<测绘程序设计>是测绘工程专业本科选修的一门的专业基础课, 是测绘与程序设计理论联系实际的重要环节,在培养学生严谨的 ...

  • 测量程序设计报告
  • 环境与测绘工程学院 课程论文 学年学期: 2016-2017(一) 课程名称: 测量程序设计 论文题目: 附合导线平差求解 姓 名: 胡慧茹 学 号: 2014100455 任课教师: 白洪伟 目录 一 实训目的.....................................3 二 实训任 ...

  • 测绘考研咨询
  • 山东科技大学泰山科技学院测绘工程开办的课程(从学长课表统计了解的大一至大四上学期课程,专业核心课都是武大版的,课程表里有些名称可能和教材有所不同) 1.数学: <高等数学>上下册.<线性代数>.<概率论与数理统计>: 2.英语:<大学体验英语>四册.& ...

  • 地籍控制测量技术设计书
  • 设计成绩 批阅教师 日 期 课 程 设 计 课程名称 设计题目 测绘工程项目设计与实施 XXXXXXXXX 地籍控制测量技术设计 专业年级 学 号 测绘 1421 [1**********]15 XXX XXX 学生姓名 指导教师 2015 年 11 月 20 日 XXXXXXXXX 地籍控制测量技 ...

  • 测量程序设计实习报告
  • 测量程序设计实习报告 姓名: 班级: 学号: 教师评语: 日期:二零一四年十二月 实验名称:使用C#开发环境建立测量程序框架 一.实验的目的与任务: (1) 学会用C#窗体程序开发环境建立应用程序框架方法 (2) 学会使用常见的Windows 控件 (3) 根据自身需要设计一个测量程序界面 二.实验 ...

  • 数字测绘产品检查报告
  • 编号:GTCHD2011001 数字测绘产品检查报告 (此中心城区的报告仅供本项目参考,请以斗门项目实际情况编写) 产品名称:珠海市中心城区规划基础数据 建库工程 测区名称:珠海市中心城区 生产日期:2012年2月 生产单位:珠海市测绘院(**单位或所) (****片区) 珠海市中心城区规划基础数据 ...