基于ETL的多源异构空间数据集成技术研究

2014-02-08 09:32刘文军吴俐民方源敏
城市勘测 2014年2期
关键词:数据格式空间数据一键

刘文军,吴俐民,方源敏

(1.深圳市勘察测绘院有限公司,广东深圳 518028;2.昆明市测绘管理中心,云南昆明 650093;3.昆明理工大学国土资源工程学院,云南昆明 650093)

1 引言

随着“十二五”规划的颁布及实施,“数字城市”的建设已成为各个省份的重头戏。“数字城市”所产生的数据表现为多类型、多尺度、多语义等特性。正是由于数据的多源性和异构性的存在,使得数据共享与信息交换变得十分困难,被称为“信息孤岛”[1]。为了建设好各省的基础地理信息公共服务平台,便于实现GIS数据和信息的持续利用,必须将这些多源异构的空间数据进行集成,最终整合成统一标准的数据。

对于多源异构空间数据集成的研究,国内外已有相关文献。Timo thy L.N yerges于1989 年[2]就地球空间数据集成的结构、步骤和方法进行了讨论;Dan Lee于1993 年[3]和 C.B.Jones于1996 年[4]在数据多尺度问题上进行了研究;2000年李军、费云川[5]在理论上,对地球空间数据集成研究状况及存在的问题做了详细的分析,并初步概括了地球空间数据集成的发展方向。同年,宋关福、钟耳顺等人[6,7]提出了多源空间数据无缝集成(SMIS)技术,并探讨了SMIS技术在GIS软件开发中的应用;有关这方面的研究还有很多[8~10]。以上的文献主要是针对空间数据集成的理论和常用的解决方案的研究,将ETL技术与GIS技术结合的文献却很少。基于以上的分析与不足,本文尝试在多源异构空间数据集成理论基础上,采用ETL技术,在预先定义好的抽取规则和转换规则下,进行了数据的集成抽取、清洗、转换,最后装载到框架数据库。

2 空间数据多源异构性分析

地理空间数据是GIS的操作对象,是GIS所表达的现实世界经过模型抽象的实质性内容[11]。可以从地理数据来源和表现形式来分析空间数据的多源异构性。

从地理数据来源分析:目前,地理数据的来源有现存的地图数据、遥感影像数据、用全站仪或GPS实测的数据、国民经济的各种统计数据等,其来源广泛。而不同的数据源或采集方式不同的数据,所应用的软件也不同,最终导致这些数据的存储格式及结构都各不相同,这就增加了数据重复建设的成本。

从地理数据的表现形式分析[11]:由于地理数据表达的是现实世界中具有几何特征的对象,如地貌、海拔、植被、河流、建筑等,所表达对象的多样决定了地理数据的多语义性;不同的GIS专题应用系统,对数据的比例尺和精度要求也有很大的差异,同时也存在着同一时间不同空间的数据以及同一空间在不同时间的数据,因而地理数据表现出多时空性和多尺度性;由于GIS软件层出不穷,不同的GIS软件平台都有自己所支持的数据格式,如Esri公司的ARC/INFO Coverage、Shapefile格式;AutoCAD的 DXF格式、DWG格式;MapInfo的MID、MIF格式等,这又导致了地理数据的存储格式多样性。

正因为地理空间数据的多源异构性的存在,使得地理空间数据的共享和集成问题日益突出,因此,有必要将多源异构空间数据转换成统一的标准格式的框架数据,达到不同GIS应用系统或各个业务部门数据共享的目的。

3 ETL技术

3.1 ETL的概念及原理

ETL是数据抽取(Extract)、转换(Transform)、装载(Load)的过程[12]。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。具体地说,ETL包括三个主要的环节,一是数据抽取,将数据从不同的操作平台或者数据库等那些最初的业务系统中读取出来,是所有工作的前提;二是数据转换,是对抽取得到的数据,在预先定义好的转换规则下,进行转换的过程,包括字段的合并与拆分、排序、赋缺省值以及数据的聚合等操作;三是数据装载,负责将转换完成的数据装载到数据仓库中。其概模型如图1所示。

图1 ETL概念模型图

3.2 ETL的应用

