基于MATLAB的GPS网平差的程序设计及实现

时间:2022-07-31 06:30:52

基于MATLAB的GPS网平差的程序设计及实现

摘要:平差软件得到的各点坐标平差值都达到了较高的精度,软件可以应用到大地测量以及工程测量的平差数据处理中; 绘制的误差椭圆图形直观,有利于精度分析,具有较强的适用性。

关键词:MATLAB;GPS;网平差;程序设计

中图分类号:S611文献标识码: A

引言:在计算机技术和空间技术的支持下,测绘学科得到了快速发展,观测数据和估计量的类型更加多样化,而测量平差作为测量观测数据处理的基础,其应用也越发重要。MATLAB软件具有强大的数值计算、符号运算、数据分析和可视化、文字图像处理等功能,MATLAB提供的M语言不仅方便编程,同时还具有强大的绘图和图形显示等功能。将MABLAT应用于测量平差计算,会给平差模型建立、数据解算和图形显示带来极大的方便。

1平差原理

平差计算有间接平差法和条件平差法,但对于程序设计而言,间接平差的方法具有编程模刑简单,易于计算机程序实现等优点,故本文采用间接平差的模刑来实现程序设计。

1.1间接平差

1.2附有限制条件的间接平差

随着各项建设工程的大刑化,导线网的长度也越来越长,这时为了进一步提高精度,往往会在某个或某些边上加测方位角,形成方向附和条件,参与平差解算。这里,将加测方位角作为限制条件,采用附有限制条件的间接平差模型来进行程序中的数据处理。

附有限制条件的间接平差的基础方程为:

2、GPS网平差流程

在使用数据处理软件进行GPS网平差时,需要按下几个步骤进行:

2.1基线向量捍取首先提取基线向量是进行网平差的必要条件并最终构建GPS基线向量网。

2.2三维无约束平差在完成构网后,需要对GPS网进行三维无约束平差运算通过该运算主要达到以下两个目的:

2.2.1判别是否存在粗差基线;

2.2.2调整各个基线向量观测值的权。

2.3约束平差/联合平差约束平差的具体步骤如下:

2.3.1制定需要进行平差计算的基准和坐标系统;

2.3.2指定平差计算的起算数据;

2.3.3根据要求检验约束条件的质量;

2.3.4开始进行平差解算。

2.4质量分析、控制

在对GPS网质量进行评定时可采用标准如下:

2.4.1基线向量改正数分析基线向量改正数,检查是否存在粗差具体依据为:若便可认为基线向量中不含有粗差;反之,则含有粗差。

2.4.2相邻点的中误差与相对中误差若网中某基线存在粗差,可删除该基线或者重测该基线;若个别起算数据的质量存在问题,则应该放弃有质量问题的起算数据。

3原始数据文件

程序中所需要的数据文件及截图如图1:

原始数据文件格式说明:

3.1数据的第一行为总的点数、向量组的总数、向量的总数。

3.2接下来为已知点的坐标和未知点的近似坐标,每个点的数据单独占一行,一行内包括:点名,X,Y,Z坐标值,已知未知标记。当该点为已知点时标志取为1,为未知点时取为O。坐标值以m为单位。

3.3坐标之后,按向量组顺序排列各个向量组基线向量及其方差协方差矩阵。每一个向量组的数据首先是向量组的编号与向量组内的向量数然后是向量数据(包括向量起始点名、至点名、x分量、y分量、z分量)最后是方差协方差矩阵元素。向量值以m为单位。方差协方差矩阵只包括下三角矩阵元素,为便于阅读矩阵每一行的第一个元素之前加了行号肖一行的数据超过4个时每4个数据增加一个换行。

4、程序设计与运行步骤

输入函数inPutdata,命令程序调用原始数据,该函数有一个参数file是原始数据文件名的字符串地址。

在导入数据后点击“自由网平差”按钮开始计算网平差,得出待定点的坐标则显示如图2:查看GPS网形图

自由网平差之后可查看当前所用各点组成的网形图,点击查看网图按钮执行以下代码:

网形图如图3:

查看验后单位权中误差,代码如下:

结果如图4显示:

3、导线网平差计算示例

导线网平差过程主要包括:读取己知数据,解算近似点坐标,若不存在己知方位角,则按间接平差处理,建立权阵、系数阵、常数项向量等进行平差计算和精度评定;若存在己知方位角,则按附有限制条件的间接平差处理,还要建立限制条件误差方程,之后进行平差解算和精度评定,最后输出报表、图形显示等。

下面以一大型的城镇地籍导线网观测数据为例,进行导线网平差计算。

1)首先把导线网观测数据和己知数据输入Excel中,并保存,如图5所示。

