MATLAB在测绘数据处理中的优越性及应用
2016-04-12李燕军朱建华王万历龚真春
李燕军,朱建华,王万历,龚真春
(61243部队,甘肃 兰州730020)
MATLAB在测绘数据处理中的优越性及应用
李燕军,朱建华,王万历,龚真春
(61243部队,甘肃兰州730020)
摘要:简要介绍了MATLAB的特点、优势及不足。结合MATLAB强大的数学计算和数据分析功能,针对测绘数据的特点,阐述了如何利用MATLAB进行测绘数据的处理和分析,给出了MATLAB神经网络工具箱在GPS高程转换时的具体运用算例。实践表明,MATLAB易学易用,使用其可大大简化编程工作,特别适合非专业编程人员完成测绘数据计算、处理和分析等任务。
关键词:MATLAB;测绘数据;GPS高程;神经网络
MATLAB(MATrix LABoratory)是20世纪70年代由美国新墨西哥大学计算机科学系主任Cleve Moler教授开发,由MathWorks公司加以发展和推向市场的一种科学计算语言。它是目前国际上最流行、应用最广泛的科学与工程计算软件,具有语言简洁紧凑、使用方便、编程效率高、图形功能强、工具箱全面等特点,深受广大科技工作者的喜爱[1]。在国际学术界,MATLAB已经被认为是进行高效、可靠的科学计算标准软件,在许多国际一流学术刊物上(尤其是信息科学刊物),都可以看到MATLAB的应用[2]。本文主要介绍MATLAB软件的特点、优势和不足,结合MATLAB强大的数学计算和数据分析功能,并以其神经网络工具箱在GPS高程转换时的具体运用为例,分析和探讨MATLAB应用于测绘领域的优势和思路。
1 MATLAB应用在测绘领域中的优越性及不足分析
1.1测绘数据处理的特点
测绘科学是一门以大规模数据甚至是海量数据处理、分析与应用为基础的学科,其各项具体工作如测量平差、GPS高程与水准高程换算、遥感图像处理、坐标转换和GNSS轨道计算、信号模拟等,都涉及大量的计算。而在对测量数据或图像处理过程中,编制测量程序时常常要面对大量的矩阵运算和海量的数据。这时需要用C、FORTRAN或C++和VB等语言来编写相应的程序来处理这些问题,要消耗大量的时间和精力,还有可能出错。
1.2MATLAB应用于测绘领域的优越性
MATLAB作为一种优秀的程序设计工具,在大规模数据处理,特别是矩阵运算方面具有其他程序设计语言难以比拟的优越性,而且MATLAB还提供了与FORTRAN、C/C++、VB等语言的接口与混合调用,不但可以方便的将以前用其他语言编写的程序移植到MATLAB平台下,还可以在其他平台下调用MATLAB程序,因此在科研和教学以及生产实践中得到广泛的应用[3]。在使用MATLAB进行测绘数据处理时,可能只需要一条语句或函数就能解决上述(如大量的矩阵运算)等问题,大大减轻工作量,提高程序的编写效率和准确性。例如坐标换算是测绘工作中必不可少的部分,在地理信息系统、遥感图像配准、GPS后处理等工作中都要用到坐标转换。坐标转换实质是求解转换系数的过程,即可简化为:
如用其它计算机语言实现,则需用相当复杂的算法和代码,而在MATLAB中只需采用矩阵除法符号“/”完成,即:
根据一定数量的控制点求出转换矩阵T后,便可用矩阵相乘形式将所有待转换点的新坐标求出来,计算过程非常简单,而且不易出错。
同样,MATLAB可以方便地实现测量数据、遥感影像的频域分析,其傅立叶变换函数为我们分析测量据提供了有效的方法,自带的小波分析工具箱,提供了大量的小波分析工具,可实现影像的特征提取、数据压缩以及图像的融合等[4]。
1.3MATLAB不足性分析
实践证明,MATLAB处理测绘数据具有更大的优越性,将其引入测绘领域是一件非常有意义的事情。但MATLAB编制的程序也有其本身的缺点,主要有以下几点:
1)运行速度慢。由于用MATLAB语言编写的M程序是一种解释性语言,只能在MATLAB环境下运行,当进行海量数据处理时,所需要的时间较长。
2)源程序可读。M文件是ASCII码文件,不但可见,而且可以修改。对于一些需要保密的算法来说,其安全性差应当值得注意。
3)可移植性差。当进行M程序发布和移植时,要求被发布的计算机上也要安装MATLAB,其通用性受到很大的限制。
为了解决上述问题,目前也有一些文献做了这方面的探讨,如一般是先将MATLAB函数编译成脱离MATLAB环境的可执行文件(以下简称可执行文件),然后将可执行文件与其运行时所需的动态链接库一起打包、发布,从而开发出相应的测量软件。由于MATLAB的编译是MATLAB应用的热点之一,但是全面探讨如何将待编译的M程序进行优化以及将编译后的可执行文件发布等问题的文献还不多,因此需要进一步的分析和研究[5]。
2 面向MATLAB转换GPS高程的神经网络方法
2.1GPS高程拟合方法
GPS测量得到的地面点高程是在WGS-84椭球上的大地高HGps,而我国采用的高程系统为正常高系统,因此在实际测量工作中,更多需要的是正常高Hr。这就需要找出GPS点的大地高与正常高的关系,并用一定的方法转换GPS高程。二者之间的关系如下式所示[6]:
用于CPS高程拟合的方法较多,如:样条函数法、多项式曲面拟合法、非参数回归曲面拟合法和移动曲面法等,这里不再详述。
2.2MATLAB中的BP神经网络及其算法简介
近年来,出现了用于转换GPS高程的人工神经网络方法,它是一种自适应的映射方法,在转换GPS高程时不需作假设,能减少模型误差,具有较高的精度,国内外许多学者已对其进行较多的研究和运用。BP神经网络(Back Propagation Network)是基于误差反向传播算法的多层前馈网络[7,8]。如图1所示。
图1 BP神经网络原理图
显然,BP网络的输入与输出关系是一个高度的非线性映射关系,即:
对于样本集合:输入xi∈Rn和Oj∈Rm,可以认为存在某一个映射g,使
BP神经网络实质上是一种函数逼近器,理论上它可以无限度的逼近任何线性或非线性的函数,其工作方式分为两个阶段:一个阶段为学习阶段,另一个阶段为BP网络计算阶段。尽管神经网络方法优势明显,但由于神经网络系统理论较为复杂,因而编程实现起来比较困难。但MATLAB为编程人员提供了一个很好的工具,其神经网络工具箱几乎涵盖了所有的神经网络常用模型,集成了多种学习算法,为BP神经网络的应用研究提供了强有力的工具,我们可以根据自己的需要去调用工具箱中的设计和训练程序,将自己从繁琐的编程中解脱出来,集中精力解决其它问题。
2.3基于MATLAB的GPS高程拟合实现
如上所述,下面给出GPS高程拟合程序的部分源码及功能如下:
%学习阶段%
…
[pn,p最小值,p最大值,tn,t最小值,t最大值]= premnmx(p,t);%数据预处理
Net=newrbe(P,T,SPREAD)%建立网络
Net=newff(minmax(pn),[输入层层数,输出层层数],{'传输函数','传输函数'},'训练方法');
Net=init(net) %初始化网络
Net.trainParam.show=100;%间隔
…
[net,tr]=train(net,pn,tn);%训练生的成BP神经网络
an=sim(net,pn); %模拟学习数据
a=postmnmx(an,最小值t,最大值t);%复原学习数据
deta1=(t-a);%求学习误差
…
%工作阶段% pnewn=tramnmx (p2,p最小值,p最大值)
Load surveyingnet net;%加载保存的已训练好的网络
bn=sim(net,pnewn); %模拟工作数据
b=postmnmx (bn,t最小值,t最大值);%复原工作数据
deta2=(t2-b); %求工作误差
…
3 实例解算及分析
本实例所采用的数据为某三级GPS大地控制网中的GPS点位观测数据,且所有的GPS点位都进行了三等以上水准联测。选取其中4,10,15个均匀分布于测区的点作为已知点构成学习集,其它36,30,25个点作为工作集,用于检验转换GPS高程的拟合效果。根据以上程序,本文结合工程数据反复的试验与分析,确定了一个10×1结构的神经网络,该网络运行结果稳定,无不收敛情况发生。GPS高程拟合结果见表1。表中,△ζ为高程异常偏差;ζ0为已知高程异常;ζ为拟合结果。
4 结束语
综上所述,MATLAB功能强大,并且开发工具方便快捷,编程的特点更贴近人们的思维方式。MATLAB在对测量数据进行的处理和分析时,是较好的数学工具软件。将MATLAB与测绘领域实际问题相结合,可方便地开发出测量数据处理的应用程序,大大提高工作效率。因此MATLAB在测量数据处理和程序开发中具有极大的应用前景,必将越来越多应用于测绘领域。
表1 10×1结构的神经网络GPS高程拟合结果 (单位:m)
参考文献:
[1]薛定宇,陈阳泉.高等应用数学问题的MATLAB求解[M].北京:清华大学出版社,2008,3-8.
[2]李建章,陈海鹰,纪凤仙,等.测量数据处理程序设计[M].北京:国防工业出版社,2012,1-5.
[3]崔利,武文波.测绘领域中MATLAB的应用[J].辽宁工程技术大学学报,2005(24):47-48.
[4]谭衍涛,张兴福.MATLAB拟合工具箱在GNSS高程转换中的应用[J].工程勘察,2014(9):65-66.
[5]任超,欧吉坤,阳仁贵.在测量软件开发中MATLAB的应用[J].测绘通报,2004(1):11-16.
[6]李征航,黄劲松.GPS测量与数据处理[M].武汉:武汉大学出版社,2005,270-277.
[7]蔡昌盛,高井祥.面向MATLAB转换GPS高程的神经网络方法[J].四川测绘,2007,30(2):68-69.
[8]王苗苗,柯福阳.多项式曲面拟合和BP神经网络GPS高程拟合方法的比较研究[J].测绘工程,2013,22(6):22-25.
中图分类号:F592.7