当前位置:首页 期刊杂志

基于MapGis《绘图仪设备参数转换系统》的研究与实现

时间:2024-07-28

申素梅

(山西省地质勘查局212地质队,山西 长治 046000)

1 概述

1.1 系统研发背景及意义

地质工作是国家建设和社会发展的基石,而地质(籍)图件的制作是地质工作不可或缺的重要环节。为适应市场经济发展,服务社会需要,地勘单位都会购置相应数量的绘图仪,以此来改善成图质量,提高制图效率。

但我们面临的现实问题是,来自不同制造商的绘图仪,机器型号不同、输出标准也各不相同,成图质量难以把控。这些问题严重制约了成图终端的纸质输出,不仅降低了输出效率,输出规范及标准也难以统一。

绘图仪上的图元、线条规格、区块颜色等因素差异,如同生物DNA 代码或是电子液晶显示屏的基色,即便是电子GIS数据、电脑和软件相同,在连接不同型号的绘图仪输出打印时,效果也会有很大差异,常常导致返工。

当然,解决上述问题也不是无计可施,我们可以在每次连接不同的绘图仪之前,对电子数据和绘图仪参数进行修改和反复调试,促使不同绘图仪依据我们的要求,输出相同标准的纸质成果,但是这样无疑会增加人力成本,同时也降低了生产效率,而且人工修改难以避免人为操作失误,易导致前功尽弃。由此带来的结果,与我们的初衷相背,同时也制约了单位经济发展和服务社会目标的实现。

因此,研发一款能够统一输出标准的操作系统,势在必行。

1.2 研发优势

绘图仪设备参数转换系统(下文中以“本系统”代替)的母体软件MapGis是地理信息系统中应用最广功能最全的软件,但MapGis不提供本作品所实现的参数转换功能,这些功能通常是操作员手动完成,费时费力,还难免会出现不可预知的失误,从而导致难以估量的后果,所以本系统的研发就显得尤为重要。

本系统有如下几个优点。

1.2.1 安装优势

本系统的操作环境只需要有MapGis 软件的支持即可安装使用,由于MapGis在地理信息行业中应用广泛,因此本系统就具备了安装方便、无运行环境限制的安装优势。

1.2.2 软件优势

本系统属于对母体系统的二次开发,具有占用内存小、功能目标明确、与母体有很强的交互性等显著的软件优势。

1.2.3 实际操作优势

本系统是在MapGis 平台的基础上进行的二次开发,无需重新学习,更易入手,具有了实际操作优势。

2 系统总体设计

2.1 总体目标

依据行业规范和国家标准,对色标、符号等图元数据进行分类、编码,利用数据访问接口ADO 技术实现程序与数据库之间的交互,对数据库进行初始化及更新(导入、修改、存储等)等操作,应用计算机的软硬件和GIS 技术实现各类绘图仪设备参数之间的秒转,用源程序代码实现的“程式化”功能替代繁琐的重复性操作,为单位提供实时、高效、有序的成果数据,最大程度实现单位的经济效益和社会效益。

2.2 设计环境

2.2.1 硬件

本系统硬件环境要求较低。

CPU:P4以上;

硬盘空间:20G 以上(如考虑到后期数据及数据库的存放,硬盘空间越大越好);

内存:512M以上。

2.2.2 软件

操作系统:Microsoft Windows XP/7/8/10;

地理信息系统:MapGis67及以上;

数据引擎:SetupSDK67及以上;

数据库软件:Microsoft Office Access 2000 以上版本;

开发工具:Microsoft Visual Basic 6.0。

2.3 数据库设计

系统共有数据库11个。

2.3.1 用户管理库

结构包括编号、用户名、密码、备注。

2.3.2 设备库

(1)型号库:结构包括编号、设备名称、设备类型、设备型号、备注。

(2)设备参数库:结构包括编号、设备型号1、设备型号2、……、设备型号N、备注。

2.3.3 系统库

2.3.3.1 主系统库(简称“主库”)

