APP下载

基于Geodatabase的基础地理信息数据库集成应用框架

2016-12-27黄梦龙陈子越

地理空间信息 2016年5期
关键词:建库插件框架

黄梦龙,陈子越

(1.福建省基础地理信息中心,福建 福州 350003;2.福建师范大学 地理科学学院,福建 福州 350001)

基于Geodatabase的基础地理信息数据库集成应用框架

黄梦龙1,陈子越2

(1.福建省基础地理信息中心,福建 福州 350003;2.福建师范大学 地理科学学院,福建 福州 350001)

探讨了专项地理信息数据库的集成方式,开发了地理信息数据库管理系统集成框架程序。通过应用实践证明,该框架可有效解决各专项测绘成果分别建库和管理带来的各种问题,推动各数据库的集成应用。

Geodatabase;数据库集成;应用程序框架;反射技术

为满足国家社会经济建设的需要,各级测绘主管部门按计划开展了各类专项测绘生产工作,形成了不同专项的测绘成果,如基础测绘生成的1∶10 000和1∶5 000 3D成果、海洋基础测绘成果等[1]。在数字城市和天地图建设中,形成了各种比例尺的框架数据成果。随着地理国情普查专项生产工作的完成,形成了地表覆盖、地理国情要素、正射影像、解译样本等地理国情普查成果[2]。在今后可能开展的农村土地确权、不动产登记等专项测绘生产中,还会产生其他测绘成果。针对以上各专项测绘生产成果,开发了相应的系统对数据进行建库、管理,形成了多种基础地理信息数据库及对应的数据库管理和应用系统,如面向3D成果管理的基础地理信息数据库及其管理系统[3]、面向数字城市框架数据管理的公共地理框架数据库及其管理系统、面向遥感影像数据建库管理的影像库管理系统、面向地理国情普查数据建库和管理的地理国情普查数据库管理系统等[4]。这些数据库在满足数据管理和应用需要的同时,也带来了问题。首先是数据库众多,数据难以共享和综合利用。以遥感影像数据为例,地理国情普查数据库、影像专项数据库和基础地理信息数据库中都有规则分幅的影像数据但没有整合,导致数据重复建库造成浪费,也给用户从库中获取最新最优的影像数据带来了困扰;而海洋基础库和针对3D成果的基础库没有集成,导致难以建设海陆一体的海洋基础地理信息数据库。其次是数据库管理系统众多,不同系统采用的GIS平台、开发语言、系统架构等各不相同,导致系统更新维护困难。

针对上述问题,本文从数据库的结构和数据库管理系统架构两方面进行了探索,通过地理信息数据库的整合与集成,促进各数据库间的数据综合利用,并设计数据库管理的应用程序框架,提高地理信息数据库管理系统的开发效率,减少系统维护的工作量。

1 地理信息数据库集成方式

不同时期的测绘专项数据生产采用不同的平台建库,以福建省为例,第一代3D数据建库采用的是GeoStar平台和Oracle Spatial的数据格式,数据城市地理空间框架数据生产建库部分采用SuperMap的平台和数据库格式,但总的来看,ArcGIS平台、Geodatabase数据库应用最广。鉴于ArcGIS在行业的领先地位,在今后相当长一段时间内将是数据建库管理的主要平台,本文采用Geodatabase数据库结构为主、文件式存储为辅的方式作为分布在内部局网的不同专项基础地理信息数据库集成的数据库存储结构。其中矢量数据采用数据集、要素类存储,栅格数据(DEM、DOM、坡度坡向数据和影像数据等)按需要采用镶嵌数据集、栅格目录和栅格数据集存储,元数据和各种属性数据采用表格存储,文件式数据(电子地图瓦片、照片、点之记、影像实体文件等)采用要素类、属性表与文件目录相结合的方式存储,并通过属性字段建立数据与其空间位置的关联。

数据库集成步骤如下:

1) 数据导出与重新建库。对非Geodatabase的数据库,包括GeoStar数据库和SuperMap数据库等,从库中导出已有数据转换为中间格式,如shape、E00等,理清数据的类别,设计Geodatabase数据库结构,再利用ArcGIS软件重新建库,并将数据集信息注册到系统中。

2)文件式管理与建库。对部分不适合在数据库中建库存储的数据,如国情普查解译样本成果、遥感影像控制点数据、电子地图瓦片数据等,设计文件式存储结构,采用关系数据库表和目录文件相结合的方式进行管理,并将数据集信息注册到系统中。

3)数据迁移。针对关联性较强、在新的数据组织方式中逻辑上属于同一个数据库,但分散在不同的服务器、不同的Oracle用户中的数据,进行迁移,便于数据的关联、查询与备份。

通过数据的集成,建立数据库内部对象间的关联关系,对数据库对象进行编目和编码,构建了各逻辑数据库;最终形成了内部局域网的分布式基础地理信息数据库资源池,数据库结构示例如图1所示。

图1 基础地理信息数据库集成结构

2 地理信息数据库管理系统集成框架

