基于空间数据库的数据挖掘技术
时间:07-20
来源:watchstor
点击:
4空间数据挖掘系统的开发
4.1 通用SDM系统
在空间数据挖掘系统的开发方面,国际上最著名的有代表性的通用SDM系统有:GeoMiner,Descartes和ArcView GIS的S-PLUS接口。GeoMiner是加拿大Simon Fraser大学开发的著名的数据挖掘软件DBMiner的空间数据挖掘的扩展模块。
空间数据挖掘原型系统GeoMiner包含有三大模块:空间数据立方体构建模块、空间联机分析处理(OLAP)模块和空间数据采掘模块,能够进行交互式地采掘并显示采掘结果。空间数据采掘模块能采掘3种类型的规则:特征规则、判别规则和关联规则。GeoMiner采用SAND体系结构,采用的空间数据采掘语言是GMQL。其空间数据库服务器包括MapInfo,ESRI/OracleSDE,Informix-Illustra以及其它空间数据库引擎。
Descartes可支持可视化的分析空间数据,它与开发此软件的公司所开发的数据挖掘工具Kepler结合使用,Kepler完成数据挖掘任务且拥有自己的表现数据挖掘结果的非图形界面。Kepler和Descarte动态链接,把传统DM与自动作图可视化和图形表现操作结合起来,实现C4.5决策树算法、聚类、关联规则的挖掘。
ArcView GIS的S-PLUS接口是著名的ESRI公司开发的,它提供工具分析空间数据中指定类。
除了以上空间数据挖掘系统外,还有GwiM等系统。
从以上SDM系统可以看出,它们的共同优点是把传统DM与地图可视化结合起来,提供聚类、分类等多种挖掘模式,但它们在空间数据的操作上实现方式不尽相同。Descartes是专门的空间数据可视化工具,它只有与DM工具Kepler结合在一起,才能完成SDM任务。而GeoMiner是在MapInfo平台上二次开发而成,系统庞大,造成较大的资源浪费。S-PLUS的局限在于,它采用一种解释性语言(Script),其功能的实现比用C和C++直接实现要慢得多,所以只适合于非常小的数据库应用。基于现存空间数据挖掘系统的结构所存在的缺陷,我们提出空间数据挖掘系统一种新的实现方案。
4.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。
4.1 通用SDM系统
在空间数据挖掘系统的开发方面,国际上最著名的有代表性的通用SDM系统有:GeoMiner,Descartes和ArcView GIS的S-PLUS接口。GeoMiner是加拿大Simon Fraser大学开发的著名的数据挖掘软件DBMiner的空间数据挖掘的扩展模块。
空间数据挖掘原型系统GeoMiner包含有三大模块:空间数据立方体构建模块、空间联机分析处理(OLAP)模块和空间数据采掘模块,能够进行交互式地采掘并显示采掘结果。空间数据采掘模块能采掘3种类型的规则:特征规则、判别规则和关联规则。GeoMiner采用SAND体系结构,采用的空间数据采掘语言是GMQL。其空间数据库服务器包括MapInfo,ESRI/OracleSDE,Informix-Illustra以及其它空间数据库引擎。
Descartes可支持可视化的分析空间数据,它与开发此软件的公司所开发的数据挖掘工具Kepler结合使用,Kepler完成数据挖掘任务且拥有自己的表现数据挖掘结果的非图形界面。Kepler和Descarte动态链接,把传统DM与自动作图可视化和图形表现操作结合起来,实现C4.5决策树算法、聚类、关联规则的挖掘。
ArcView GIS的S-PLUS接口是著名的ESRI公司开发的,它提供工具分析空间数据中指定类。
除了以上空间数据挖掘系统外,还有GwiM等系统。
从以上SDM系统可以看出,它们的共同优点是把传统DM与地图可视化结合起来,提供聚类、分类等多种挖掘模式,但它们在空间数据的操作上实现方式不尽相同。Descartes是专门的空间数据可视化工具,它只有与DM工具Kepler结合在一起,才能完成SDM任务。而GeoMiner是在MapInfo平台上二次开发而成,系统庞大,造成较大的资源浪费。S-PLUS的局限在于,它采用一种解释性语言(Script),其功能的实现比用C和C++直接实现要慢得多,所以只适合于非常小的数据库应用。基于现存空间数据挖掘系统的结构所存在的缺陷,我们提出空间数据挖掘系统一种新的实现方案。
4.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。
空间数据库 数据挖掘 Oracle8i Spatial 相关文章:
- 根据新技术特点浅谈数据仓库和数据挖掘架构(05-19)
- 数据挖掘技术在客户管理中的应用研究(05-21)
- 基于云计算的数据挖掘平台架构及其关键技术研究(01-20)
- 大数据时代,这十五大关键技术你竟不知道?(01-17)