面向GIS制图MD软件的开发

时间:2022-09-06 01:39:36

面向GIS制图MD软件的开发

中图分类号:TP311.5 文献标识码:A 文章编号:

1 系统设计模型的选择

测量绘图平台设计方法于一般信息技术(IT)设计类似,故早期的系统设计大致照搬IT的设计方法,如生命周期法、模块设计法、数据分析法等。其中生命周期法是将整个信息系统的开发过程划分若干阶段,预先规定每一阶段的目标和任务,有一定准则顺序完成。这些传统方法大都采用线性模型,即把系统的设计和实施视为没有反复、不能回归的单一发展过程,其缺点在于分析与设计的过程较长,见效迟,不易把握用户需求的变化。

原型法的原则是确定基本目的,选择一个试验区,设计一个初步方案,并用较短时间开发出一个能满足用户基本需求的实验性和示范性的系统雏形(即原型)。经用户适用,找出该原型的缺点和不足,然后进行修改和补充,再向用户演示,听取他们的意见并修改补充,如此反复,逐渐建成较为完善的系统。这样的系统设计和开发过程实际上是一个迭代过程,而不是多数传统方式那样的线性过程。它的好处是通过一个示范系统,便于用户理解、试用和提出意见,吸引用户参与系统设计工作。本论文的设计模型采用原型法。

2 系统要求分析

功能实用化:针对点、线、面和不规则符号,方便灵活绘制,对支持用户自定义的符号和代码,提供多项批处理命令。

系统自身采用开放式体系结构:随着系统应用于实践,将出现一些不能解决的问题,这就要求系统在功能、性能等方面不断进行扩充、修改。因此系统具有良好的开放式结构,不但利于系统扩充、修改和维护,同时也能方便对系统进行剪裁,以适应不同用户的具体要求。

系统可靠性:由于系统面向的数据广泛,具有数据导入和导出功能,而系统用户对各种数据的理解掌握也各不相同,这就要求系统应具有较高的可靠性,能处理用户的非法输入,并能保证系统在一定错误操作范围内具有足够的稳定性。

界面的多样性和友好性:提供直观可视的符合用户思维习惯的友好人机界面,支持出错处理。

3 系统功能设计

符号化模块。是本系统的核心模块,对各种地物进行面向地物的数字化,以地物符号为单位,而不是一般绘图程序以几何符号为单位,分层设色,并在扩展数据中添加国标代码,使图形具有面向GIS的特点。

栅格图像的纠正定向模块。地形图扫描后得到的栅格图像和卫片航片,一般都具有变形误差。使用间接平差手段,对栅格图像进行了仿射变换的纠正,按高斯直角坐标定向,为栅格图像进行数字化奠定了基础。

DTM模块。是本系统技术含量最高的一个模块。利用离散高程数据和等高线数据建立DEM,进行与高程有关的等值线的自动追踪,并实现了三角网区域边界方便有效的确定和等高线与地面模型的三维显示。

长事务缓冲区接边模块。数字地形图的接边问题实质是对两幅地形图的同步操作问题,本模块提出了长事务缓冲区同步接边法,它以待接边边界为中心建立缓冲区,提取磁盘上另一幅地形图中落入缓冲区内的实体建立长事务(Long Transaction),调入当前打开的地形图(当前数据库)中,实现了快速的对两个待接边地形图的同步操作。

数据的导入导出模块。充分利用已有数字数据源(其他格式图形),导入本系统,较少劳动强度。将图载信息导出到文本文件格式和MDB格式,供GIS建立基础空间框架。

图廓模块。方便快捷的完成标准地形图图廓和自由分幅地形图图廓的绘制。

批处理模块。包括文字批处理,字体的变化,高度,水平角度,倾斜度,对其方式的变换。图形批处理,符号的整体变动,图层的合并分散。文件批处理,文件版本的变换,多个文件中符号的自动处理。

通讯模块。通过计算机串行口直接接受GPS、全站仪数据,载系统上展点。并可GPS、全站仪导入的文本数据处理成简单的数据格式。

4 系统的开发环境

本系统在AutoCAD2000平台上的二次开发实现。使用AutoCAD最先进ObjectARX的二次开发技术,使用C++语言在VisualC++6.0编译环境下编译。本系统在开发过程中使用和借鉴了ObjectARX 开发工具包和MatLab C++数学函数库。简化了编程手段,精简了代码,提高了程序运行效率。

ObjectARX(AutoCAD Run.Time Extension)AutoCAD运行扩展及其开发环境是专门为AutoCAD应用程序而设计的。ARX程序是实质上是一个Windows下的动态连接库(DLL)文件。它和AutoCAD共享内存地址空间,并直接调用AutoCAD的API函数,使系统在某一时刻使用的资源最少,并且可使AutoCAD与C++进行通讯。使用ObjectARX开发技术,可以创建快速、高效、紧凑的AutoCAD程序,使ARX应用程序不仅具有交互性、综合性,而且还具有智能性。

理解AutoCAD的ObjectARX类库结构模型是对其进行编程的基础,AutoCAD原始的各项功能也是在ObjectARX类库基础上编程实现的。它共包含AcRx、AcEd、AcDb、AcGi和AcGe五个类。

MatLab C++数学函数库是一个由MatLab提供的基于C++语言的数学函数库,其中包含了大约400个MatLab的数学函数,不但包括了大量的MatLab内建数学函数,而且包含了许多在MatLab中被声明为M文件的数学函数,为C++语言中矩阵的计算提供了方便快捷的手段。MathWorks公司提供MatLab C++数学函数库主要优点是:它提供了一个非常自然而又非常牢固的编程接口和大量的功能丰富的矩阵技术和处理函数,可以使C++开发者方便会计阿的利用其获得MatLab所提供的强大的矩阵计算和处理能力,从而大大的提高程序设计的效率。此外,该函数库还对程序员隐藏了大量的编程细节,例如内存管理等,可以使程序员用一种非常简单的语法按他们的想法去编程,集中全力去解决问题,而无需考虑工具本身。

5 系统的运行环境

本系统的硬件配置:微型计算机普及越来越广泛,而且微机的功能越来越强,计算速度越来越快,图形处理能力也在增强,与工作站之间的差距在不断缩小。在微机上实现测量绘图系统,不仅价格便宜,而且所需的硬件配置也适合大多数用户。本系统选取当今具发展前途的高档微机作为硬件平台:

本系统的软件配置:操作系统选取微软(MicroSoft)公司的32位视窗平台,Win95/98/NT系列,最好为Win2000。应用软件平台为AutoCAD2000或AutoCAD的更高版本。输出中间文件为Windows 文本文件、Access数据库或SQL Server数据库。

上一篇:高层建筑水暖施工管理措施研究 下一篇:建筑工程施工技术的管理