ETL是建立数据仓库的必要步骤,而数据仓库的建立是为了满足大多数遗留下来的异构的系统、应用、商务流程以及数据源构成的应用环境所需,以实现“数据集中化、业务综合化、管理扁平化、决策科学化”目的[13]。为此,ETL技术主要应用于商业智能方面[14~17],其数据来自于各个部门的人文数据、经济数据或业务数据等。

4 基于ETL的多源异构空间数据集成模式研究

ETL在商业智能方面的应用较广泛,但其数据主要来源于不同部门的人文数据、经济数据或业务数据等,而并非是带有地理实体属性信息的空间数据。为此,本文尝试将地理空间数据作为ETL的数据源,探讨基于ETL的多源异构空间数据集成模式的研究。

4.1 多源数据的集成方式

由于不同GIS软件系统之间图形数据格式的不同,使得空间数据的共享成为难题。目前GIS产业界实现数据共享与集成的方式大致三种,即:数据格式转换模式、数据互操作模式和直接数据访问模式。

(1)数据格式转换模式

数据格式转换模式就是把其他格式的数据经过专门的数据转换程序转换成该系统的数据格式,并复制到当前系统的数据库或文件中。这是一种传统的GIS数据集成方法,也是当前GIS软件系统数据共享与集成的主要办法。目前,业界公认的几种重要的空间数据格式有:Esri公司的ArcInfo Coverage、Shapefile和E00格式;AutoDesk的DXF格式和DWG格式;MapInfo的MIF格式和MID格式;Intergraph的DGN格式等等[7]。

数据格式转换模式存在的一些弊病有:一是信息丢失问题。由于在空间对象中缺乏统一的描述方法,不同格式数据所描述的空间数据模型不尽相同。DXF格式着重描述空间对象的图形表达(颜色、线型)等,而忽略了属性数据和空间对象之间的拓扑关系;E00格式侧重于描述空间对象的关系(如拓扑关系)而忽略了其图形表达能力。因此,CAD数据输出为E00格式将丢失颜色、线型等信息;而ArcInfo数据输出到DXF时则会损失拓扑关系和属性数据等有价值的信息;二是数据转换过程复杂。要想将a格式的数据转换成b格式的数据,首先要使用软件A将a格式数据输出为中间格式,再使用软件B输入已转换的中间格式,最终输出为b格式数据。尤其是在数据不断更新的情况下,不同GIS系统的数据格式转换及其频繁而复杂。

(2)数据互操作模式

数据互操作模式是OpenGIS Consortium(OGC)制定的规范。GIS互操作是指在异构数据库和分布计算的情况下,GIS用户在相互理解的基础上,能透明地获取所需的信息[18]。OGC为数据互操作制定了统一的规范,从而使得一个系统同时支持不同的空间数据格式成为可能。根据OGC颁布的规范,数据服务器(Data Servers)是指提供数据源的软件,数据客户(Data Clients)是指使用数据的软件,数据客户使用某种数据的过程就是发出数据请求,由数据服务器提供服务的过程,其最终目的是使数据客户能读取任意数据服务器提供的空间数据。

数据互操作规范为多源数据集成带来了新的模式,但是这一模式在实际应用中存在着缺陷,究其原因是:其一是一个软件要访问其他软件的数据是通过数据服务器(即被访问数据格式的宿主软件)来实现的,因此用户必须同时拥有这两个GIS软件,并且同时运行,才能完成整个数据互操作过程;其二是每种格式的宿主软件都要按照统一的规范实现数据访问接口,才能真正实现数据互操作。

(3)直接数据访问模式

直接数据访问是在一个GIS软件中通过利用空间数据引擎的方法来实现对其他软件数据格式的直接访问、存取和空间分析[7]。直接数据访问不仅避免了繁琐的数据转换过程,而且在一个GIS软件中访问某种软件的数据格式不要求用户拥有该数据格式的宿主软件,也不需要运行该软件。

从上述角度来看,直接数据访问提供了一种更为经济实用的多源数据共享模式。但是直接数据访问同样存在着一些不足之处:一是由于空间数据格式多样性的存在,使得不同GIS软件数据组织各不相同,没有一个专门的软件能够支持所有数据格式直接访问;二是客户软件要为每一种要直接访问的宿主软件数据格式编写读写驱动,在宿主软件数据格式不公开,或者宿主软件数据格式发生变化的情况下,客户软件就必须投入大量的人力和财力去研究该宿主软件的数据格式,这是不可取的。

