控制测量简易平差程序设计

2017-10-21 03:41张宏植
报刊荟萃(下) 2017年10期
关键词:程序设计测量

摘 要:控制测量简易平差程序设计是现代测量测绘工作中必不可少的重要内容,其主要是为了用于对控制网测量数据进行平差处理,以最大程度的减小测量误差,提高测量工作的准确率和科学性。

关键词:测量;条件平差;间接平差;MatrixVB;程序设计

一、测量简易平差程序的设计基本要求和基本步骤

1.基本要求

和一般的程序设计一样,测量简易平差程序的设计也应当按照一定的基本要求进行设计。首先,所设计的程序应当具备逻辑清晰、结构简单、易读取、易扩展等要求;其次,所设计的平车程序在运算的过程中应当具备速度快的特点,也不能占用过多的内存,内存与外存应当尽量避免频繁交换。第三,平差程序设计中所采用正确合理的数学模型,且要具备一定的科学先进性,要求该数学模型计算所得结果的准确度高;第四,所设计的平差程序应当具有较强的适应能力,要能够移植,能够在各种形式下都能满足计算需要。最后,平差程序设计要从用户的角度出发,尽量方便用户的使用,因此程序的操作应当尽量简便。这些设计基本要求不但要求在总体设计时遵守,还要求在整个设计过程中的每个环节都遵守。

2.基本步骤

测量简易平差程序的基本设计步骤主要可以概括为以下几点:结构总体设计、数据结构设计、确定软件各组成部分的算法及数据组织、选定某种表达式来描述各种算法、程序编写、程序调试、编写用户使用说明。这些步骤是在任何一种平差程序的开发和设计过程中都应当涉及到的环节,为平车程序设计的基本步骤。

二、基于的测量平差程序设计实例分析

为了能够更好的介绍控制测量简易平差程序设计和实现的方法,本文决定以某隧道施工测量中所开发的平差程序为例進行详细探讨。在某隧道工程中,设计施工人员为了能够更精准的掌握隧洞内的平面控制导线网、高程控制水准网和测角三角网,要对这些控制网的数据进行平差处理。基于实际工程的需要,要重新开发一套平差程序。本工程中决定采用矩阵计算能力,在MatrixVB平台上,用VB6.0可视化编程和Excel表格数据输入的方法来开发测量简易平差程序。具体的开发和设计过程如下所示:

1.测量平差的基础与模型

在测量工程中,之所以会进行数据的平差处理,是因为在测量中存在在着多余观测,也就是说,测量平差是建立在多余观测基础上的,并在此基础上按照一定的数学模型以及原则来调整观测结果,以此来提高观测值的精度。在测量平差的处理中,最主要的工作任務就是要将有误差的观测值之间的不符值消除掉,得出未知量的最或然值,并评定该值的精度。

为了更好的完成平差程序的设计,我们首先要了解一些平差的概念和数学模型。在平差中需要用到的几个量主要有观测值个数n、必要观测数t、多余观测数r。其中,r=n-t。平差的数学模型主要是指用数学关系来表现几何模型的几何关系及其相互之间的内在关系。

2.测量平差程序开发方案的确定

Visual Basic6.0是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序,在Visual Basic(以下简称VB)环境下,可以利用事件驱动的编程机制、新颖易用的可视化设计工具进行程序开发,可以使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件。VB的优点在于简单易学、编程效率高,其缺点在于面向对象性不够完善、执行效率较低,运行大型的、复杂的程序时,显得不足。

MatrixVB是由第三方提供的COM组件,包含了大量与MATLAB相似的函数与调用语法,可以加强VB数学运算与图形展示功能,在VB程序代码中可以像使用VB自己的函数一样使用MatrixVB的函数,而且可以不依赖于MATLAB的环境在Visual Basic中完成矩阵运算与图形绘制显示等功能,此外Ma-trixVB还有小巧灵活的优点(只有11.2MB大小),所以使用起来简单,编程效率高。MatrixVB函数库的功能大致可分为8大类(矩阵运算、运算符重载、图形图像处理、最优化运算、多项式、信号处理、随机与统计分析、控制系统)。

涉及到矩阵运算的数值计算、图像处理等,MATLAB可以很好解决,但仅仅使用MAT-LAB,程序界面不够简洁美观,要求使用者有较高的专业水平,而且MATLAB过于庞大,我们往往只需使用其中很小一部分功能就能解决问题。若仅仅使用VB来实现,则很多在MATLAB看来很简单的任务(例如矩阵的定义、矩阵运算、直方图显示)都需要从底层写程序,工作量十分繁重。因此,可以采用MatrixVB+VB集成技术,取MATLAB和VB二者之长,开发出简洁灵巧、美观实用,功能强大的程序。这正是此次测量平差程序开发的思路,在VB应用中引人MatrixVB的方法。

三、结束语

由本文论述可以看出,目前关于控制测量简易平差程序设计的理论基础已经基本成熟完善,在实际的测量工程中,自主开发符合本测量工程实际情况的平差程序也不再是难事。但是尽管如此,控制测量简易平差程序的设计方法和实现手段还仍然有很大的进步空间,需要我们在未来的平差程序设计研究中不断完善。相信在计算机硬件和系统和软件系统性能、程序设计模块化水平不断提高的今天,控制测量平差程序设计技术将会得到更大的发展。

参考文献:

[1]白征东.Matlab在测量平差教学中的应用[J].测绘通报,2009(11).

[2]高彩云,高宁,孙敬克.MATLAB在测量平差课程教学中的尝试[J].科技信息,2009(24).

[3]赵亚红,郝延锦,徐明侠.Matlab在测绘工程领域中的几点应用[J].地矿测绘,2011(01).

作者简介:

张宏植(1994—),男,土家族,湖南怀化人,邵阳学院本科在读,专业方向:测绘工程。

猜你喜欢
程序设计测量
基于OBE的Java程序设计个性化教学研究
基于Electron.js的风向玫瑰图绘制程序设计与实现
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
“C语言程序设计”课程混合教学探索
测量
二十四节气简易测量
日出日落的观察与测量
你所不知道的测量秘密