全面解析基于空间数据库的数据挖掘技术[2]
作者:林梦 来源:赛迪网
以上几种系统都是用自己开发的或GIS软件开发商提供的GIS平台、组件或中间件来实现SDM系统中空间数据管理和分析。本文中提出了空间数据挖掘系统一种新的实现方案,即以现在通用空间数据库(Oracle Spatial)为核心,利用其空间数据管理和空间分析的能力,完成空间数据挖掘中大量的空间信息抽取任务,GIS组件只承担对挖掘结果的地图化显示任务。采用这种模式,不仅可实现GIS系统与空间数据挖掘系统完全集成,并且由于大部分空间信息抽取过程直接在低层数据库上进行,从而可大大提高计算效率。
新的空间数据挖掘系统结构如图1所示。该系统的基本结构与一般数据挖掘系统相同,仅在数据挖掘和数据管理中增加了有关空间信息的抽取、空间数据管理和空间分析的功能,并建立了一个人机接口处理用户的指令和显示挖掘结果。
这种开发模式与现存开发模式的最大区别是用通用空间数据库代替专门的GIS商用软件实现空间数据管理和空间分析功能。它的优点如下:
(1)GIS商用软件一般是为开发GIS系统而设计的。GIS作为一个独立软件系统时,需要具有完整的功能结构,而在为数据挖掘服务时,其主要目的在于为决策者提供决策对象及显示作为挖掘结果的地图,因此只要按需选取GIS的部分功能,而不必面面俱到。GIS的一些功能,如空间数据的管理和空间分析等,在通用空间数据库系统中存在相似模块,因此可由通用空间数据库管理系统中已有功能得到。空间数据和属性数据的查询和空间操作可利用数据库管理功能,数据挖掘分析模块则可作为一个或多个模块,由数据挖掘子系统统一管理,而空间数据的存储管理与分析均交给通用空间数据库完成。这样不仅可减少系统的功能冗余,提高系统的一致性,还可更好地利用商用数据管理系统的各种优化技术来提高系统空间数据管理与分析的速度。
(2)从异构数据库的集成和空间数据与属性数据的统一管理来看,目前不同GIS厂商的遵循的空间数据格式标准不同,GIS通用平台或组件一般只能直接处理本系统的空间数据文件,因此异种数据库的集成是一个难题。而通用空间数据库提供了数据转换接口,可以将各种不同格式的空间数据转换为统一的格式存入扩展的对象——关系数据库,从而很好地解决了异种数据库的集成的问题。另外,它还克服了GIS系统空间数据与属性数据分离的缺点。
(3)从数据挖掘与空间数据库技术结合来看,空间数据库系统与数据挖掘系统完全分开的系统尽管简单,但有不少缺点。首先,空间数据库系统在存储、组织、访问和处理数据立方体方面提供了很大的灵活性和有效性。在空间数据库(SDB)/空间数据仓库(SDW)系统中,数据多半被很好地组织、索引、清理、集成或合并,使得找出任务相关的、高质量的数据成为一件容易的任务。不使用SDB/SDW系统,数据挖掘系统可能要花大量的时间查找、收集、清理和转换数据。其次,在SDB或SDW系统中,有许多被测试的、可伸缩的算法和数据结构,因此,使用这种系统开发有效的、可伸缩的实现,是切实可行的。此外,大部分数据已经或将要存放在SDB/SDW系统中,不与这些系统耦合,数据挖掘系统就需要使用其它工具提取数据,使得很难将这种系统集成到信息处理环境。
(4)Oracle Spatial是专门为开发与执行大型企业空间数据仓库而研制的产品,它在海量空间数据的存储和组织上性能卓越,在开发基于空间数据仓库的空间数据挖掘应用方面具有显著的优势。
(5)Oracle Spatial分担了SDM算法中部分空间数据抽取的任务,减轻了数据挖掘子系统的负担;另外,由于Oracle对分布式应用的良好支持,从而为实现分布式空间数据挖掘及并行空间数据挖掘提供了最佳方案。
基于以上方案,笔者实现了一个基于Oracle Spatial的分布式空间数据挖掘原型系统。系统由五部分组成:①图形用户界面:用于进行交互式的挖掘并显示挖掘结果;②数据准备模块:进行数据的选择、预处理和转换;③挖掘模块:聚类、分类、关联规则等空间数据挖掘功能及挖掘结果的评价;④空间数据管理模块:执行数据准备模块及挖掘模块指定的空间操作;⑤数据库服务器:管理作为挖掘目标的空间数据和非空间数据及概念层次库、挖掘结果库。挖掘目标的空间和非空间数据及概念层次的存储和空间数据的管理由Oracle8.1.7 Spatial实现。数据准备算法和聚类、分类、关联规则等挖掘算法在服务器端实现,并提供接口给客户端,在客户端用GIS组件MapX4.0实现挖掘结果的专题图显示。其编程工具为VC++6.0。