针对目前电子政务中空间数据集成分析功能研究不足的现状,提出一种有效的空间数据转化集成方法,将地理空间数据、非空间属性数据、空间谓词数据以及电子政务事务数据进行集成,构成面向政务分析的更为全面的数据源。在此基础上,设计多维空间数据模型来集成这些数据源。突破现有GIS查询分析功能,支撑更为复杂的空间数据与非空间数据联动查询的模式。
Due to the lack of the integration and analytic function for spatial data in current E-government systems,the article proposes an effective method for transforming spatial data, and integrates digital map, non-spatial attributes, spatial predicates and transaction data in E-government together. Then a multi-dimensions model for integrating spatial data is proposed to realize the transformation of spatial data,which can enrich the analytic functions for E-government.
据Open GIS统计,全世界数据库中信息的75%-80%带有与空间地理位置有关的特性,而MapInfo公司的白皮书声称“数据库中信息的85%以上都具有地理属性”,由此可见数据间包含着丰富的地理空间关系[ 1]。电子政务信息系统也不例外,政府负责社会公共资源的管理,例如国土部门、环境部门、农业部门、城建部门等,政务信息必然包含大量的地理空间信息。由于地理空间信息在电子政务中的突出重要性,国内外很多学者提出基于GIS的电子政务系统。GIS能够支持以电子地图的方式显示和查询空间信息,可以提供一些简单的数学模型进行初步的空间分析(例如叠加分析、缓冲分析、网络分析等),还可以通过其模型库提供数学建模的接口[ 2]。目前电子政务系统中的地理空间分析还局限于使用GIS的基本功能,如可视化查询功能和线性数学建模功能[ 3]。GIS中的空间数据库(SDBMS)和属性数据库(RDBMS)不是同种数据库管理机制,分别属于非结构化数据和结构化数据,不能直接集成整合[ 4]。
电子政务系统需要集成地理空间信息和事件属性信息并进行全面分析,现有研究对非结构化数据(地理空间数据)和结构化数据(事件属性数据)的分析是割裂的,缺少有效的集成路径。很多学术文献从不同的角度研究了空间数据的集成问题,例如空间数据与数据仓库的集成[ 4, 5]、空间数据与属性数据的互动表示[ 2]、空间关系数据的转化计算[ 6, 7]等。上述研究的不足是研究视角单一,每个研究视角中的数据整合都不够全面。空间数据是信息系统中重要的数据资源,如果不能从全面集成的角度进行整合,其信息价值难以得到充分的利用和挖掘,将导致GIS软件的数据源不足,分析功能受限。本文以电子政务系统为背景,研究非结构化空间数据转化集成方法,突破现有研究视角单一的缺陷,提出系统的空间数据转化集成方法。从三个步骤展开渐进式研究:空间数据的转化集成方法、多维分析的空间数据模型、基于多维空间数据模型的查询分析。
电子政务需要有效地分析地理空间数据,但是地理空间信息是非结构化的,是以点、线或面的形式存储在空间数据库中,这种非结构化数据不能以二维关系表的形式存储在关系数据库中。结构化数据是指可以用二维表结构来进行逻辑表达,并存储在数据库里的数据。例如,政府应急管理数据库中的建筑物、用途、年龄、结构等属性信息是以二维关系表(R-Table)的形式存储在关系数据库中,属于结构化数据。为了适应电子政务信息分析的需求,本文提出将非结构化空间数据转换为空间关系谓词的思路。空间关系谓词(空间谓词)用于描述指定空间对象与临近地理空间对象关系的信息,包括拓扑关系谓词——包含(C)、被包含(B)、相交(I)、接触(T)、重合(L)、临近(CT)等[ 8]。空间谓词能以二维关系表的形式存储在关系数据库中,实现非结构化空间数据向结构化空间数据的转化。
空间谓词在电子政务中的应用非常重要。以城市应急管理信息系统为例,地理空间关系信息对于识别突发事件的起因、蔓延和应急响应具有非常重要的意义。以往没有充分研究作为非结构化数据的空间关系信息,使非常规突发事件失去了非常重要的分析线索。空间关系谓词是由存储在GIS中的空间对象位置坐标计算而来的,即根据空间对象之间的位置和距离来计算。
空间谓词的计算有很多种方法,例如MBR法[ 9]、交叉矩阵法[ 6]等。但在电子政务信息系统中,这两种计算方法都有一定的缺点。MBR法是以空间对象的索引来近似模拟对象,利用索引坐标判断两个空间对象之间的关系。其缺点是空间谓词的计算不精确,用于对空间关系信息要求精度低的领域。交叉矩阵法采用9个位置点信息来近似空间对象,然后利用矩阵之间的关系来计算得出空间谓词。其缺点是计算的精度过高,且执行复杂度高,适合精确使用空间关系信息的专业测绘领域。
为了适应电子政务领域的应用,本文提出了一种简便算法,既能满足电子政务空间信息分析的需要,又能依托现有GIS软件的功能函数,有效减少算法的执行复杂度。算法1的伪代码如下:
算法1
Input:
{O}/*表示指定要计算其空间谓词的空间对象集合*/
{S}/*表示指定空间范围内的所有其他对象集合*//*返回指定对象临近距离内的几何对象*/
Output:
{Cx};{Bx};{Ix};{Tx};{Lx};{CTx} /*空间谓词集合*/
Method:
For each x∈O do
{Cx}:=Contain(x)/*返回完全包含搜索对象的对象*/
{Bx}:= Containby(x)/*返回被搜索对象包含但没有接触的几何对象*/
{Ix}:=Intersect(x)/*返回与搜索对象有相交区域的几何对象*/
{Tx}:=Touch(x)/*返回与搜索对象有公共边的几何对象*/
{Lx}:=Overlap(x)/*返回与搜索对象完全重叠的几何对象*/
{CTx}:={S}-{Cx}-{Bx}-{Ix}-{Tx} /*将上述几种空间谓词排除以后,得到空间谓词Close-To (x)的几何对象*/
Output
{Cx};{Bx};{Ix};{Tx};{Lx};{CTx}
End for;
通过算法1,可以针对给定的空间对象集合,计算其空间关系谓词。这些空间谓词包括:包含(C)、被包含(B)、相交(I)、接触(T)、重合(L)、临近(CT)。例如在应急管理信息系统中,分析建筑物的火灾发生情况,就可以结合火灾建筑物周边的地理空间关系信息来分析火灾的发生、蔓延、影响、救援等,从而突破了传统电子政务信息的空间数据分析能力不足的弊端。
在电子政务系统中的空间关系信息实现了空间谓词转化的基础上,全面梳理电子政务系统的数据源,其中包括4个种类的数据:存储在GIS的空间数据库中的地理空间数据(电子地图数据);存储在GIS系统关系数据库中的非空间属性数据;存储在关系型数据库中的基本事实数据;存储在关系型数据库中的空间谓词数据。以应急管理电子政务系统为例,说明4类数据的集成方法,如图1所示:
图1中的表1和表2分别为描述关系型业务数据和非空间属性信息的两个基本表;表3为空间谓词表;图1右侧的电子地图代表地理空间数据。关系型业务数据是指通常的事件的基本事实表(地点标识、突发事件类型、事件等级、救援设备、伤亡情况、经济损失等),如图1中的表1所示;地理空间数据是将应急事件具体的空间信息按照GIS软件支持的数据格式记录下来,并通过GIS系统实现应急事件位置的可视化,如图1中的电子地图;非空间属性数据是指事件发生地点的地理属性描述(如地点标识、地点坐标、建筑物材质、建筑物性质、建筑物年龄等),如图1中的表2所示;空间谓词数据是指事发地点周边空间关系信息的提取(包含、被包含、相交、接触、重合、临近等),如图1中的表3所示。
在上述的4类数据中,一类为空间数据,另三类为非空间数据,可以使用空间数据引擎[ 9],按照统一的关键字(地点标识)将它们集成在一起。ESRI公司的ArcSDE引擎,SuperMap公司的SDX(SDX+)引擎等能够支持在SQL Server、Oracle等大型关系型数据库中存取地理空间数据,实现空间数据与非空间数据的集成[ 10]。空间数据与属性数据的查询分析功能,可以使用ArcGIS或SuperMap Objects提供的矢量数据集对象相关方法实现[ 9]。
在实现数据的初步集成以后,进一步探索具有多维分析能力的数据集成模型。多维分析功能是指在电子地图上提供上卷、下钻、切片、切块等查询分析功能,类似数据仓库技术中的OLAP技术[ 5]。普通的数据仓库和多维分析是建立在数据立方体(Data Cube)之上,由维和事实度量组成,数据立方体为多维分析提供数据基础。本文提出在普通数据立方体的基础上集成地理空间数据,实现多维空间数据模型的构建。
定义1:多维数据模型[ 11]
MD=(D,H,M, Γ)
D={D1,D2,…,Dn}——数据立方体的维,如时间维、地区维等。每个维与一个维表相关联。Di=(βi,1,…,βi,t(i))——维的具体值集合。βi,t(i)是维Di的一个具体值,t(i) 是
H={H1,H2,…,Hn}——维的层次关系集合。Di→Hi,Hi是Di的对应的概念层次,如Hi:Year ←Month ←Day。
M=(M1,M2,…,Mn)——数据立方体的数值度量。它是一组数值函数,如火灾次数、救火车数量等。
Γ=(F1(M),…,Fs(M))——数值度量的聚集函数。例如,某月火灾总次数、某区域医疗急救设备总数,分别用Sum(M),Count(M)等函数表示。
上述模型是利用多维度具体值的组合,查询对应的聚集函数值。聚集函数可以是分布的、代数的、整体的三种类型。由于M和Γ的变化,一个多维数据库可以衍生出若干多维视图。在技术路线支撑层面,上述维度模型和聚集函数可以由数据库产品支持,例如SQL Server、Oracle等。
空间数据模型的维和度量都具有空间信息,其包含多维分析的空间维模型和度量模型。
定义2:多维分析的空间维模型
空间维是指包含空间信息的属性,空间维模型包含两种类型的维:
(1)空间-非空间维:指初始数据是空间数据,按一定的抽象层次概化后变成非空间的。即由地理信息数据概化成一个非空间数据,如图1中的No.1、No.2、No.3区域的空间值概化成为某行政区域的名称,如“A区”。
(2)空间-空间维:指无论初始数据还是概化数据都是空间数据,如No.1,No.2,……,No.8区域的空间数据在所有概化(如区域合并)的地区数据也是空间数据。
定义3:多维分析数据模型的度量模型
多维分析数据模型的度量包括两种:
(1)数值度量
普通数据立方体的度量是一个数值函数Γ,可对数据立方体的每一个点求值,通过给定点的各“维-度量”对聚集数据,计算该点的度量聚集值Fi(Mi),例如Sum(),Count()…[ 11]。数字度量仅仅包含数字数据,例如,空间数据立方体中的一个度量可能是某地区的“火灾发生数量”,通过上卷操作可以聚集计算按月、季、年的“火灾发生数量”。
(2)空间度量
空间数据立方体也是由许多维和大量度量(空间度量和数值度量)组成,但不同于普通数据立方体的数值度量,空间度量是指向空间对象集合的一组指针[ 9],在上例中为指向空间区域的指针集合。指针集合的成员按照指针指向区域的空间属性或非空间属性的相似性来确定,如查询火灾等级为“高”的地区集合。
具有空间分析能力的OLAP操作有时需要进行空间度量的聚集函数运算,如计算大量的空间对象的合并、叠加、联接等。数值度量的聚集函数与空间度量的聚集函数的区别如下:
Γ=(F1(M),…,Fs(M))=Sum(M),Count(M),Avg(M)
…——数值度量的聚集函数。
Γ=(F1(M),…,Fs(M))=Amalgamate(M),Overlay(M),Join(M),Intersect(M)
…——空间度量的聚集函数[ 11]。
图2是某市政府划分的城市应急管理网格,每个网格赋予一个区域指针,则所有的区域指针覆盖着整张市区地图。图2针对应急管理主题建立空间数据仓库的星型数据模型,包括6个维:事发时间维、救援机构维、应急资源维、应急事件维、空间谓词维、事发地区维,其中前三个是非空间维,事发地区维是空间维,空间谓词维也是空间维。空间谓词维是以每个小网格为指定分析对象计算而来的,按照算法1计算其空间关系谓词。每一个维都有相应的概念层次,事实表中包括两种度量:区域指针、事发次数、资源数量和面积。其中,区域指针是空间度量,其余三个是数值度量。
多维数据模型操作要求快速而精确的空间区域合并显示。如Roll-up操作可以将泛化在同一个抽象层次(如相同的应急事发总次数)的大量空间指针合并成同一单元,并计算合并后的面积,将合并结果快速地显现在地图上,可以根据上述多维分析数据模型的定义,实现主动式的查询分析。
例1:某城市管理部门查询“2008年”、“包含居民社区的网格”、“火灾事件”的“事发数量”,其中“2008年”、“包含居民社区的网格”、“火灾事件”为维值组合;“事发数量”为指定的数值度量。
例2:显示某城市管理部门查询“2008年”、“包含居民社区的网格”、“火灾事件”的“事发数量分布区域”,其中“2008年”、“包含居民社区的网格”、“火灾事件”为维值组合;“事发数量分布区域”为指定的空间度量,即按照“事发次数”的多少合并“区域指针”,从而实现可视化的事发数量分布观测。
本文以例2的上卷查询操作为例,使用SQL Server数据库和SuperMap Objects[ 10]实现开发设计。
基于SQL Server实现针对多维属性数据的操作,MDX是一种类似SQL的语言。SQL是基于联机事务处理(OLTP)的,而MDX是基于OLAP的,是针对多维数据进行查询。通过空间数据引擎(如SDX+,SDE),将SQL Server数据库和GIS空间数据库联接起来,实现多维空间数据的操作。MDX语言可以触发GIS中地图数据并实现互操作。以合并“区域指针”为例,设计支撑其实现的算法2伪代码如下:
算法2:
Input:
Spatial points set {P}/*“区域指针”*/
Concept hierarchies {H} /*“事发数量”对应的泛化“概念层次”*/
Spatial predicates {S}/*“区域指针”周边的空间谓词,用算法1得出*/
Digital map/*相应的“电子地图”*/
Output:
Merged map
Method
For each Pi∈P(i=1…n) do
For each Pj∈P (j=1…n), and i≠j do
If Pi.Hi=Pj.Hj and T(Pi,Pj)/*如果两个区域指针对应“事发数量”的泛化“概念层次”相等,而且两者的位置是接触的(有共同边界的),即满足空间谓词S中的Touch谓词*/
Then Merge(Pi,Pj) in Digital map/*则将两个空间对象的共同边界擦除,多数GIS软件都可以支撑该种功能的开发实现*/
Endfor
Endfor
该空间合并的示例结果如图3所示。其中“选择数据源”代表选择“应急管理事实表”及相关电子地图;“选择决策属性”代表确定何种“数值度量”;“概念分层”代表对“数值度量”的概念泛化。
本文提出的多维属性操作到多维空间数据操作的实现过程,是一种更为复杂的空间数据与非空间数据联动查询的模式。这种模式能够集成地理空间数据、非空间属性数据、空间谓词数据和电子政务事务数据,充分结合了数据仓库分析功能和GIS分析功能的双重优势。现有的电子政务系统中的数据至多包括地理空间数据、属性数据和事务数据。各部门的系统基本没有空间谓词数据的集成,也没有实现数据仓库、GIS系统和电子政务系统平台的无缝对接。很少能够支持基于多维可视化查询的空间数据和属性数据的联动功能。因此,本文的方法可以扩充电子政务系统的数据源,拓展电子政务系统的分析功能。
公共资源管理是政府部门的重要职能,例如国土资源管理、城市规划管理、农业信息管理、环境保护管理等。所有的公共资源其实都可以归结为分布在不同地理位置上的空间对象。对于履行公共资源管理职能的政府部门来说,其电子政务系统不能没有空间数据的处理功能。本文提出的方法可以有效提升政府空间信息的处理能力,因此,在上述政府部门中具有广泛的适用性。
电子政务中涉及到大量的地理空间数据,这些空间数据与关系型的事务数据管理机制是不同的。本文提出一种有效的空间数据转化集成方法,将地理空间数据、非空间属性数据、空间谓词数据以及电子政务事务数据进行集成,构成全面的数据源,有效地处理了电子政务系统中空间数据的集成分析,进而设计多维空间数据模型,突破现有GIS查询分析功能,支撑更为复杂的空间数据与非空间数据联动查询的模式。然而,多维空间分析功能的拓展还面临很多技术难点,包括更为复杂的多维空间数据挖掘、多维时空分析等,这是后续研究的重点。