由于数据库管理系统针对的是各类基础地理信息数据,在数据的类型、结构,数据的查询、符号化表达等方面具有较强的共性,但针对不同的数据,有各自的特点,其应用需求存在差异,因此要求地理信息数据库管理系统集成框架具有较强的通用性,能够提供统一的系统开发和数据管理框架,封装基本数据库管理、符号、查询等功能,尽量减少基于框架的数据库应用系统开发的工作量,提高系统的可维护性,并要求框架具有较强的可扩展性,能根据测绘专项的增加和应用需求的变化,不断扩充系统的功能。

针对以上需求,本文采用应用程序框架技术和插件技术设计开发了基础地理信息数据库管理系统的集成框架程序。

2.1 集成框架程序结构

应用框架是一个具有部分功能的应用程序半成品,提供了可在应用程序间共享的可复用的公共结构。应用框架提供了通用服务,在此基础上可建立不同应用[5]。

插件技术是一种遵循一定规范的API或按COM接口编写的模块化程序[6-7]。它把应用程序分成框架程序和插件两部分,两部分间能够相互通信,且在框架程序不变的情况下,能通过增减或修改插件来调整应用程序的功能。插件本质上是一种系统功能模块动态加载的机制,实现插件机制的方式常用的有:微软件的COM技术、.NET开发环境下的反射技术和Win32动态链接库等。

反射是.NET中的重要机制,通过反射,可在运行时获得.NET中每一个类型(类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件[8]等,从而为程序在运行时动态加载模块、扩展系统功能提供了新的方式。

本文基于统一的数据库结构,设计开发了公共的数据库访问接口、应用框架规范接口、事件接口和应用模块开发接口,采用.NET的反射技术,设计了插件式地理信息数据库管理系统框架程序,如图2。

图2 集成框架程序结构

框架在启动时,首先读取界面配置文件、模块配置文件和系统资源配置文件,并从数据编目库中读取数据库目录和对象信息,从模块配置文件中读取所有模块(DLL文件);再加载各功能模块,采用反射技术识别系统插件,调用插件对象创建方法动态创建插件对象,将框架的通信接口传入插件对象,使插件对象可以调用框架的操作并从框架获取所有可用的资源;最后从界面配置文件中读取各插件对应的界面配置,在框架主窗体上动态创建界面控件(菜单、按钮、停靠窗口等),并将控件的操作与插件的响应函数绑定,完成应用系统的构建。

2.2 集成框架程序的实现

本文以DotNetBar9.3为界面开发库,VS2010为开发环境,ArcGIS 10.1为GIS开发平台,采用Ribbon界面风格,实现了框架程序。框架程序的实现包括框架程序开发接口库和框架基本功能。

1)框架程序开发接口库,包括应用框架程序事件接口、应用框架通信规范接口、应用模块开发规范接口、数据库结构访问接口等。基于这些接口,开发人员可以开发扩展功能模块(插件),在模块中实现具体的业务功能,并通过事件或框架通信接口等方式实现扩展模块与框架程序的通信,访问数据库对象。

应用模块开发规范接口定义了插件实现的接口规范,简化的插件接口UML层次结构如图3所示。IPlugin接口用于在反射时识别模块里的类是否为本系统的功能插件,其余派生的接口用于定义具体的插件。根据插件是否与地图视图有交互操作,将插件分为命令类型(Command)和工具类型(Tool)。ToolConrol类型插件是一种特殊的命令类型插件,在框架窗体上的界面是较复杂的控件或是自定义控件。DockableWindow插件是用于实现在框架窗体中停靠窗体的插件。

图3 插件接口UML层次结构

2)框架程序基本功能。框架程序实现了应用程序模块管理、系统界面配置管理、系统资源配置管理等框架程序管理功能;统一的用户角色权限管理、日志管理、数据库结构管理等系统管理维护功能;以及地图视图、页面布局视图操作等GIS基本功能。

基于该框架程序,开发人员无需重复开发系统的运行管理维护功能,只需从数据库获取需要的数据,利用通信接口与框架程序交互,通过配置接口获取各种资源,根据具体的业务逻辑实现功能模块,最后通过配置组装,完成系统开发,从而大大减少了系统开发的工作量。

3 应用实践

基于集成的地理信息数据库,按照本文的框架程序开发接口规范要求,开发了地理信息数据查询、符号化、数据加载浏览、制图输出等模块,配置形成了地理信息数据库集成管理系统,实现了数据的集成展示和管理,如图4所示。

由于实现了各类数据库的集成,依靠单一测绘专项数据库资源难以实现的GIS查询和分析也变得可行,本文开发了基于多个专项数据库的综合应用。

图4 地理信息数据库集成管理系统主界面

1)基于接合图和元数据的全库检索。在客户获取GIS数据时,倾向于选择现势性最好、分辨率最优、精度最高的数据,若在一种专项测绘成果(如4D成果库)里没有合适的数据,往往会考虑其他的专项成果里是否有更合适的数据或可替代的数据等。本文利用集成的各数据库,实现了基于接合图和元数据的全库检索。根据用户提供的数据类型、空间范围等条件,从所有集成的数据库中获取数据的分布范围和详细信息,分别加载到视图中浏览,为数据使用单位提供了更多的选择。