(1)注释参数库:结构包括编号、分类、名称、图层号、是否透明、高度、宽度、间隔、角度、颜色、汉字字体、西文字体、字形、横竖排、备注。

(2)子图参数库:结构包括编号、分类、名称、图层号、是否透明、子图号、高度、宽度、旋转角度、颜色、备注。

(3)线参数库:结构包括编号、分类、名称、图层号、是否透明、线形、线型、颜色、辅助线型、辅助颜色、线类型、宽度、X、Y、备注。

(4)区参数库:结构包括编号、分类、名称、图层号、是否透明、填充图案、填充颜色、图案颜色、图案高度、图案宽度、备注。

2.3.3.2 当前系统库(简称“当前库”)

(1)注释参数库:结构包括编号、分类、名称、图层号、是否透明、高度、宽度、间隔、角度、颜色、汉字字体、西文字体、字形、横竖排、计数、备注。

(2)子图参数库:结构包括编号、分类、名称、图层号、是否透明、子图号、高度、宽度、旋转角度、颜色、计数、备注。

(3)线参数库:结构包括编号、分类、名称、图层号、是否透明、线形、线型、颜色、辅助线型、辅助颜色、线类型、宽度、X、Y、计数、备注。

(4)区参数库:结构包括编号、分类、名称、图层号、是否透明、填充图案、填充颜色、图案颜色、图案高度、图案宽度、计数、备注。

2.4 系统功能设计

系统主要模块包括:文件管理、数据库管理、设备参数转换、工程输出、帮助。

2.4.1 文件管理

该模块集成了对地质(籍)成果电子工程文件的通常、简单且必要的操作。

2.4.2 数据库管理

该模块主要是对用户库、设备库、系统库及其子库进行管理和维护,主要有两大功能,一为初始化,即清空库或规范数据库结构;一为对已有用户库、设备库系统库及其子库进行导入(从Excel表中导入已有标准)、新增、修改、删除、保存等项操作。

2.4.3 设备参数转换

该模块为系统核心功能模块,主要有两部分。

(1)一键检测当前设备参数标准:对在EditView地图视图中打开的地质工程文件进行一键检测,提示当前成果文件中的绘图仪设备信息,为下一步的设备参数转换功能做好准备工作,这样可以避免人为误操作,对最终地质(籍)成果造成不可逆的后果。

(2)对已打开并进行过检测的工程文件,进行标准转换,并对本次转换的数据信息进行提示,保存转换过的工程文件。

2.4.4 工程输出

对打开的工程文件进行页面设置、光栅化处理,最终对地质(籍)成果文件进行打印输出。

2.4.5 帮助

提示版权号、所有人、联系方式等有关信息,并对该系统的功能进行分步指导和说明。

2.5 系统流程图

经过对实际工作需求的认真分析,以及对程序功能的充分调研,最终,设计者对系统的流程设计结果如下,详见图1。

3 设计成果及功能模块的实现

3.1 编程环境及语言选择

在微软公司MicroSoft Visual 环境下采用Basic 编程语言对本系统进行编写、操作窗口的搭建,利用中地公司MapGis平台为用户开放的组件接口调用函数,通过数据访问接口ADO 技术实现程序与数据库之间的交互,本系统代码设计搭建平台如图2所示。

3.2 系统功能实现

由于篇幅有限,以下仅简要介绍系统具有代表性的功能。

3.2.1 程序主界面

系统识别合法用户登录后进入系统主界面,共有五个功能主菜单,分别为:文件、数据库管理、设备参数转换、工程输出、帮助。

3.2.2 数据库管理

数据库管理及编辑界面如图3所示,用户可以通过菜单对用户库、设备库、系统库进行导入、编辑、修改、清空等一系列的操作,为后续操作提供必要的数据支撑。

3.2.3 设备参数转换

为防止用户误操作,进而给地图数据造成不可逆的严重后果,在“检测当前设备标准”部分设置了一系列的防错、查错等功能提示,用户可以按照系统提示内容,对工程文件进行引导式操作,为下一步的“变换标准”功能筑牢基础,如图4所示。

