版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章第四章 平面控制网程序设计平面控制网程序设计 本章重点:本章重点:1.1.近似坐标计算近似坐标计算2.2.误差方程的建立系数阵误差方程的建立系数阵B B及常数项阵及常数项阵L L的的生成生成3.3.基于累加性,直接生成法方程系数阵及常基于累加性,直接生成法方程系数阵及常数项阵数项阵4.4.定权定权一、概述 程度网是指用经典的丈量手段测边、测角等布设的平面控制网,根据观测值类型的不同,程度网可分为测角网、测边网、导线网等不同的网型。程度网平差的目的主要就是确定未知点的平面坐标以及其精度。1程度网的观测值 程度网的观测值可分为方向值、边长和方位角三类。对于一个详细的程度网,三类观测值不一定全
2、部存在。例如,传统的三角网仅有方向值,导线网既有边长又有方向值,三边网仅有边长观测值。并假定方向值、边长、方位角都已归算到同一投影面的观测值。2平差方法平差方法 对程度网进展平差时,可根据实践情况选择对程度网进展平差时,可根据实践情况选择不通的平差方法。本课程中,直接选择间接平差不通的平差方法。本课程中,直接选择间接平差模型作为平差时所选的函数模型,即以点的坐标模型作为平差时所选的函数模型,即以点的坐标作为未知数。选择间接平差方法,误差方程具有作为未知数。选择间接平差方法,误差方程具有一致的方式,便于程序设计。一致的方式,便于程序设计。二、平面控二、平面控制网程序设制网程序设计流程计流程三、原
3、始数据文件格式三、原始数据文件格式 普通来说,不同的数据组织对应不同的数据文件,对应不同的读取数据文件的程序。 原始数据文件中共有四类数据,其顺序普通为概略信息、精度目的、知坐标、观测数据方向观测值、边长观测值、方位角观测值。1概略信息格式概略信息包括总点数、知点数、方向观测值数、边长观测值总数、方位角观测值总数。概略信息普通放在数据文件第一行,每个数据项都是一个详细的数字,不同的数据项用分隔符隔开如逗号、空格等。2 精度目的格式精度目的格式 精度目的是各种观丈量的中误差,可按照方精度目的是各种观丈量的中误差,可按照方位值中误差、边长固定中误差、边长的比例中误位值中误差、边长固定中误差、边长的
4、比例中误差、方位角中误差的顺序来填写。不同的数据项差、方位角中误差的顺序来填写。不同的数据项用分隔符隔开。用分隔符隔开。3 知坐标格式知坐标格式 一个知点的数据格式为:知点号、一个知点的数据格式为:知点号、x坐标值、坐标值、y坐标值。坐标值以米为单位。当有多个知点数坐标值。坐标值以米为单位。当有多个知点数据时,顺序陈列各知点的点名、据时,顺序陈列各知点的点名、 x坐标值、坐标值、y坐坐标值,每个控制点数据占一行。标值,每个控制点数据占一行。4 方向观测值格式方向观测值格式5 5边长观测值格式边长观测值格式 一条边长数据的格式为:点名一条边长数据的格式为:点名1 1、点名、点名2 2、边、边长观
5、测值。长观测值。 当有多条边时,按一条边的格式,每个边长当有多条边时,按一条边的格式,每个边长占一行,依次陈列全部边长。占一行,依次陈列全部边长。6 6方位角观测值格式方位角观测值格式 一条方位角数据格式为:测站点名、照准方一条方位角数据格式为:测站点名、照准方向点名、方位角观测值。方位角的格式为度分秒向点名、方位角观测值。方位角的格式为度分秒连写。当有多个方位角数据时,每个方位角占一连写。当有多个方位角数据时,每个方位角占一行,依次陈列全部方位角。行,依次陈列全部方位角。 读入原始数据也就是经过相应的函数翻开指定途径下的文本文件,逐行读取文本文件中的每行数据,在对读出的每行数据进展处置后,将
6、相应的信息存储到变量、数组中去,以便后面程序对数据进展操作、处置。四、原始数据读入及存储四、原始数据读入及存储四、平面控制网界面设计四、平面控制网界面设计 在进展控制网平差程序设计时,首先要对常用的控制网类型及相应的数据类型非常熟习;其次还要思索哪些观测数据可经过界面控件进展输入,哪些数据以数据文件的方式输入到程序中。 常用的平面控制网类型有:测角网、测边网、导线网。而这几种类型的控制网所涉及的数据方式包括:夹角、边长、边长约束条件及方位角约束条件。边角网数据输入界面一边角网数据输入界面一边角网数据输入界面二边角网数据输入界面二边角网数据输入界面三五、平面控制网近似坐标计算五、平面控制网近似坐
7、标计算1、测角网近似坐标计算过程、测角网近似坐标计算过程1定义一数组定义一数组a()来存储控制点点号和坐标;来存储控制点点号和坐标;定义一数组定义一数组GuanCeInFo来存储夹角包括来存储夹角包括前视点、测站点、后视点及角度值;前视点、测站点、后视点及角度值;2采用前方交会求待定点的坐标;采用前方交会求待定点的坐标; a、遍历一切角度信息,找到测站点为知点,且、遍历一切角度信息,找到测站点为知点,且其前视点为未知点、后视点为知点,用一变量其前视点为未知点、后视点为知点,用一变量i1记下该角度在数组记下该角度在数组GuanCeInFo中的位置;中的位置;再在角度信息中找到测站点为再在角度信息
8、中找到测站点为GuanCeInFoi1所在元素的后视点所在元素的后视点 ,且前视点为,且前视点为GuanCeInFoi1所在元素的测站点、后视点为所在元素的测站点、后视点为GuanCeInFoi1的前视点,并记下该角的前视点,并记下该角度在数组GuanCeInFo中的位置i2;找到i1和i2后,那么由这两个位置数组GuanCeInFo元素就构成了一个三角形,且角度是按逆时针; b、遍历一切角度信息,找到测站为知点,前视点也为知点,且后视点为未知点的角度,并用变量j1记录此时在GuanCeInFo的位置;再遍历角度信息,找到测站点为知点,前视点为未知点点号为GuanCeInFoj1元素的后视点点
9、号,且后视点点号为GuanCeInFoj1元素的测站点,并记下此时角度元素在GuanCeInFo中的位置j2;找到了j1和j2,就构成了一个三角形。3按2计算出一切未知点的坐标已求出坐标的点的个数等于未知点个数。2、待定点近似坐标的计算1测角网中待定点近似坐标的计算 ABC三角网待定点近似坐标可按余切公式计算,以右图为例,知A、B两点的坐标,观测了3个内角,计算待定点C坐标的余切公式为:的角度值。是经三角形闭合差分后、式中,XXYYYYYXXXbabacbabaccotcotcotcotcotcotcotcot2测边网中待定点近似坐标计算 三边网中待定点近似坐标可按测边交会计算,BAC在右图中
10、,知A、B两点的坐标,观测了边长S1 、S2,计算C点的坐标过程如下:由C点向对边引垂线,垂足为O,AO长度为l,根据余弦定理可得:22122221:2lShhSSSSlABAB为三角形高OS1S2h 待定点C的近似坐标为ABABAcABABAcThTlYYThTlXXsincossincos00式中:ABABABABABABSYYTSXXT/ )(sin/ )(cos3导线网中待定坐标的计算 1、首先计算待定边的方位角 2、根据坐标正算计算出待定点的近似坐标六、平面控制网误差方程建立六、平面控制网误差方程建立方法一、直接生成系数矩阵方法一、直接生成系数矩阵B和常数项矩阵和常数项矩阵L 在基于
11、间接平差的数学模型来进展程序设计时,在基于间接平差的数学模型来进展程序设计时,要弄清楚不同的控制网类型,由于不同的控制网要弄清楚不同的控制网类型,由于不同的控制网类型在组建误差方程的时候是不同的。程序在自类型在组建误差方程的时候是不同的。程序在自动组建误差方程时,应该分清类型,再逐个方程动组建误差方程时,应该分清类型,再逐个方程进展组建。进展组建。1测边网测边网 右图中,测得待定点间的边长为右图中,测得待定点间的边长为Li,设待定点设待定点的坐标平差值的坐标平差值 为参数,令为参数,令kkjjYXYX、kkkkkkjjjjjjyYYxXXyYYxXX0000,jkLi由上面可以列出 的平差值方
12、程为:iL22)()(jkjkiiiYYXXvLL按台劳公式展开,得0200200000000000000)()(,)()(jkiijkjkjkjkjkjkjkjkjkjkjkjkjkjkiiSLlYYXXSYYYXXXyySYxxSXSvL再令:式中: 1由式1可得测边的误差方程为:ikjkjkkjkjkjjkjkjjkjkilySYxSXySYxSXv00000000上式中右边4项之和是由坐标矫正数引起的边长矫正数。上式是测边坐标平差误差方程的普通方式,它是在假设两端都是待定点的情况,详细运用时需根据实践情况来运用。假假设j点为知点:a0 = (GuanceBianData(k4).prN
13、ode.X0 - GuanceBianData(k4).baNode.X0) * 1000 b0 = (GuanceBianData(k4).prNode.Y0 - GuanceBianData(k4).baNode.Y0) * 1000 L(i1 + k4, 1) = GuanceBianData(k4).bLength * 1000 - Sqr(a0 * a0 + b0 * b0) a1 = (GuanceBianData(k4).prNode.X0 - GuanceBianData(k4).baNode.X0) / Sqr(a0 * a0 + b0 * b0) b1 = (GuanceB
14、ianData(k4).prNode.Y0 - GuanceBianData(k4).baNode.Y0) / Sqr(a0 * a0 + b0 * b0 b(i1 + k4, Val(Right(GuanceBianData(k4).prNode.ID, 2) * 2 - 1) = a1 b(i1 + k4, Val(Right(GuanceBianData(k4).prNode.ID, 2) * 2) = b12 2测角网测角网 观测值为角度,参数为待定点坐标的平差观测值为角度,参数为待定点坐标的平差问题,称为测角网平差坐标方差。问题,称为测角网平差坐标方差。jhkLijkjh 在右图中,
15、观测角度为Li,设j、h、k均为待定点,参数为三点的坐标,并令、),(),(),(hhkkjjYXYXYX000000)(,iijhjkiijhjkiiiLLLlvLLyYYxXX代入,并令将为列方程,其观测方程对角度即观测角减去其近似角就是常数,代入上式得:ihjhjhhjhjhkjkjkkjkjkjjkjhjkjkjjhjhjkjkiijhjkilySXxSYySXxSYySXSXxSYSYvlv 200200200200200200200200)()()()()()()()(,平差的误差方程:以得出测角网坐标表达为坐标改正数就可再将方位角改正数表示的误差方程。我们这就是由方位角改正数假设
16、以角度列误差方程,其程序代码如下: preS = Sqr(OriginalData(k1).PreNode.X0 - OriginalData(k1).traNode.X0) * (OriginalData(k1).PreNode.X0 - OriginalData(k1).traNode.X0) + (OriginalData(k1).PreNode.Y0 - OriginalData(k1).traNode.Y0) * (OriginalData(k1).PreNode.Y0 - OriginalData(k1).traNode.Y0) baS = Sqr(OriginalData(k1)
17、.BackNode.X0 - OriginalData(k1).traNode.X0) * (OriginalData(k1).BackNode.X0 - OriginalData(k1).traNode.X0) + (OriginalData(k1).BackNode.Y0 - OriginalData(k1).traNode.Y0) * (OriginalData(k1).BackNode.Y0 - OriginalData(k1).traNode.Y0) If OriginalData(k1).isEnd = True Then a1 = (-1) * pp * (OriginalDat
18、a(k1).PreNode.Y0 - OriginalData(k1).traNode.Y0) / (preS * preS) a1用来存储x的系数 b1 = pp * (OriginalData(k1).PreNode.X0 - OriginalData(k1).traNode.X0) / (preS * preS) b1用来存储y的系数 b(k1, Val(Right(OriginalData(k1).PreNode.ID, 2) = a1 b(k1, Val(Right(OriginalData(k1).PreNode.ID, 2) + 1) = b13导线网 在对导线网进展平差程序设计
19、中,误差方程的建立经常采用边长和观测角度分别列误差方程,其误差方程的建立方式同测边网和测角网中误差方程的建立原理一样。 总之,对于以上几种控制网普通都采用待定点的坐标作为平差模型的参数,将观测值表示为这些参数的函数,并进展线性化。随后将这些观测方程组写成矩阵方式,并进展求解和精度评定。 根据程序设计时采用间接平差方法的特点,误差方程中系数矩阵B和常数项矩阵L中一行对应一个观测值角度、边长、方位角;普通先对平面控制网中一类观测值列误差方程,再对另外的观测值列误差方程,这样可以比较方便进展程序设计。误差方程的建立其实就是取出一个观测值,根据与该观测值直接联络的点类型及信息来计算相应未知参数前的系数
20、、常数项。 遍历完一切的观测值后,与系数矩阵、常数项矩阵对应的数组中也有了相应的数据。最后假设权阵也计算出来后,根据矩阵相关运算建立法方程,计算出参数的矫正值。方法二、基于法方程系数矩阵及常数项矩阵的累方法二、基于法方程系数矩阵及常数项矩阵的累加性,直接建立法方程加性,直接建立法方程PlBPBXBllllBBBBvvvVlBXVnTTnnn法方程由误差方程可直接组成式中:个观测值,误差方程为设全网共有110110110因程度网平差中观测值都是独立观丈量,权阵P为一对角阵,可得: 从上式可得到,法方程的组成具有累加性;每个累加项仅与一个观测有关,而与别的观测值无关。利用这一特性,在组成法方程时,
21、用循环语句计算每一个观测的累加项,并将计算结果累加到法方程的系数矩阵数组和自在项数组中,就得到了整个平面控制网的法方程。rrnrTrrrTrTTTrrnrTrrrTrTTTlPBlPBlPBlPBPlBBPBBPBBPBBPBPBB1011100010111000七、权阵的构建七、权阵的构建 平面控制网中各边长观测、角度观测相平面控制网中各边长观测、角度观测相互之间都是独立的,因此随机模型互之间都是独立的,因此随机模型 12020PQD中的权阵是对角阵。设网中有n1个角度观测n121,和n2边长观测221nSSS,n1+n2=n其权阵为:),(21121,nssnnnpppppdiagP要确定
22、权阵P,必需知先验方差DD也是对角阵,单位权方差20独一,但可恣意选取假设D知,那么定权公式为:220220,iiissiiPP定权时普通令220即以测角中误差为导线网平差的单位权观测中误差,由此可得:iSiiiPsP2222, 1为了确定边、角观测的权比,必需知22is和 这两个值在平差前是无法准确知道的,所以采用阅历定权的方法,即 。is和 采用厂方给定的测角、测距仪器的规范精度或是阅历数据。边长定权 。 在边角同测网中,权比是有单位的,而边长的权为其单位为秒2/m2。在这种情况下,角度的矫正数要以秒为单位,而边长的矫正数要取米为单位。iSSbai八、平差结果计算八、平差结果计算1坐标平差
23、值的计算坐标平差值的计算 将计算得到的坐标矫正数将计算得到的坐标矫正数 加上相应的近似坐加上相应的近似坐标标 ,得出坐标的平差值,得出坐标的平差值 。x0XX2角度和边长平差值得计算 经过计算,可以得到角度的矫正值和边长的矫正值,将这些矫正值加上对应的近似值,即可以得出角度和边长的平差值。九、精度评定1单位权中误差,即测角中误差为rPVVT02待定点点位中误差 由 可得未知数的权倒数,那么基于上面求得的单位权中误差,即可获得点位中误差。1BBN平面控制网程序设计实现测角网为例平面控制网程序设计实现测角网为例测角网:测角网:4 4个知点,个知点,2 2个待定点,观测了个待定点,观测了1818个角
24、度个角度1.1.原始数据文件组织原始数据文件组织2.2.用来存储数据文件中数据的变量、数据的定义用来存储数据文件中数据的变量、数据的定义 变量:存储知点个数变量:存储知点个数m_knPnumberm_knPnumber、网中总、网中总点数点数(m_Pnumber)(m_Pnumber)、观测边个数、观测边个数(m_Snumber)(m_Snumber)、观、观测角个数测角个数(m_Lnumber)(m_Lnumber)、方位角个数、方位角个数(m_Tnumber)(m_Tnumber)、验前中误差验前中误差m m 存储观测边长:存储观测边长: 起点点号数组起点点号数组s_dir1()s_dir
25、1()、终点、终点点号数组点号数组s_dir2()s_dir2()、观测边长数组、观测边长数组s_L()s_L() 存储观测角度:后视点点号数组存储观测角度:后视点点号数组dir1()dir1()、测站、测站点点号数组点点号数组dir2()dir2()、前视点点号数组、前视点点号数组dir3()dir3()、观、观测角度数组测角度数组angle();angle(); 存储方位角:起点点号数组存储方位角:起点点号数组T_dirl()T_dirl()、终点点、终点点号数组号数组T_dir2()T_dir2()、方位角数组、方位角数组T_L()T_L()u点名信息:控制点点名数组点名信息:控制点点名
26、数组 P_Name() P_Name()u存储点坐标:网中平面控制点数组存储点坐标:网中平面控制点数组 XY() XY()u方法一存储系数矩阵、常数项矩阵以及权方法一存储系数矩阵、常数项矩阵以及权阵:系数矩阵数组阵:系数矩阵数组 B() B()、常数项数组、常数项数组 L() L()、权阵、权阵数组数组 P() P()u方法二法方程系数矩阵、法方程常数项:方法二法方程系数矩阵、法方程常数项:权阵权阵P()P()、系数矩阵数组、系数矩阵数组 BTPB() BTPB()、常数项数组、常数项数组 BTPL()BTPL()Function GetstationNumber(name As String
27、)Dim i as IntegerFor i = 0 To m_Pnumber If P_Name(i) Then 将待查点名与曾经存入点名数组的点比较将待查点名与曾经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Else 待查点是新的点名,将新点名放到待查点是新的点名,将新点名放到 P_Name数数组中组中 P_Name(i) = name GetstationNumber = i End IfNext iEnd Function函数GetstationNumber功能:存储点名,前往点名对应的点号方法二:法方程系数项累加程
28、序实现方法二:法方程系数项累加程序实现Dim t As Integer, i As Integer, j As IntegerDim t As Integer, i As Integer, j As Integert = 2 t = 2 * * m_Pnumber m_PnumberFor i = 0 To tFor i = 0 To t For j = 0 To i For j = 0 To i BTPB(i, j) = BTPB(i, j) + Ar(i) BTPB(i, j) = BTPB(i, j) + Ar(i) * * Ar(j) Ar(j) * * Pr Pr Next j Next jNext iNext i上面即为将上面即为将PrBrTBrPrBrTBr累加到累加到BTPB()BTPB()的程序代码。的程序代码。 由于一个误差方程最多有4个角度误差方程中非零元素为36个非零元素,Ar中有大量的0元素,PrATrAr中有16个非零元素,其他的都是0,所以上面的程序只需16次累加是有意义的,其他的都是将0累加到法方程中。为此,可思索仅进展非零系数的累加。 假假设用B 存放A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃2025年甘肃西北师范大学旅游学院诚聘海内外高层次人才笔试历年参考题库附带答案详解
- 2025年度装配式建筑土建清工承包合同示范文本6篇
- 漯河2024年河南漯河市发展和改革委员会所属事业单位招聘3人笔试历年参考题库附带答案详解
- 湖州浙江湖州长兴县综合行政执法局长兴人事人才网招聘辅助执法人员8人笔试历年参考题库附带答案详解
- 泉州2025年福建泉州师范学院面向具有突出贡献运动员招聘体育教师笔试历年参考题库附带答案详解
- 成都四川成都市双流区黄龙溪学校招聘体育教师笔试历年参考题库附带答案详解
- 廊坊2025年河北廊坊香河县选聘教师100人笔试历年参考题库附带答案详解
- 2025年湖南娄底市涟源市国家粮食储备有限责任公司招聘笔试参考题库附带答案详解
- 2025年湖北黄冈市浠水县城市发展投资集团有限公司招聘笔试参考题库附带答案详解
- 2025年广西桂林市雁山区事业单位直接招聘7人历年高频重点提升(共500题)附带答案详解
- 挖掘机运输方案
- 民企廉洁培训课件
- 飞书使用培训课件
- 食品生产许可证办理流程详解
- 2023年1月自考07484社会保障学试题及答案含解析
- 餐饮咨询服务合同范本
- 股权投资的基本概念与原理
- 数据交换详细设计说明书
- 最全海外常驻和出差补助管理规定
- 工程质保金返还审批单
- 【可行性报告】2023年电动自行车项目可行性研究分析报告
评论
0/150
提交评论