2)多源数据变化对比分析。利用不同来源、不同时相的地理信息进行对比分析、监测也是常见的应用需求。通过分析,可以提取要素的变化,也可分析不同来源、不同规范的数据间存在的差异。本文开发了多源数据变化对比模块,可从不同数据中筛选面状要素并提取变化的要素。筛选的条件包括属性条件和几何条件,例如可以从基础地理信息数据库的植被层、居民地层、工矿层中提取出二代数据为耕地(水田、旱地等),但在三代数据为非耕地的图斑,从而分析耕地演变为建筑用地的情况。

4 结 语

本文以Geodatabase数据库模型为主,结合自定义的文件式管理方式,设计了各测绘专项数据库的集成模式,开发了测绘专项数据库集成与应用的框架系统。该框架提供了较强的可扩展性,通过面向特定业务需求功能模块的定制开发、系统界面布局配置、专项数据库编目和配置还可构建面向各专项管理的数据管理系统,如面向地理地址管理的地名地址库系统、面向数字城市地理空间框架数据管理的公共地理框架数据库管理系统、面向遥感影像数据管理的影像库管理系统等,可以有效提高各测绘专项数据库管理系统开发与维护的效率,有助于推动专项数据库的集成与综合应用。

[1] 王飞.基础测绘成果管理系统与空间数据库动态更新研究[D].赣州∶江西理工大学,2008

[2] 洪亮,张凯,车风,等.浅析湖北省第一次全国地理国情普查实施方案[J].地理空间信息,2013,11(5)∶10-13

[3] 何建国,吕从,刘伟,等.基于ArcGIS Engine的城市基础地理信息数据库系统开发研究[J].测绘科学,2007,32(4)∶144-146

[4] 谢小惠.福建省地理国情普查试点成果建库实践[J].测绘与空间地理信息,2014,37(6)∶92-94

[5] 宋国兵.基于GIS的应用程序开发框架的设计与实现[D].杭州∶浙江大学,2010

[6] 崔修涛,吴健平,张伟锋.插件式GIS的开发[J].华东师范大学学报(自然科学版),2005(4)∶51-57

[7] 赵宏利,李秀冰,李大林.基于反射机制的插件系统软件设计[J].计算机工程与设计, 2010,31(2)∶348-352

[8] Nagel C.C#高级编程[M].北京∶清华大学出版社,2008

图3 “商店”分布过剩示意图

4 结 语

本文提出了利用模拟退火算法辅助进行量化空间关联规则挖掘的方法,并用实际算例验证了该方法的有效性。然而,该方法过度依赖于前期的规则提取方法,不能独立完成量化空间关联规则的挖掘。因此,进一步的研究工作应考虑是否可以结合二者过程,进行一次挖掘得到量化规则,使挖掘过程更加简化,更具实用性。

参考文献

[1] Agrawal R, Imielinski T, Swami A. Mining Association Rules between Sets of Items in Large Databases [C]. Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, 1993

[2] Agrawal R, Srikant R. Fast Algorithms for Mining Association Rules in Large Databases [C]. Conf. VLDB, 1994

[3] Malerba D, Esposito F, Lisi F A, et al. Mining Spatial Association Rules in Census Data [J]. Research in Official Statistics,2003,5(1)∶19-44

[4] Koperski K, Han J. Discovery of Spatial Association Rules in Geographic Information Databases[C]. Advances in Spatial Databases, Springer Berlin Heidelberg, 1995

[5] 方刚.空间关联规则挖掘算法的研究与应用[D].成都∶电子科技大学,2009

[6] 马荣华.GIS 空间关联模式发现[M].北京∶科学出版社,2007

[7] HAN Jiawei, PEI Jian, YIN Yiwen. Mining Frequent Patterns without Candidate Generation[C]. Proc of the ACM SIGMOD Int. Conf. on Management of Data, New York,2000

[8] Kirkpatrick S, Gelat C D, Vecchi M P. Optimization by Simulated Annealing [J].Science,1983,220∶671-689

[9] Metropolis N, Rosenbluth A W, Rosenbluth M N, et al. Equation of State Calculations by Fast Computing Machines[J]. The Journal of Chemical Physics,1953,21(6)∶1 087-1 092

第一作者简介:杜泽欣,硕士,主要从事空间数据挖掘、GIS理论与应用方面的研究。

P208

B

1672-4623(2016)05-0021-04

10.3969/j.issn.1672-4623.2016.05.007

黄梦龙,高级工程师,主要从事基础地理信息数据建库和三维GIS应用开发相关工作。

2016-01-20。

项目来源:福建省测绘地理信息局科技创新资助项目(2015J12)。

猜你喜欢

建库插件框架
框架
广义框架的不相交性
自编插件完善App Inventor与乐高机器人通信
“数字温县”建设项目通过验收
交通规划数据库道路红线规划建库规则
高校图书馆回溯建库探微
基于jQUerY的自定义插件开发
关于原点对称的不规则Gabor框架的构造
基于Revit MEP的插件制作探讨
基于Hadoop的DDoS检测框架