工程测量控制网平差算法设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程测量控制网平差算法设计
摘要:本文主要介绍了工程测量平差程序所用到的函数模型与算法,重点讨论了参数平差方法.对于近似坐标推算作了较多的分析,采用了深度遍历算法,并且解决了导线网和三角网近似坐标的
问题。在此基础上设计了能够解决工程测量中各种网型平差问题的平差算法。
关键词:测量平差参数平差工程测量网深度遍历
中图分类号:tb22文献标识码:a 文章编号:
abstract:this paper mainly introduces the engineering measurement adjustment procedure used by the function model and algorithm, discusses the parameter adjustment method. for approximate coordinate calculation made more analysis, using depth traversal algorithm, and solved the wire network and the triangular mesh approximation the problem of coordinate. based on the design can solve the engineering measurement of a variety of network type adjustment adjustment algorithm.
key words: surveying adjustment; parameter adjustment; engineering surveying;
引言
工程控制网在平差模型的选择上,由于参数平差误差方程组成非常有规律,便于程序解算,因此在平差实践中间接平差得到了广泛的应用,本文主要以参数平差为模型建立数据结构,并以此编写
主要算法解决以下问题。一、最小二乘平差原理在程序中的实现;二,适合各种工程测量网型的点位近似坐标的推算;三、程序能解决理论上可解算的各种复杂网型。设计出能适应导线网,纯测角网,纯测边网,边角联合网,水准网,前、后、侧方交会网,附有限制参数的网型等的各种平差问题的通用算法。
1工程测量中的参数平差
参数平差通常选取待定点的坐标平差值为未知数,平差后直接求得待定点的坐标平差值,不必再进行其他换算,这种平差方法方便快捷,被广泛应用于工程平差计算中。参加平差的量可以是网中的直接观测量,如方向、边长,也可以是它们函数。参数平差的函数模型是误差方程,它是表达未知数与观测量之间关系的方程式。一般工程测量平面控制网的观测对象主要是方向和相临点之间的距离。因此坐标平差时主要列立各观测方向和观测边长的误差方程,再按照间接平差法的原理和步骤,由误差方程和观测值的权组成未知数法方程去解算待定点坐标平差值,并进行精度评定。
参数平差函数模型误差方程可概括为,而对于非线性函数,亦可以通过“泰勒公式”转化为线性式并最终化为以上形式。当以坐标为参数时,边与角的误差方程可归纳下:
将式按照最小二乘原理推导,
(误差方程)=0(法方程)
转置后 .令,则为法方程系数阵。
平面控制网按参数平差时,网中每一观测值都应该列立一个误
差方程式。为便于计算,通常总是将观测值改正数表示为带定点坐标近似值改正数的线性函数式。坐标平差的第一步是列立误差方程式。对于方向网而言,参与平差的观测值是未定向的方向值,选定的未知数是待定点的横纵坐标值。按照消去定向角未知数法则(史赖伯法则),消去定向角未知数的步骤为:1,按每个测站列出该测站的全部方向误差方程式,不必列出定向角未知数,各误差方程式的权均为1:2,在每个测站的误差方程之后,增加一个该测站的和方程,此和方程的权为该站观测方向的负倒数。
无论是何种网型,我们都可以将其解析为各种基本的几何元素,其中至少包含一个测站,在一个测站上已知两点求照准点时均可以格式化为公式:,。
2测量平差程序的数据结构与算法
采用附有限制条件的平差模型,程序以概算后的方向,边长观测值,近似坐标,固定方位角和基线为平差元素,函数模型和算法适合于各种控制网(三角网、测边网、边角网导线网、混合网、水准网)的平差计算和精度评定工作,平差结果包括点位中误差以及一些衍生的结果数据。
为了能适应不同网型的求解需要,将所有数据按点属性展开处理。并在点的基础上用边进行传输求解。无论在何种网型中,边数据始终贯穿其内,这就给我们构件数据结构提供了可靠的依据。
2.1近似坐标与近似高程的推算
通过广度遍历以测站为节点逐点推算近似坐标同样也可以采用
深度遍历算法,下面给出了深度遍历有向图的方法
public function depthsearch(j as integer, i as integer) for k = 1 to points(i).irr_num ‘传入的参数测站方向循环
for jj = 1 to points(points(i).irr_ate(k).target).irr_num ‘‘照准站方向循环
if
points(points(i).irr_ate(k).target).irr_ate(jj).target = i then ‘照准点回照本站求方向标号,如果是i则证明是以知站点,(默认当前点已知,同时照准点已推算)
stazimuth=azimuth(points(i).x,points(i).y,points(point s(i).irr_ate(k).target).x,
points(points(i).irr_ate(k).target).y) ‘提取本站其始方向角值
angle = getl(points(i).irr_ate(k).l) ‘提取本站方向
exit for ‘ hheight = point(mesite).height
end if
next jj
points(i).irr_ate(k).l = getl(points(i).irr_ate(k).l) - angle + stazimuth
points(points(i).irr_ate(k).target).x=points(i).x+sval e(i,k)*cos(getl(points(i).irr_ate(k).l)) ‘计算照准点是测