王晓东
【摘 要】任何事物都有其时间和空间特性,时空数据库是包含时间和空间要素在内的数据库系统。本文介绍了时空数据库的基本概念和应用,以及时空数据的建模、索引和查询技术。
【关键词】时空;时空数据库;技术
一、引言
时空数据库是时态数据库与空间数据库的统一体,它是在空间数据库的基础上增加时间要素而构成的三维或四维数据库,即包括时间与空间元素,主要用于存储与管理位置或形状随时间而变化的各类空间对象。时空数据库主要是针对对象的时空信息进行分析处理,它通常涉及时空对象表达、时空数据建模、时空数据索引、时空数据查询,以及时空数据库体系结构等几个方面的研究内容。
时空数据库的应用非常广泛,根据时空应用所处理数据类型的不同,时空数据库应用范围可以归纳为以下三类。(!)处理移动对象的应用,例如导航系统。(2)涉及空间对象定位的应用,对象的特征与位置可能随时间而变化,但却不移动,例如在土地信息系统中,土地随形状的变化而改变位置。(3)结合上述两种情况的应用,例如在生态环境应用中,污染既作为一个移动现象而被测量,同时它的特性和形状又随时间而变化。
二、建模
时空数据建模主要是建立空间对象的数据模型,以便于对时空数据进行索引和查询等操作。时空变化有六种类型,分别是属性变化、静态空间分布、静态时间变化、动态空间变化、过程转换和实体运动。针对上述几种时空变化,可以进行建模,有基于属性建模,也可以基于位置建模,还可以同时基于属性与位置建模。时空概念模型主要是用来构建对空间对象进行抽象描述所必需符号与形式化表示,可以将传统概念模型扩展成时空概念模型,也可以在原有时空概念模型的基础上设计新的时空概念模型。
时空数据模型是指建立时空对象的数据模型,通常有两种建模方法。一种是在时态数据库中加入空间属性与操作,另一种是在空间数据库中加入时间属性与操作。时空数据模型主要有快照模型、时空复合模型、基于事件模型、三域模型,以及基于对象模型等,在实际应用中需要根据情况,选择合适的时空数据模型。
移动对象是指随时间而连续变化的空间对象,它主要可以分为移动点和移动区域。由于移动对象的位置随时间的变化而连续变化,所以对行动对象进行建模就必须既要考虑连续模型,又要考虑离散模型。连续模型可以精确地描述移动对象的运动信息,但是由于计算机不易存储和操作无穷多个移动点,因此不易实现。离散模型通过以近似值描述移动对象的运动信息来实现,考虑到计算机系统的资源是有限的,因此用离散的概念对一个系统建模是非常必要的。
三、索引
时空数据索引的主要目的是对时空数据建立各种索引机制,以便有效地访问这些数据,它是时空数据库研究领域最活跃的研究方向之一。根据所处理数据信息的不同,索引方法可以分为三类,分别是索引过去、索引现在以及索引将来。
索引过去是对历史的时空数据进行索引,该类最常用索引方法有以下三种。(!)基于现有的空间索引。它是在现有的空间索引方法的基础上,加入时间要素来实现。(2)基于重叠与多版本结构索引。该方法需要有大量存储空间,它将时间与空间分开进行处理,其目的是保持所有空间数据在一个时间实例内有效,而最终目的是为每一个时间实例构建一棵独立的R-tree。(3)面向迹线的索引。它优先考虑对象的迹线,而其他属性次之。
索引現在主要是关注对象的历史与现在的信息。由于以前的时空索引技术假定所有对象的运动都是事先知道的,这样就只需要存储封闭的移动对象轨迹,而不存储当前位置,所以无法对移动对象的当前位置进行索引。索引现在的方法主要有散列法、2+3R-tree方法,以及LUR-tree方法。散列法仅仅保存对象的当前信息,它将空间分成可重叠的分区,并且只有当分区变化时才在数据库中更新此信息。2+3R-tree用于索引移动对象的现在与过去信息,该方法包括两棵R-tree,一棵索引现在的二维对象,另一棵索引历史的三维轨迹。LUR-tree方法仅仅考虑对象的当前位置,而不存储历史的数据,其目的是要实现在频繁处理移动对象的更新时,不降低R-tree的索引性能。
索引将来主要是关注对象的现在与将来的信息,目前该类时空数据索引方法有PMR-quadtree和TPR-tree。PMR-quadtree用来索引移动对象将来轨迹,并在R-tree中引入参数化界限矩形的思想。TPR-tree用来支持对任意维空间对象的索引。随后很多研究者对TPR-tree进行了改进,例如TPR*-tree引入新的插入与删除算法,STAR-tree引入自调整概念,RED-tree则解决了移动对象的运动信息长时间不能更新的问题。
四、查询
时空数据查询目前常用的方法主要有窗口查询、运动对象最近邻居查询,以及TP查询与LB查询。窗口查询针对时间序列,有两种基本查询方式,一种是前向查询,另一种是反向查询。时间序列是指按时间顺序排列的一系列观测数据,现实生活中人们通常只对某一段时间内发生的事件感兴趣,即有许多反向查询仅涉及某一段时间区间。这样一来,时间序列窗口查询就成为反向查询与正向查询的合成。
运动对象最近邻居查询是时空数据库的关键技术,它在智能导航、现代通信、交通控制和气象预报等领域有着广泛的需求。根据实际情况,如果允许不考虑被研究对象的形状,该对象可以看作点。运动对象最近邻居查询实际上是运动点的最近邻居点查询,涉及到度量时空关系。
TP查询可应用于任何传统查询方法,并且查询结果不仅返回由一般传统查询得到的结果,而且也返回该结果的失效时间T,以及在T后的结果变化。LB查询可以应用于传统的WQ查询和KNN查询,并且既可得到查询结果,又可得到查询的有效区域。例如一个LB查询可能既返回一个离旅游者最近的宾馆,又返回一个使该宾馆保持最近的有效范围。
五、结语
时空数据库已经成为了数据库中一个重要的研究领域,尤其是时空应用的不断出现,时空数据库在GIS、多媒体应用、导航系统、生态环境系统和智能交通系统等方面的广泛应用前景,引起了广大科技人员的浓厚兴趣。近年来的许多研究成果更是证明了时空数据库在处理时空信息方面有着强大的能力,并且许多研究者正在逐步将其研究成果转化为实用的时空数据库管理系统。
【参考文献】
[1] 汤庸. 高级数据库技术与应用[M].北京:高等教育出版社, 2008.