4.2 基于ETL的多源异构空间数据集成系统的实现

针对空间数据存在着来源、尺度、类型、组织方式和软件支撑平台的差异性的问题,及对空间数据三种集成方式进行了讨论和对比,本文尝试将ETL技术应用于空间数据集成中,拟设计出一个主要用于空间数据抽取、转换、装载的工具,旨在将多源异构空间数据集成为基础数据,再通过一键抽取功能形成框架数据。

(1)系统整体概述

在本系统整个过程中,所操作的数据是1∶5万某市烟草种植项目建设及规划数据,这些数据存储于专用服务器上,以Oracle 11g数据库进行管理,数据格式为ShapeFile(位于地理数据库(Geodatabase)中),存贮这些数据的数据库被称为“源数据库”。系统总体过程可以概括为:

①首先通过连接数据库,访问到所需要操作的源数据;

②按照业务应用的需求,制定抽取规则,将全部数据或通过规则定义的数据抽取到“目标数据库”;

③考虑到这些数据的保密性因素,需要对所抽取的数据进行内部处理,包括坐标变换、涉密过滤、精度降低或平移拉伸等;

④对处理过的数据进行装载入库,形成专题数据,以供各部门的使用。

(2)技术方案

主要是对ETL工具的设计方案的考虑,可以借鉴工作流的一些概念和思路。其系统技术流程如图2所示。

图2 系统技术流程图

(3)实例验证及结果分析

本实验的实例数据是某年1∶5万某市烟草种植项目建设及规划数据,来源于该市基础地理信息中心,这些数据是按照国家标准1∶5万矢量数据的建库规则及各要素分类编码规范执行。本实验主要测试了一键抽取、查询抽取及第三方数据入库的功能。

①执行一键抽取过程

在成功连接数据库后,将数据库中所存储的空间数据读取出来,通过选取空间数据,执行一键抽取的过程,本实验选取的是6个图层(点、线和面)要素类进行抽取,在执行抽取过程中,其详细的空间图形数据并不会显示,整个过程是在后台中完成的,如图3所示。对于抽取所得到的结果将直接入库,存储在事先新建好的要素数据集(SDE.OFB)中,以系统执行该操作的时间来命名。执行一键抽取前后的数据结果可以通过SDE连接Oracle数据库进行查看,分别如图4和图5所示。这个过程只能操作数据库中的已存储的数据。

图3 执行一键抽取过程

图5 执行一键抽取后SDE.OFB数据集

图4 执行一键抽取前 SDE.OFB 数据集

②执行查询抽取过程

为了满足用户需求的多样性,一些用户并不需要全部的数据,而只是需要提取其中的部分数据,查询抽取模块可以很好解决这一问题。与一键抽取模块相比,查询抽取过程既能操作数据库中的已存储的数据,也可以操作存储于本机上的未及时更新到数据库中的数据。由于篇幅原因,本文只对前者的数据进行实验:

连接数据库成功后,获取数据库中的空间数据,选择目标数据添加至视图控件中进行浏览显示,再选择图层,定义筛选条件,最终执行查询。实验过程中选择线图层 LJTB_EST_L_DITCH,筛选条件为“V04_NAMEBASE=‘河南中烟’”。整个执行过程及查询结果截图如图6~图9所示。

图6 选择图层

图7 定义筛选条件

图9 高亮显示查询到的结果

对于根据定义筛选条件执行查询抽取得到的结果,可以对其进行入库处理或保存为本地ShapeFile格式文件。为了区分一键抽取得到的数据,对于查询抽取得到的数据的命名,采用执行该操作时的系统时间来命名,如图10所示。

图10 执行查询抽取后数据集结果

③第三方数据入库

考虑到数据的现势性问题,有些数据并未及时更新到数据库中,因此有了第三方数据的存在,为了使这些数据能够入库并进行相关的操作,本系统专门开发了这一模块。为了区分数据一键抽取和查询抽取得到的结果,系统专门另外创建了一个矢量数据集并命名为Third,用于存储第三方的入库数据。入库后该数据在数据库同样以执行该操作时的系统时间进行命名。实例验证过程及结果如图11~图12所示。

图11 第三方数据入库

图12 第三方数据入库后结果

④据的集成

针对一键抽取以及查询抽取所得到的数据和各业务部门已有的数据进行集成。如图13~图14所示。