用户在正确打开需要处理的工程文件后,“变换标准”可控制系统自动识别当前工程文件的设备参数标准,然后根据其参数及标准进行目标标准转换,转换工作完成后系统会出现弹框,显示转换完成后的工程文件及所包含点、线、区的数据详情,同时会再次提示转换后的设备参数标准,点击确定后完成转换。

同一地图工程文件成果在不同设备标准下的屏幕显示对比如图5所示,可以看出在计算机显示器上有明显差异,经过系统“变换标准”后,在不同绘图仪上输出的纸质成果却几近相同,所以系统解决了同一地图数据在不同绘图仪上输出色彩迥异、地图参数不同等问题。至此,系统就根据用户需求为后续地图光栅化处理及输出提供了完备的地图数据。

该模块已向国家知识产权局提交发明专利申请,并已于2019年10月25日收到专利申请受理通知书,因此,该部分程序代码暂略。

4 总结和体会

4.1 研发总结

该系统利用中地公司提供的MapGis 基础平台、MapSDK数据引擎及VB进行了二次开发,弥补了平台无法对不同绘图仪进行参数转换的缺陷,进一步将平台功能完整化,可用于所有对纸质成果输出有精准需求的地理信息行业。

4.1.1 系统应用特点

该系统有如下特点:①界面简洁大方、易于操作;②符合当前形势下科技创新的新要求,最大限度实现了单位的经济效益和社会效益;③省时、省力、简单、实用。同一成果人工操作修改需要10min(600s)的时间,用系统代替最多仅需5s 的时间即可准确无误地完成,效率提高至少120倍,它的应用使单位整体工作效率得到了提升;④在保证地质(籍)成果提交规范、统一的同时,可以发现在制作地质(籍)成果过程中,肉眼无法判别的电子版成果冗余数据,为日后地质成果归档提供精准、有力的保障。

4.1.2 系统设计难点

本系统的设计难点有二,分别为:

(1)计算机图形学与计算机代码相结合。计算机图形学,是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。通俗地讲,计算机图形学的主要研究内容就是研究如何在计算机中表示图形以及利用计算机进行图形的计算、处理和显示的相关原理与算法;核心目标在于创建有效的视觉交流,可以将科学成果通过可视化的方式展示给公众。

然而,计算机代码对于人类则是很抽象的视觉体现,它不能直接被普通用户所认知和理解,需要通过数学算法、数据结构、编程语言等,把计算机代码通过编译的形式,最终以计算机图形的方式在显示器、绘图仪等输出设备上运行并呈现人类容易接受和直观的结果。

因此,在本系统设计过程中,计算机代码是必要的手段,计算机图形则是呈现的结果。用抽象的手段反映直观的结果,是本设计中的难点之一。

(2)VB 程序设计语言与中地公司开放的MapGis开发组件之间的结合。众所周知,VB是微软公司开发的一种通用的基于对象的程序设计语言,是国际流行的、基础的计算机设计语言,通过控件、属性、事件等完成程序的实现,但它的基础性又恰恰限制了它的专业性,中地公司的MapGis 开发组件则弥补了该缺点,但若使两者有效、有机地结合,首先,要求开发人员需同时具备计算机软件工程、地理科学与技术两个专业的系统学习经历以及地理信息专业的多年项目实施经验;再者,中地公司的开发组件封装了25 个控件、160余个对象,开发者在开发前需花费大量的时间和精力去悉心研读,方能将组件中封装好的控件、对象准确地植入VB中,达到最终地设计结果。

因此,VB 程序设计语言和中地公司MapGis 开发组件的有机结合就成为了本设计过程中的难点之二。

4.2 结束语

设计中,设计者力求做到界面友好,简洁、大方,易于操作;算法较合理;代码尽可能避免逻辑错误;数据接口尽可能清晰;程序的可读性也尽可能提高。但是,鉴于时间因素,在设计中还有很多需要改进和完善的地方,功能也有待进一步增强,前述观点在之后的设计过程中还会做进一步地修缮。同时,作者也希望能吸取各方宝贵意见和建议,使系统更具实用性和可操作性。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!