2)在程序界面输入己知点数、未知点数、先验中误差等己知参数,单击读取数据,选中保存好的数据,再依次点击平差计算和保存结果,即可得到导线网平差结果报表。平差结果报表主要包括:各点坐标平差值及精度分析表,角度观测值平差值及改正数表,边氏观测值平差值及改正数表,先验角度中误差,验后角度中误差等。图6平差结果报表,包括重要点的坐标平差值及精度分析。

3)单击“图形显示”,即可得到导线网观测示意图,如图7所示。

4程序设计实现

4.1近似坐标解算

推算导线网中各个未知点的近似坐标,这是导线网平差程序设计需要解决的第一个问题,也是一个难点。传统的导线网平差程序所采用的近似坐标解算方法是,先利用己知数据推算未知边方位角,进而利用极条件计算未知点近似坐标。然而,由于现代社会工程建设大刑化,导线网往往比较大,在观测时难免会出现一些特殊情况,如网中某个或某些点仅有角度或距离观测数据等,这时传统近似坐标解算方法就不能适用了。

要想设计一个普遍适用的导线网平差程序,就必须仔细分析导线网中未知点可能满足解算的观测条件。通过分析发现,虽然导线网网刑布设复杂多样,但是待定点满足解算近似坐标的观测条件主要有:极坐标、前方交会、测边交会、后方交会,设计程序时只要能检验所有待定点是否满足以上观测条件即可。所设计的程序,会自动对每个待定点进行判断,若待定点满足其中一个观测条件,便解算其近似坐标并保存,然后判断卜一个待定点;若待定点不满足任何一个条件,则跳过该点,先解算以后可以解算的待定点,之后再对其进行判断。最后,若能解算出全部待定点近似坐标,则程序进行后续数据处理;若仍有部分待定点未能解算出近似坐标,则提示用户“请检查己知数据,未知点近似坐标不能完全解算!”并终止程序。

导线网平差过程主要包括:读取己知数据,解算近似点坐标,若不存在己知方位角,则按间接平差处理,建立权阵、系数阵、常数项向量等进行平差计算和精度评定;若存在己知方位角,则按附有限制条件的间接平差处理,还要建立限制条件误差方程,之后进行平差解算和精度评定,最后输出报表、图形显示等。

结语:MATLAB在处理测绘数据,特别是其中的矩阵运算和分析方面,有着其他编程语言无法比拟的优越性。同时MATLAB也有方便的数据可视化功能,以及与其他编程语言相结合,格式化输入、输出等优势,使其己在测绘领域得到了广泛关注。随着MATLAB软件的普及,它必会在测绘领域发挥更大的作用。MATLAB(即矩阵实验室)是目前世界上应用最广泛的、最流行的工程计算与仿真软件,其算法简单快捷,功能强大。在本文中主要对数据的后期处理过程中的各个模块用了该软件语言实现并同意调试最终得出计算结果本例虽然是一个实例,但格式具有通用性,当网的规模和数据与本例不同时,只要按本例的各项数据顺序及格式组成数据文件本程序仍可以正确读取。

参考文献:

[1]李建章. 基于Matlab的导线网平差程序设计[J]. 兰州交通大学学报,2010,04:88-90.

[2]郝天懿,罗新宇,胡云华. GPS基线向量网平差方法研究及程序计算[J]. 低温建筑技术,2012,01:53-55.

[3]陈永星,王蕾. 基于MATLAB的水准网平差程序设计与实现[J]. 科技信息,2012,26:450-451.

[4]罗峰,欧海平,李长辉,邢汉发. 图根导线结点网平差软件设计及实现[J]. 城市勘测,2013,06:143-146.

[5]郭辉,徐良骥. 导线网间接平差算法分析与实现[J]. 测绘科学,2014,03:107-110.

[6]翟敏,陶秋香. 基于MATLAB的导线网平差软件设计及误差椭圆的绘制[J]. 测绘与空间地理信息,2014,04:98-100+103.

[7]许双安. 通用GPS网平差数据预处理方法研究[J]. 铁道勘察,2014,02:49-53.

[8]张红华. Matlab软件对测量平差教学的启示[J]. 矿山测量,2013,02:96-99.

[9]朱楠,徐良骥,郭辉,刘利君,吴鸿涛. 基于VC平台的高程控制网平差软件设计与实现[J]. 北京测绘,2014,04:126-128.

[10]吴伟伟. 华北地区GPS连续站坐标序列特征研究[D].中国地震局地震预测研究所,2014.

上一篇:基于土方造型在园林施工中的运用 下一篇:基于BIM的工程投资控制研究