时空数据(数据库)
时间:2022-11-11 00:30:01 | 来源:信息时代
时间:2022-11-11 00:30:01 来源:信息时代
时空数据 : 同时具有时态属性和空间分布的数据,是随时间变化的空间数据。时空数据在其对应的空间维度中占有一定的空间分布,只在一段时间上有效,并且随时间变化。目前,时空数据库表示、处理的时空数据主要是随时间变化的二维空间数据。
一个空间点可能随时间而改变它的位置,为了完整地反映该点的信息,数据库中应该存储其全部历史信息,加上时间信息后的空间点为移动点。同理,一个空间区域也可能随时间移动、扩大或缩小。时空现象在现实生活中非常普遍,如飞机航行时随着时间变化而改变其空间位置,飞机就是一个移动点;当森林中某处发生火灾时,火灾区就是一个空间区域对象。该区域可能随着时间而扩大、缩小、移动甚至和其他的火灾区域合并,火灾区域是一个移动的区域。“移动”包含两种可能的变化: 一种是空间几何位置的变化,另一种是自身大小形状的变化。
在空间数据库中,空间数据被抽象成点、线、区域。同理,时空数据可抽象成移动点、移动线和移动区域。对二维空间对象,把时间因素看作第三维,移动空间对象便可被看作存在于三维空间之中,图1分别示例了一个移动点和一个移动区域。
(a)移动点
(b)移动区域
图1 移动对象的三维示意图
迄今为止,对时空数据的表示、存储、处理仍是时空数据库的主要研究内容,大多数研究的重点是扩充空间模型或时态模型来表示和处理时间数据或空间数据。其方法主要采用快照(snapshot),即把时空数据表示成一系列的快照。一些学者也分别提出了表示时空数据的方法,如用时间戳(timestamping)和空间戳(space-stamping)属性来表示变化的时间值和空间值: 把时空对象定义为双时空复杂对象,即把空间信息与双时态元素(bitemporal elements)结合起来; 基于事件(events-based)的方法,其中事件表示空间对象的位置和形状的变化,当空间对象在某一时刻发生变化时,该对象的一个新版本值被加到数据库中。
上述方法只能离散地构造空间对象随时态的演化。一些学者研究了如何表示连续变化的时空数据的方法,如引入behavioral时间序列,在该序列中的每个元素包括一个空间对象值、一个时间和一个behavioral函数,后者描述从该元素到序列中下一个元素的演化;通过引入动态(dynamic)属性来表示移动对象,动态属性包含一个移动向量(motion vector),用于描述移动对象的当前状态(如飞机航向的速度和方向)。当移动对象改变(如飞机改变方向)时,更新数据库中对应的移动向量。
在不同的研究领域,开展了对时空数据的研究工作。在GIS领域,研究了空间对象(区域)随时间呈离散变化时的存储模式,基本方法都是首先存储一个起始版本,当区域改变时,记录其变化值。在多媒体数据库领域,研究了在多媒体数据库中表示和处理时空数据,提出移动对象由其轨迹(作为离散的快照)来表示,一组对象可由一个图表示,其顶点表示空间对象,边表示空间对象间的时空关系。该方法重点考虑对象间的演变及整体关系,而忽略了对象的形状变化。在计算几何领域,研究了移动空间对象(点)的Voronoi图,即当一个点集随时间连续变化时,如何维护其Voronoi图。此外,对如何表示移动空间对象,目前还未找到一种满意的方法,尤其是如何表示连续变化的时空数据。
在空间数据库中采用点(points)、线(lines)和区域(regions)来表示空间数据,同理在时空数据中,可采用移动点(mpoints)、移动线(mlines)和移动区域(mregions)来表示时空数据。在现实中,一个移动对象可能由一个移动点集构成,如一个舰队由若干个移动点(军舰)组成,所以,mpoints表示一个移动点集。采用移动点集、移动线集和移动区域集作为描述时空数据的数据类型的优点是可以表示复杂的现实世界,也利于时空拓扑分析操作的实现。和空间数据库中的regions类型一样,mregions必须能够表示具有空洞(hole)的移动区域。如一片火灾区是个移动区域,但其中间可能有湖泊或未着火区。
时空数据表示与处理涉及对时空属性的理解,包括时间与空间的相互作用。时空数据是多维数据,其时间维一般被看作是与各空间维正交的一个维度。在处理上,时空数据中的时间不能简单作为一个显式时间属性,空间分量也应该有其特定的数据结构,以便能够有效地支持时空拓扑分析操作。在很多应用中空间信息和时间信息是紧密结合,同时也是相互制约的,很多查询都是在建立在这两种信息之上。对移动点而言,空间信息表示移动对象在某一时刻的位置,可用经纬度或平面坐标〈x,y〉表示,时间信息可表示移动对象的某一时刻或某个时间段,反映其生命周期的过程,两者结合在一起构成移动点的完整信息。时空数据的处理主要是对空间信息的处理,因此在表示和建模上应以空间信息为主,时间信息为辅,这样才可以提高处理效率。但是空间数据离不开时间信息的制约,很多情况下优先考虑时间信息可以简化处理,例如: 判断两架飞机的航线是否相交。
按照随时间的变化情况,时空数据可分为随时间连续变化的时空数据和随时间离散变化的时空数据。离散变化的时空数据以一组离散时间点上的快照构成,例如南京市的绿化植被分布情况,以年为单位在每年年底存储其信息。时空数据变化情况的离散性有可能来源于数据采集带来的离散性,也有可能来源于数据本身定义的离散性。连续变化的时空数据以变化函数记录对象随时间的持续变化情况,如“CA106航班的航行轨迹”可以抽象表示为一条连续曲线。变化函数的获取、存储与处理相对于离散快照更为复杂,但是对于时空数据的变化情况的精确描述与未来情况的预测更有效。
时空数据的表示、处理技术是研究时空数据库的基础,主要需解决表示方法和数据结构。由于时空拓扑分析操作算法非常复杂,时空数据的数据结构直接关系到拓扑分析操作算法的效率和时空数据库的查询效率,这是时空数据库的研究基础。