GIS数据库更新信息传播软件工具设计与实现王育红(河南理工大学测绘与国土信息工程学院,焦作市世纪大道2001号,454003)摘要:针对现有GIS软件工具缺乏相应的功能模块,不支持批处理,需要大量的人机交互,不能满足GIS数据库更新信息自动高效传播要求的缺陷,采用ArcEngine组件技术设计实现了一个专门的更新传播工具。该工具通过自动地执行更新传播过程中的模式匹配、变化提取、更新集成等操作,能够有效地提高更新传播的效率,弥补现有软件的不足。关键词:更新传播、模式匹配、变化提取、更新集成当前GIS的核心已从数据生产转为数据更新,数据更新关系着GIS的可持续发展[1]。随着世界各国测绘部门和相关机构对基础地理数据库更新工作的持续开展[2],更新信息传播问题,即如何利用新版基础地理数据库中的更新数据快速高效地更新用户数据库的问题,已成为生产部门、应用机构以及学术界共同关注的热点问题之一[3-4]。由于应用需求、建库目的、专业背景等方面的不同,应用部门经常要对首次获得的基础地理数据库副本,进行一定的重构、转换、集成、扩展等处理之后方可建立用户数据库。这些处理使得基础地理数据库和用户数据库,即使是对相同的实现地物地形的描述和表达,也往往在数据模型、数据模式、数据实例等方面存在一系列的差异或冲突[5]。上述差异的存在导致更新传播的具体实施变得相当复杂,不能简单地通过“新图层直接替换旧图层”或“新数据直接替换旧数据”的方式加以实现,因为,这样将破坏用户数据库的自治性、完整性、正确性和一致性等特性,最终导致在其之上建立的应用系统不能正常运行。一般来说,实现更新信息传播需要模式匹配、变化提取、实体识别和更新集成等四个操作环节的支持[6]。然而,由于现有GIS软件缺乏针对性的自动批处理模块,更新传播的具体实施只能靠操作员手动完成,效率低,易出错,很难满足GIS数据库更新自动高效的要求。1系统框架和功能设计针对现有GIS软件的局限性,目前主要有独立开发、宿主型二次开发和基于GIS组件的二次开发等三种可选方式,来设计和实现针对更新传播的专用软件工具系统。相对来讲,基于GIS组件的开发方式既可以充分利用GIS工具软件对空间数据库的管理、分析功能,又可以利用其它可视化开发语言具高效、方便等编程优点,不仅能大大提高应用系统的开发效率,而且开发出来的应用程序具有更好的外观效果,更强大的数据库功能,而且可靠性好、易于移植、便于维护。基于这些分析,本文以目前非常流行的ArcEgine组件为基础,来开发和设计更新传播软件工具。1.1系统框架如图1所示,更新传播软件工具采用GIS组件ArcEngine与面向对象编程语言VisualBasic2005二次集成开发方式构建而成。其中,ArcEngine组件提供诸如空间数据管理、图形操作、数据查询等通用的GIS基本功能;而更新更新传播专有的功能模块,如模式匹配、变化检测、更新集成采用VisualBasic语言开发实现;另外,还通过自制组件以及其他界面辅助组件开发实现了分析处理结果的可视化模块,以便于对分析结果的检查、核对和更正。1.2系统功能1)基本的GIS空间数据显示、查询、编辑等功能。系统不仅提供放大、缩小、全图、漫游等基本的地图操作显示功能、而且利用地图列表可控制地图窗口的显示内容、状态、顺序等,并能根据用户需要设置相应的显示样式。系统提供了多种的查询方式,用户可以检索、浏览空间信息和属性字段信息。系统提供了常规的数据编辑工具,使用户能够手动方式对其数据进行更新,主要包括单个实体的添加、删除、修改(移动对象,操作结点,改变属性值等)、分割以及多实体的置换、合并等操作。这些功能一般在如图2所示的子窗口中加以实现。图2数据管理窗口图3模式匹配窗口2)模式匹配功能。模式匹配,是指从两个数据库模式中确定语义相关的对应模式元素(要素类和属性等),并声明其具体映射关系的过程。模式匹配是更新信息自动传播的基础处理环节,它所取得的匹配结果可被用于指导和简化其他处理操作,保证基础地理数据库中的变化信息被充分准确提取和集成。图4变化信息窗口系统分别设计了相应的图形用户界面和自动化向导工具来完成更新传播中的模式匹配操作。其...