测量平差课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、需求分析:

总体描述:

控制网平差程序对野外控制网观测数据进行平差数据处理,其目的就是根据最小二乘原理,消除网中的各种几何矛盾,求出全网各待定元素(未知点的平面坐标或三维坐标)

功能需求:

1.优化设计:根据控制网的观测精度与网形,全面评定网的精度

2.数据输入:外部数据倒入

3.概算:自动完成近似坐标的推算。

4.平差计算:对观测数据进行精密平差计算,得到平差后的点位坐标,方向观测值,边长观测值等,精度评定。

5.成果输出:控制网图形输出,平差结果报表及其输出,绘制误差椭圆。

二、系统设计

系统设计是课程设计的提纲与指导,它主要分为四大模块:1.数据输入模块;2.数据预处理模块;3.平差计算模块;4.成果输出模块。后面两个星期的实习基本上按照系统设计执行

模块一:数据输入模块

数据文件设计:

ControlNetName, name1

Surveyor, Name2

Recorder, Name3

Date, ##-##-##

FixPointNum, Number1

UnknownPointNum, Number2

AngleObsNum, Number3

DistanceObsNum, Number4

AllObsNum, Number5

AngleRmsError, m1

DistRmsError, m2

WeightedError, m

END Header

主体数据

观测数据:

测站点号,照准点号,方向观测值

测站点号,照准点号,距离观测值

模块二:数据预处理模块

坐标概算:

j为测站,i为照准点,k为与测站j相邻的已知点

则有:Tji=Tij+A

Xi=Xj+Sji*cos(Tji)

Yi=Yi+ Sji*sin(Tji)

Tij=arctan((Yj-Yi)/(Xj-Xi))

每遇到未知的照准点皆重复以上四部。

模块三:平差计算模块

1. 列出误差方程及条件式

间接平差模型:

误差方程: 角度观测值的误差方程:

其中:

边长观测值的误差方程:

由近似坐标计算而得 为实测边长

2. 定权

已知测角精度为 δ1,边长的观测精度为δ2, 令方向观测值的权 P=1, 则边长观测值的权 P=δ*δ/S

(计算权阵时要注意与B 及L 系数阵的单位要统一)

3. 组成法方程

4. 解算法方程,

求得dX=[dx1 dy1 dx2 dy2 …] 5. 平差后的坐标值计算X=X+dX 。 6.精度评定,计算误差椭圆参数等

ij S ij S L BX V +=ij j ij j ij i ij i ij ij l Y T X T Y T X T V +++--=δδδδ0

sin cos sin cos ij

ij ij S S l -=000

''0

''cos ,sin ij

ij

ij ij

ij

ij D

T b D

T a ρρ-

==ij

ij i ij L T Z l -+-=0

0)

(

0000

i

j

i j ij X X

Y Y arctg T --=ij j ij j ij i ij i ij i ij l Y b X a Y b X a Z V +--++-=δδδδδ0

=+PL B PBX B T

T PL

B PB B X T

T

1

)(--=

中误差:

未知数的协因数阵

待定点点位误差

误差椭圆元素计算:

长半径方位角:

长半径 : 短半径:

平差程序编写时的关键是系数阵B,L 及权阵P 的编写 B 及L 的设计流程:

B 是26行11列(18行方向观测人+8行距离观测) 11列的未知数为:

X3,Y3,X4,Y4,X5,Y5,Z1,Z2,Z3,Z4,Z5(Zi 为定向角误差) L 为26行1列 P 为26行26列

模块四:成果输出模块

控制网图形,误差椭圆,概算结果,评查报告(包括精度统计(平

面点位误差表),方向观测及距离观测成果表,控制点成果表等。)

三、进度安排及实施:

7月18日—7月19日:理清程序设计大概思路,完成系统设计及进度安排 7月20日:复习原来的程序代码(文件的读写,角度类,矩阵类等)

X

PL B PL L PV V T

T T T )(+=t

n PV V m T

=01

)(-=PB B Q T x yy

y xx x Q m m Q m m 00,±=±=2

2

y

x k m m m m +±=yy

xx xy Q Q Q arctg

Q -=221)

90(,0

00++=+=Q tg Q Q m E tgQ Q Q m E xy xx xy xx

7月21日:完成模块一

7月22日:完成模块二

7月23日—7月24日:完成模块三

7月25日:完成模块四

7月26日—7月27日:程序调试及完善

7月28日:课程设计报告的编写

实习过程中基本按照进度安排来完成,其中程序调试及完善花费的时间比较长,差不多用了三天时间,知道7月28日上午才完成

四、程序代码

文件一:平差的主程序:TraverseNet.cpp

#include"StdAfx.h"

#include"TraverseNet.h"

#include"math.h"

#include

TraverseNet::TraverseNet(void)

{

m_FixPoint=NULL;

m_FixpNum=0;

m_UnknownPoint=NULL;

m_UnknownpNum=0;

m_AObsData=NULL;

m_AObsDataNum=0;

m_DObsData=NULL;

m_DObsDataNum=0;

m_AllpNum=0;

}

TraverseNet::~TraverseNet(void)

{

//释放动态数组内存

if(m_FixPoint!=NULL)

{

delete[] m_FixPoint;

m_FixPoint=NULL;

}

相关文档
最新文档