图13 集成前数据显示

图14 集成后数据显示

5 结论与讨论

(1)在本系统中只实现了对ShapeFile格式的矢量数据建模、抽取、转换及入库,对于其他格式的数据(如遥感影像数据、CAD格式数据、MapGIS格式数据等)抽取、转换及入库的开发工作并未实现,这也正是下一步工作中的主要研究重点;

(2)由于实验环境和硬件设备的限制,实验过程中没有一台专门用于存贮数据的后台服务器,为此,在下一步的工作中有必要增加一台专用服务器,用于存储数据,以便模拟更真实的数据库环境,尤其是在“大数据(Big Data)”时代下就更有必要了;

(3)在数据转换模块执行数据的内部处理时,只进行了空间数据的坐标转换,在数据的保密性方面未能考虑到位,在后续的研究与工作中将会继续考虑数据的脱敏处理,包括数据的精度调整、去噪处理、拉伸平移等;

(4)执行数据抽取和入库时的效率(即时间复杂度)未曾考虑,在今后研究中可以在不同抽取方式下对比其时间复杂度,探讨出效率更优、时间更短的抽取方式。

[1] 崔铁军.地理信息服务导论[M].北京:科学出版社,2009:5~10.

[2]L N yerges T L.Schema integration analysis for the development of GIS databases[J].Int.J.Geographical Information Systems,1989,3(2):153 ~183.

[3]Dan Lee.An ideal means for multiple GIS data transformation and represents[J].Proceedings of the Third Workshop on Geographical Information System,Beijing,1993(1):66 ~79.

[4]Jones C B,Kidner D B,Luo L Q etal.Database design for multi2scale spatial information system[J].Int.J.GeogarPhical Information Systems,1996(10):901 ~920.

[5]李军,费云川.地球空间数据集成研究概况[J].地理科学进展,2000,19(3):203 ~211.

[6]宋关福,钟耳顺,刘纪远等.多源空间数据无缝集成研究[J].地理科学进展,2000,19(2):110~115.

[7]钟耳顺,王康弘,宋关福等.GIS多源数据集成模式评述[A].中国 GIS年会(深圳)论文集[C],深圳,1999.

[8] 王雅琴,陶华学,高华等.基于GML的多源异构数据交换模式研究[J].测绘科学,2006,31(2):88~90.

[9]周顺平,魏利萍,万波等.多源异构空间数据集成的研究[J].测绘通报,2008(5):25~27.

[10]杨春成,何列松,谢鹏等.基于空间数据库引擎的多源地理空间数据管理[J].测绘科学技术学报,2010,27(5):366~370.

[11]李杨,李天文,崔晨等.多源空间数据集成技术综述与前景展望[J].测绘与空间地理信息,2009,32(1):102~106.

[12]龚琼宇,李晓,刘栋等.ETL技术在公共卫生数据共享中的应用研究[J].中国卫生工程学,2009,8(1):54 ~56.

[13]缪嘉嘉,邓苏,刘青宝.ETL综述[J].计算机工程,2004,30(3):4 ~6.

[14]汪立军.超市数据仓库与数据挖掘的研究[J].计算机与数字工程,2007,35(9):79 ~82.

[15]代志远.ETL在电力生产运维分析系统中的设计与实现[D].青岛:山东大学,2009.

[16]王磊.基于ETL的信合数据整合模型及解决方案[D].武汉:湖北工业大学,2011.

[17]尤欣.ETL技术在商业智能中的应用[J].电脑应用技术,2004(74):17~21.

[18]黄裕霞,Cliff Kottman,柯正谊等.可互操作的GIS研究[J].中国图像图形学报,2001,6(9):925~931.

[19]陈楠.多源空间数据集成的技术难点分析和解决策略[J].计算机应用研究,2005(10):206~208.

猜你喜欢
数据格式空间数据一键
冷轧机一键式升降速轧制的实现
“一键报贫”助力脱贫攻坚
GIS空间数据与地图制图融合技术
一键观影,一键K歌 菱杰 TRS IW影院系列5.1音响套装
一键定制 秋冬彩妆懒人包
基于RFID的户外广告监管系统的设计与实现
基于特征库的测井数据格式自动识别与转换方法
基于ArcGIS的规划数据格式转换研究
网格化存储的几项关键技术分析