基于传递矩阵的导线网间接平差研究_赵亚红
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
28
昆明理工大学学报( 自然科学版)
0 0 0 0 Δ X jk ^ Δ Y jk ^ Δ X jk ^ Δ Y jk ^ - + + x y x yk - li j j k S0 S0 S0 S0 jk jk jk jk
第 39 卷
vi = - (2)
收稿日期:2013 - 12 - 25. 基金项目:国家自然科学基金项目(51178185);中央高校基本科研业务费资助(3142012067) . 女, 硕士, 讲师. 主要研究方向:测绘工程、 遥感图像及数据处理. E - mail:neu_zyh@ 163. com. 作者简介:赵亚红(1982 - ), 通信作者:张丽华( 1964 - ) , 博士, 教授. 主要研究方向:复合地基. E - mail: zhanglihua@ ncist. edu. cn
Abstract : The difficulty of traverse network adjustment program is increased due to the diversity of traverse network form and column form error equation. The laws of the side length and angle of traverse network are firstly analyzed in this paper. The rigorous adjustment conductor and the closed traverse is then realized using transfer matrix based on indirect adjustment. The traverse network drawing is also obtained by network structure. Finally,the correctness of the program is verified by an example. Key words: transfer matrix; Matlab; traverse network ; indirect adjustment; network mapping
Indirect Adjustment of Traverse Network Based on Transfer Matrix
ZHAO Yahong,HAO Yanjin,ZHANG Lihua,YU Mingming
( Architectural Engineering College,North China Institute of Science and Technology,Beijing 101601 ,China)
[6 ] [4 ] [2 - 3 ]
. 尽管有科技工作者利用 Matlab 平台, 设
和利用 Excel 进行数据导入
[5 ]
, 但仍然存在代码编写复杂, 数据存储不十分方便
与导线网网形的多样性、 列立误差方程形式复杂等特点, 研究了导线网中角
度、 边长的规律, 并利用传递矩阵建立了观测值误差方程, 实现了从已知数据、 观测数据 ( 边长和角度 ) 读 取, 导线网的间接平差计算、 精度评定及网图绘制, 并通过实例验证了软件功能模块的正确性 , 获得了可靠 的结果, 很好地解决了导线网观测值方程多样性的问题 , 为实现导线网间接平差程序的编制提供了保证, [7 ] 丰富了导线网平差程序的算法, 满足了人们多样化的需求 .
第 39 卷 第 5 期 2014 年 10 月
昆明理工大学学报( 自然科学版) Journal of Kunming University of Science and Technology( Natural Science Edition)
Vol. 39 No. 5 Oct. 2014
doi:10. 3969 / j. issn. 1007 - 855x. 2014. 05. 006
[8 ]
.
(
0 0 Δ Y jk Δ Y jh ^ xj - ρ" - ( S0 ) 2 ( S0 ) 2 jk jh
)
(
0 0 Δ Y jk ^ Δ X jk ^ Δ X jk Δ X jh ^ yj - ρ" x + ρ" y + - ( S0 ) 2 k ( S0 ) 2 k ( S0 ) 2 ( S0 ) 2 jk jk jk jh
第5 期
等:基于传递矩阵的导线网间接平差研究 赵亚红,郝延锦,张丽华,
27
1 传递矩阵及其建立
1. 1 传递矩阵间接平差思路 首先建立用于计算导线网中近似方位角和近似坐标的传递矩阵 , 然后利用观测值 ( 边长和角度 ) 方程 的规律, 根据传递矩阵列立观测值误差方程 , 最后利用 Matlab 强大的数值处理功能, 实现导线网数据的读 入( 包括已知数据坐标、 方位角, 观测值边长和角度 ) , 误差方程的列立, 导线网间接平差计算与精度评定 及其结果输出, 网图的绘制等功能. 1. 2 传递矩阵的建立 所谓传递矩阵就是事先将已知数据和观测数据信息依据一定的规则建立一个方便计算的中间矩阵 , 利用这个矩阵可以大大方便和简化复杂的平差计算 . 由于在导线网中, 观测值既有边长又有角度, 其两类 观测值的误差方程的形式又多种多样 . 根据导线网观测值及其误差方程的特点 , 利用导线网数据建立其传 递矩阵将其计算程序进行简化. 首先将导线网按照一定的顺序对网中的点进行编号 , 然后按照以下形式建立传递矩阵: 传递矩阵中的第一行数据从左至右依次表示已知点个数 , 未知点个数, 角度观测量个数, 边长观测量 个数, 总点数, 总观测量个数, 测角精度, 测边精度; “ 1” 第二行数据表示点号, 先已知后未知, 点号按照导线前进方向从 开始编号; 第三行是已知点坐标, 先是 X 坐标, 然后是 Y 坐标, 顺序与以上已知点顺序相同, 如果给出的是一个 “ 0” ( 方便矩阵运算 ) , 起始方位角和一个点的坐标, 那么第一个值为 接下来是方位角的值, 输入方式为度 分秒依次输入( 7 位的整数) . 终边方位角存储方式与起始边方位角相同 ; 第四行角度观测值的输入, 每一行存储一个观测角:先存储组成该角度的控制点点号, 按照导线的前 , 进方向依次存储, 然后是角度值, 度、 分、 秒分开存储, 最后记录其属性, 如果是左角则记为“1 ” 如果是右 “ 0” , 角则记为 以便于计算;最后是边长观测值, 存储方式与角度存储方式类似, 依导线前进方向存储边长 的起点、 终点和边长观测值.
基于传递矩阵的导线网间接平差研究
赵亚红,郝延锦,张丽华,于明明
( 华北科技学院 建筑工程学院,北京 东燕郊 101601 )
摘要: 由于导线网形和列立误差方程形式的多样性 , 使得编制导线网平差程序十分复杂 . 本文在 Matlab 环境下在分析了导线边长和角度规律的基础上 , 将导线网数据按照一定的要求组成传递 矩阵, 运用间接平差原理, 实现了附合导线和闭合导线的严密平差, 并利用网图结构实现了导线 网的图形绘制, 通过实例验证了程序的正确性. 关键词: 传递矩阵;Matlab;导线网;间接平差;网图绘制 中图分类号:P22 文献标志码:A 文章编号:1007 - 855X( 2014 ) 05 - 0026 - 04
)Biblioteka Baidu
0
0
(1)
0 0 " Δ Y jh ^ " Δ X jh ^ - y - li ρ ρ ( 0 )2x h ( S0 ) 2 h S jh jh
式( 1 ) 是角度观测值误差方程的一般形式, 即组成观测角 的三个点均为未知点, 然而在导线的转折角测量中并不是组成 所有的转折角的三个控制点均是未知点 , 主要有五种情况, 如图 1 所示. 2 ) 边长观测值的误差方程为:
0 引 言
众所周知, 导线网是建立平面控制的一种常见方法 , 由于其观测方便, 布设灵活, 在实际工作中得到广 泛的应用
[1 ]
. 但因其布设形式的多样性, 使得在平差计算中, 列立误差方程时, 难于找到统一的规律和方
C + + 、VC + + 等语言开发的,由于这些编程语言内部很少 法. 现有的导线网平差软件多数都是基于 VB 、C 、 嵌套数值处理模块,在数值计算时,特别是大规模的数值运算,显得力不从心,不得不编写大量的数值 计算模块, 使得程序冗长, 效率较低. Matlab 语言不仅具有强大的数值计算能力 、 卓越的数据可视化功能, 丰富的工具箱、 而且同样具有其他编程语言的交互 GUI 功能 计出导线网的数据结构 等诸多问题. 本文基于 Matlab 优势
[9 ]
, 最后通过 line 函数进行图形绘制.
3 软件测试及试验分析
10] 中第 41 页 5. 5. 57 的算例, 依据已知和观测数据信息建立的传递矩 本次测试数据采用参考文献[ t , t , 阵为 通过程序读取该传递矩阵 中的数据 建立误差方程进行平差计算, 最后输出平差结果、 精度评定 及导线网图程序运行结果如图 3 所示. 此算例的传递矩阵 t 中元素为: 4 7 9 8 11 17 5 0. 5 0 0 0 12213456789 2343. 895 5140. 882 2272. 045 5071. 330 2272. 045 5071. 330 2343. 895 5140. 882 0 0 0 1 2 3 026 35 54 1 0 0 0 0 2 3 4 193 25 58 1 0 0 0 0 3 4 5 269 15 24 1 0 0 0 0 4 5 6 138 32 08 1 0 0 0 0 5 6 7 287 36 28 1 0 0 0 0 6 7 8 214 07 46 1 0 0 0 0 7 8 9 205 08 28 1 0 0 0 0 8 9 2 235 44 32 1 0 0 0 0 9 2 1 229 33 09 1 0 0 0 0 2 3 250. 872 0 0 0 0 0 0 0 0 3 4 259. 454 0 0 0 0 0 0 0 0 4 5 355. 886 0 0 0 0 0 0 0 0 5 6 318. 658 0 0 0 0 0 0 0 0 6 7 258. 776 0 0 0 0 0 0 0 0 7 8 269. 484 0 0 0 0 0 0 0 0 8 9 272. 719 0 0 0 0 0 0 0 0 9 1 441. 598 0 0 0 0 0 0 0 0
2 利用传递矩阵进行间接平差
2. 1 对于近似值的计算 由于角度观测值, 涉及到三个点, 首先利用传递矩阵中已知数据中找到已知角度 , 然后根据第四行中 1] 角度观测值判断, 观测角度为左角还是右角, 左角在传递矩阵中为 1 , 否则为 0 , 按照文献[ 公式计算其 近似方位角;得到近似方位角后可以根据公式计算未知点近似坐标 , 进而计算近似边长. 2. 2 误差方程建立及方程系数的确定 在导线网中, 观测量有角度和距离 ( 边长 ) , 而且误差方程的列立并不完全统一, 为此, 根据不同的网 形结构对角度观测值及边长观测值进行了分类 1 ) 角度观测值的误差方程为: vi = ρ"
即组成导线 式( 2 ) 是边长观测值误差方程的一般形式, 边的两个点均为未知点, 与角度观测类似, 在导线网中, 边长 涉及两个点, 因此在进行边长观测值方程列立时 , 可以将边长 分为三种情况, 如图 2 所示. 在所建立的传递矩阵中第四行角度观测值的输入过程中, 每 , 一个角度观测值按照前进方向首先输入组成角度的三个点 然后 是角度观测值. 在建立误差方程时, 首先判读传递矩阵中角度观 测值涉及到的三个点分别属于图 2 中哪一种情况, 然后按照不同的情况误差方程系数不同. 根据传递矩阵判断 “ 0” , 组成边长的两个点是已知点还是未知点, 如果有已知点, 则公式(2) 中, 对应已知点误差方程系数为 对应未 知点系数按照公式(2) 计算. 依次读取传递矩阵中的所有角度和边长观测值, 按照以上规则计算误差方程系数, 并按照一定的顺序存储, 以进行下一步计算. 2. 3 平差计算及图形绘制 在平差计算的整个过程中, 最核心也是最困难的部分便是误差方程系数阵 B 的组建, 之后的平差值 求解以及精度评定, 主要是矩阵的相关运算, 在 Matlab 里面很容易实现, 在此就不一一列举相关代码了. 同时 Matlab 具有强大的绘图功能, 利用 line 函数可以实现二维图形的绘制, 但是需要把图形转换成计算 机识别的数据. 图分为点和边, 而角度和边长属于无方向的, 高差则属于有方向的, 基于此我们可以把导线 网图表示成相关矩阵的形式