



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大地测量数据处理软件设计方法的研究摘 要:大地测量数据处理已向自动化处理方向发展,要求数据处理人员具有软件设计综合能力,各种软 件设计新技术的岀现,使开发人员应接不暇。从软件开发方法、软件重用、数据库应用和算法设计基本原 则等方面对大地测量软件设计方法进行了研究,并初步给岀了相关问题的解决策略,介绍了这些方法在高 精度重力网数据处理中的应用实例 .关键字:软件开发数据库软件重用算法设计大地测量数据处理1引言随着现代测绘技术的发展,需要大地测量数据处理软件具有强大的功能和方便的操作,计算机硬件的发展 已经能够满足系统快速开发的要求,各种开发工具的不断涌现,使测量软件开发人员应接不暇。但每种工 具
2、都有其开发的强项,如 MAPINFO适合开发桌面地理信息系统1,POWER BUILDERPB)适合开发数据库 管理2 , VISUAL C+适合开发WINDOWS用,FORTRAN!合开发科学计算,各种数据库为数据管理提供了 强有力的工具。开发大地测量数据处理软件的人员一般是测量专业人员,对数据结构、计算方法及计算机 等专业知识的培训较少,设计的数据处理算法往往凭数学公式来设计,算法稳定性差,计算误差比较大。另一方面,前人采用各种开发工具,完成了许多成熟的专业软件。怎样使测绘专业人员在最短的时间内充 分整合好这些开发工具的优势,利用宝贵的现有软件,开发岀功能强大、系统稳定性强的软件,在工作实
3、 践中,我们进行了一些探索。本文从软件开发方法、软件新技术和算法设计原则等方面讨论了大地测量数 据处理软件设计的方法,介绍了这些方法在高精度重力网数据处理中的应用实例。2软件开发方法2.1结构化开发方法结构化开发方法是一种传统的方法,是为广大系统开发人员所熟悉的基本方法。它采用自上而下、逐步求精的思想,将系统功能按层次进行分解。在系统分析阶段,强调系统能够“做什么”;在系统设计阶段,强调系统“如何做”,界面清晰,易于理 解,采用图示工具附加语义说明的方法阐述系统结构和功能,便于系统开发人员和用户的相互交流,对系 统的一致性理解。采用的主要方法有:数据流图法(DFD、结构化分析/结构化设计方法(
4、SA/SD)、IDEF法、Jachson法等3。该方法的核心在于将系统中的功能与数据分割开来。为开发大地测量数据处理软件,在开发之前必须详细了解大地测量数据处理的全过程和细节,并且认真分析,了解测量各专业的发展方向。2.2面向对象的开发方法面向对象的开发方法是着重解决系统需求变化和维护困难等问题发展起来的一种新的软件开发方法,基本要点是:在系统分析阶段,用问题空间中实体及其相互关系建立系统逻辑模型,以一种更加自然的方式描述系统需 求和体系结构。由于空间问题中的对象是相对稳定的,即使有变化,通常只影响系统局部或系统需求变化 的局部化,从而使系统具有一个相对稳定的结构。系统设计与实现是对分析阶段达
5、到的逻辑模型的细化和实例化3。以重力点为例,定义测点有经度、纬度、高程等属性,有坐标转换等操作;以测点为父类,重力点继承他的属性,增加专有属性重力值,增加重力 异常、高程异常、垂线偏差计算等操作,最终以代码的形式岀现在设计与实现模型中,使得分析与设计具 有无缝连接,如坐标转换有问题,仅在测点类中修改,而不在重力点对象中修改,系统易于测试和维护。系统开发过程是系统需求、分析、设计、实现、测试等一系列模型的细化过程,可以有效解决系统复杂性 问题。同时,构成系统基本单元对应,有利于被设计成具有标准界面的软件构件,即把对象和操作封 装在一起,对重力点对象来说,就把重力点和它的计算一一重力异常、高程异常
6、、垂线偏差等计算的程序 封装在一起,以后要计算重力异常、高程异常、垂线偏差等,只要调用这个对象就行,使之具有一定程度 的可重用性,为软件开发的规模化奠定基础。3软件开发新技术一种开发工具理论上能开发功能较多的应用程序,同时不同的开发工具理论上能开发功能相同的应用程序。如VC和汇编语言理论上都能开发完成一种应用程序,但开发难度和工作量会大大不同。在进行软件开发时,通常采用不同的开发工具,充分利用各工具的开发优势,既快又好地开发出一个功能强大的应用程序。3.1数据库技术在一般的应用程序设计中,由应用程序自己管理数据,数据不共享,数据不具有独立性,当数据的逻辑结 构和物理结构发生变化时,必须对应用程
7、序做相应的修改,这样,造成软件的适应范围差。在实际应用中 需要信息资源的共享,关键是要有好的数据接口技术与接口标准4-6。采用数据库系统来管理数据,数据具有很强的结构性,存取数据的方式非常灵活,可以存取数据的一个数 据项、一组数据项、一条记录等。数据共享性好,冗余度低,能够避免数据之间的不相容性和不一致性。数据库系统具有数据总体逻辑结构与局部逻辑结构的对应转换功能,当系统的逻辑结构改变时可以保证数 据局部结构不变,应用程序就不用修改;另外,数据的存储结构与逻辑结构具有映射功能,当数据的存储 结构发生改变时,不影响数据逻辑结构。由于数据与程序间存在独立性,简化了程序的编制、维护和修改。 此外,数
8、据库系统具有数据完整性、安全性等控制,能充分保证数据的安全、恢复以及多用户同时使用等。 建立数据库系统信息模型方法主要有ER法和IDEF1X方法,用范式1NF 5NF对信息模型进行转换为特定的数据结构模型,依据数据局部逻辑结构进行程序设计7。在计算机辅助设计CAD和桌面地理信息系统MAPINF防就采用了数据库技术,才使该系统具有强大的实用功能。3.2软件重用技术3.2.1 DLL 模式动态链接库 DLL( dynamic link library ),像静态链接库一样,是函数的集合。当一个应用程序使用动 态链接库的函数时,该函数不包含在可执行程序中,只有当应用程序用到库中的函数时才将其调入内存
9、中。这种链接方式称为动态链接。采用这种方式具有如下优点:节省时间和空间、无需要再链接、共享代码和数据、维护独立、功能扩展, 提高了程序开发的效率。DLL的位置:DLL应放在执行文件目录、当前目录、Windows目录、Windows'system 目录和在 path中指定的路径目录下,查找顺序由前到后。注意:不要在以上目录保存多个版本的DLL,否则可能引起混乱。目前大多数应用程序和开发工具能提供DLL编译能力,提供_fastcall 、_pascal、_stdcall 、_cdecl等参数调用约定,能实现多种语言的混合编程。在测绘各专业中,有许多用FORTRAN7编写的经典程序,对他们进
10、行适当的修改,就能被其它语言调用,这样就有效的保护和利用已有的成果。3.2.2 Active X 、OCX模式动态数据交换 DDE( dynamic data exchange)是使用基于消息机制来实现两个不同Windows应用程序之间数据交换的工具。通过使用API可调用DDE动态库DDEML这样使DDE服务过程简单化,通过 DDE技术,有利于应用程序间发送和接收数据和命令。通过这种方法,使应用程序之间进行数据共享、远程执行命令 或检查错误等。在 DDE中,一个应用作为客户端,另一个应用作为服务器,他们通过事务进行通信。一个 客户端应用向支持 DDE的另一方(服务器)发出请求,请求可以是数据也
11、可以是命令(如:打开、关闭、 保存等)。一个服务方应用是相对于客户端的另一方,它响应客户端的请求,依据客户端请求,向它提供 数据和服务(可以是命令)。OCX ActiveX 是建立在对象连接和嵌入 OLE (object linking and embedding)基础上的,得到广泛支持的面向对象的软件集成技术,用户像用砖块盖房子一样来组合软件和应用程序。在许多开发工具中都提供了ActiveX 能力和调用 ActiveX、OCX的能力,如visual c+ 、visual basic 、dephi等。许多专业公司提供了众多的 ActiveX、OCX控件,女口 MAPINFO、ERSI的MapO
12、bjects和MICRSOFT 的COMMON.O(等众多的控件可以被调用。3.3基于网络的分布式系统设计方法分布式系统突岀的特点在于构成系统的各部分在地域上的分散性、自治性及各部分之间相互联系与制约所 表现岀来的功能与性能的综合性。系统具有数据的分布性和功能分布性等特点。比较适合的计算模型有两种,一种是客户一服务器模式(client/sever,C/S );另一种是客户一代理一服务器模式 (client/broker/server,C/B/S )8。C/S模式通过远程过程调用机制(RPC和网络应用编程接口( API)实现。优点是处理能力强、方便的资 源共享、可以预测响应时间。缺点是系统维护困
13、难。C/B/S模式是指在客户与服务器间加入代理(broker ),是客户与服务器之间具有动态的可变的关系,支持同步与异步通信。可扩展性、可维护性、可重用性强。充分利用好软件发展中各种成熟的新技术,不仅能有效利用和保护早期的成果,关键是能有效提高开发速 度,使应用程序具有良好的可维护性,对系统的部分修改,不影响系统的正常使用。4大地测量数据处理软件算法设计原则4.1大地测量数据处理的工作模式用计算机来处理大地测量的各种信息,就是对获得的观测信息网络的分析、处理、对多种成果的综合应用 等问题进行程序设计,最后得到需要的计算结果(如概算值、平差值和其它产品等)。其具体的工作方式 如下:4.2大地测量
14、数据处理误差来源任何一个用计算机来处理的测量问题都必须经过上述五步,缺一不可。数值计算方法和程序设计是由掌握 计算机知识较多的人员进行,这两步往往合为一步。因此误差来源主要由观测误差、模型误差和计算误差 组成9-11。观测误差是由于实际问题的各种观测方法、观测仪器和环境等造成的,其限差都有相应的规范。模型误差 是对实际问题的数学抽象而产生的误差。实际测量问题和相应的数学处理方案是几代测绘专家多年的研究 成果,其误差有专门的研究,现有的误差肯定已经减小到最小。它们在大地测量数据处理软件开发中可以 不必考虑。计算误差是对数学处理方案的理解和对方案进行程序设计而引起的误差,它包括截断误差和舍入误差。
15、当 数学模型得不到精确解时,要用数值计算方法求岀它得近似解,由此产生的误差叫截断误差或方法误差。由于任何计算机的字长都是用有限的,原始数据的输入和浮点运算过程中都可能产生误差,只能用有限的 数来代替无穷小的数,这样产生的误差叫舍入误差。成千上亿次计算,对精度可能有较大的影响。所以在 数值计算中对截断误差和舍入误差应给予足够的重视,我们可以通过对算法的设计和改进来进行控制。4.3大地测量数据处理算法设计原则算法是对一些数据按某种规定的顺序进行运算的序列。一个算法,如果计算结果受误差的影响小,就称这 个算法具有较好的数值稳定性。如果受误差的影响较大,则称这个算法的数值稳定性差。在大地测量数据 处理
16、软件设计中,要设计具有数值稳定性好的算法,必须遵守如下基本原则:a、充分利用原始观测数据,减少程序舍入误差。b、避免数值相近的两个数相减。c、注意调整变量计算顺序,保护重要数据,防止数值较大的数“吃掉”较小的数。例如:6378140 + 0.000001 + 0.000002 +0.000004 + 0.000003,如直接计算,计算机操作系统通过对阶,就可能丢掉后面的小数,而应通过改变计算次序,变为6378140 + (0.000001 + 0.000002 +0.000004 +0.000003 )。d、注意简化计算步骤,减少运算次数,利用好的算法,避免误差积累。在大地测量数据处理中,这类
17、计算是较多的,如直接计算,要进行n(n+1)/2次加乘法和n次加法。如改变计算次序,则,则只进行n次加法和n次乘法。如在程序循环中,则能显著提高计算速度并减少误差积 累。e、算法设计中,注意避免绝对值较小的数作除数。f、 在比较两数是否相等时,不要用浮点数,而采用整型数或比较两数的差值小于一个更小量级微小数的方 法。5开发实例在“高精度重力网数据处理”系统的软件设计中,充分采用了结构化、面向对象开发方法和数据库技术、DLL、Active X和网络分布技术等新技术。采用Sybase数据库系统来管理高精度重力网数据处理软件中所需要的数据,使数据相对独立和安全;用FORTRA来开发系统预处理和平差程
18、序,编译成 DLL供PB调用,解决PB计算能力相对较差的问题;用 PB来开发应用程序主框架,采用了面向对象的开发方法,利用C/S模式对后台数据进行管理,并从数据库提取计算处理所需要的数据,再用处理后的结果更新数据库;在用PB来开发应用程序中插入 Active X 地理信息系统图形控件 MapX进行地理图形功能开发,使整个系统具 有简单的GIS功能。通过应用2000国家重力基本网数据处理的实践, 充分说明了系统具有功能齐全,稳定 性强,计算精度高等特点。参考文献1 李胜乐,等.Mapinfo地理信息系统二次开发实例,北京:电子工业出版社,2004.2 袁刚,等.PowerBuilder高级开发技术,北京:电子工业出版社,19993 柴跃廷,等.应用软件系统开发,北京:清华大学出版社,19994 吕志平,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士健康教育试题及答案总结
- 审计配置资源策略试题及答案
- 无人机培训及考试的重要性与行业变化分析试题及答案
- 护理职业发展规划试题及答案
- 2024年高级会计考试分析与讨论试题及答案
- 2024年高级审计师考试实践经验分享与试题及答案
- 运输装卸承包合同协议
- 进口大豆买卖合同协议
- 进口贸易代理合同协议
- 实战模拟初级审计师考试题及答案
- 全球汽车产业发展现状与趋势
- T-COFA 0021-2022 渔用油电混合多旋翼无人机安全检查和维 护保养要求
- 机械制造质量整改报告范文
- 2025贵州毕节市七星关区招聘城市社区工作者186人笔试备考题库及答案解析
- 2025届河北省“五个一”名校联盟高三下学期4月联考化学试题(含答案)
- 2025年特种设备安全考试题库(设备拆除)试题
- 2025-2030中国环境监测发展分析及发展趋势与投资前景研究报告
- 少模掺铒光纤放大器增益均衡与平坦化设计研究
- 2025年教师资格证面试结构化模拟题:教师心理健康维护试题集
- 大疆精灵4 RTK无人机操作与测绘培训指南
- 2025届江苏省南京一中高三第二次模拟考试物理试卷含解析
评论
0/150
提交评论