对象化智慧旅游时空数据库的设计与实现
2016-12-28李文清李景文
李文清,李景文,吕 楠,苏 涛
(1.桂林理工大学 测绘地理信息学院,广西 桂林 541004;2.广西空间信息与测绘重点实验室,广西 桂林 541004)
对象化智慧旅游时空数据库的设计与实现
李文清1,2,李景文1,2,吕 楠1,2,苏 涛1,2
(1.桂林理工大学 测绘地理信息学院,广西 桂林 541004;2.广西空间信息与测绘重点实验室,广西 桂林 541004)
从面向对象的角度,对智慧旅游中的地理时空现象进行动态描述,设计了对象化智慧旅游时空数据的概念模型、逻辑模型、物理模型,构建了对象化智慧旅游时空数据库。采用基于Oracle Spatial数据库对旅游时空数据进行了存储和查询分析。
对象化;智慧旅游;时空数据库;Oracle Spatial
在计算机和网络技术迅猛发展的今天,人类的一切活动都与互联网紧密相连。随着数字地球和智慧城市等大型项目的开展,智慧旅游也在这种大背景下应运而生。要实现旅游的智能化,关键是要科学有效地组织和管理好智慧旅游的时空数据,因此,构建和设计智慧旅游的时空数据库是智慧旅游实现的核心内容。本文利用面向对象的思想,使用Oracle Spatial数据库对智慧旅游的时空数据进行对象化描述、组织、存储和查询。
1 对象化智慧旅游时空数据库构建方法
本文使用面向对象的思想来构建智慧旅游时空数据库,采用概念模型设计、逻辑模型设计、物理模型设计3个阶段来实现对智慧旅游时空数据的描述。
1.1 智慧旅游时空数据概念模型设计
时间、空间、属性是地理实体的3个基本特征,因此,地理实体的变化可以从时间语义、空间语义和属性语义3个方面来进行描述。其中,时间语义可以分解为事件和时间,对于事件通常采用事件发生的时间、事件发生的地点、作用的对象、发生的事件和导致的变化这5个方面来描述;因此,对于地理实体的变化,也可以从时间、空间、对象、事件、属性这5个方面来描述时空数据模型。面向对象的时空数据模型主要描述实体的空间、时间、属性3个特征,而事件语义则描述时间、空间、事件、对象、属性5个方面信息;其中,属性、空间信息比较容易理解,事件(event)、时间(time)和对象(object)3个要素相对比较复杂,其概念与关系分述如下:
1)对象。现实世界中的各种现象被概念性地抽象为实体,但在计算机系统中实体的数字化形式称作对象,并且将具有空间属性的实体称作时空对象。当时空对象状态发生变化时,就会产生一个问题:是新的时空对象的产生,还是该状态变化的时空对象对应着相同的对象。解决该问题就需要通过唯一编码对时空对象进行标识,以实现时空对象和时空演变紧密关联在一起的目的。时空对象O的结构定义为:
式中,ID表示时空对象O的对象标识码(标识码是唯一的);S(t)表示对象随时间变化的空间特性;P(t)表示对象随时间变化的属性特性;T(Tv,Td)表示对象的状态发生改变的时态性,Tv表示有效时间,Td表示数据库时间;A表示对象的行为操作,即对象的时间、空间和属性的运算操作。
2)事件。对于某区域内的任何一次操作都可以看成是一个事件,该区域所有事件的集合称之为事件空间。每个事件在一定程度上又可以细分为更基本的事件。事物的发展由事件序列组成,事件序列的表达式为:
式中,EID表示事件的标识号;ESTi表示事件发生时刻;EETi表示事件结束时刻;EAi表示事件类型,如空间事件、属性事件;EOi表示事件其他方面的说明。
3)时间。在时间数据库中,基本的概念是实际时间和数据库时间。实际时间指的是在现实世界中事件实际发生的时间(又称为现实世界时间或真实时间);数据库时间指的是在数据库中记录该事件的时间(又称为系统时间或事务处理时间)。在数据库中,任何一个对象均具有实际时间和数据库时间的属性。
1.2 智慧旅游时空数据逻辑模型设计
根据概念模型中提出的5元组描述,通过对象、属性、空间、时间、事件5个语义对象来全面描述动态的地理实体,因此,可以将概念模型中的每一个组成部分抽象为时空地理对象类,具体可概括为:属性对象类、空间对象类、时间对象类、事件对象类。采用面向对象的方法对旅游时空数据进行逻辑设计,这些类之间的关系如图1所示。
图1 对象化时空数据模型逻辑设计
由图可以看出,事件包括新增、消亡、合并、分割等事件类型。当某事件发生变化,在事件的驱动下,从发生时间到完成时间,对象会产生相应的状态变化。时空变化过程的同时还会引起时间、属性、空间等要素发生变化。
1.3 智慧旅游时空数据物理模型构建
以基于事件语义的旅游时空数据模型为基础,根据Oracle Spatial时空数据存储机制来构建旅游时空数据库。针对旅游时空数据模型对象的不同,对数据库进行逻辑设计,可以分别对历史数据库、过程数据库和现势数据库进行设计。
1)历史数据库存储的是改变到当前状态之前的历史旅游数据,当某个旅游信息变更事件发生时,旅游对象从一个状态转化为另一个状态,就按照一定的事件发生时间顺序将当前旅游对象状态之前的旅游数据保存到历史库中。
2)过程数据库保存的是对象各个变化时段的属性和空间等数据,由事件与过程引起变化的前后对象之间对应关系的记录数据,由事件表与过程表等组成。
3)现状数据库存储的是旅游信息的最新数据,是数据库系统当前操作的对象,该数据描述了旅游对象当前状态下的属性和空间位置。
旅游时空数据库物理设计主要针对旅游管理中的每一个逻辑时空对象进行对象信息存储,根据Oracle Spatial空间数据模型,可以建立旅游各个部分的对象表,景区表结构如表1所示。
其中,JQID为主键,也是描述景区对象的唯一标识,有助于时空索引;BT是开始时间,表示该旅游对象开始存在的时间;ET是结束时间,表示该景区对象消失的时间,BT和ET主要用来区分现势数据和历史数据;B_EVID表示该景区对象产生的原因;E_EVID表示该景区对象变更结束的原因。
表1 景区时空数据表
结合旅游时空数据库逻辑结构,可以对模型中每一个逻辑时空对象建立现势表、事件表、过程表、历史表,各个表的结构分别如表2~表5所示。
表2 旅游对象现势表
表3 旅游对象事件表
表4 旅游对象过程表
表5 旅游对象历史表
2 智慧旅游综合信息的查询分析
根据旅游时空信息变化的特征,对旅游综合信息进行快照式查询,包括输入一个时刻或一个时间段和时间间隔,查询显示出相应时刻或间隔的静态快照及时间段内的动态变化,即某个时刻的历史状态查询。
2.1 查询某个时间点的旅游信息
给定一个时间点(T0),查询在这时刻的旅游信息,首先在历史数据库和现状数据库中检索满足条件Ts<T0&&Te>T0的旅游对象记录,即为查询结果,其查询流程如图2所示。
图2 基于时间点的快照查询流程图
设now、nowobj、past、pastobj、temp分别为现势表、现势表中的旅游对象、历史表、历史表中的旅游对象、临时表,基于时间点的快照查询算法描述如下:
2.2 查询某个时间段的旅游信息
给定一个时间段(T1,T2),查询在这时间段内的旅游信息,这时间段可能包含对象的起始时间或消失时间,因此,在历史数据库和现状数据库中检索满足条件Te>T1&&Te<T2&&Ts>T1&&Ts<T2的旅游对象记录,即为查询结果。设now、nowobj、past、pastobj、temp分别为现势表、现势表中的旅游对象、历史表、历史表中的旅游对象、临时表,基于时间段的快照查询算法描述如下:
快照式查询只是比较所需要查询的时间或时间段与起始时间(Ts)和结束时间(Te)的大小关系,接着在历史数据库及现状数据库中查询满足条件的记录即可,因此,这种查询效率相对比较高且易于实现。
3 结 语
在智慧城市的背景下,智慧旅游的建设步伐也不断加快,与此同时,大量的旅游信息频繁变更,如何合理掌握真实且具有现势性的综合性信息,实现旅游数据的快速存储与查询,这就需要建立一个有效的时空数据模型,节约存储空间。通过对智慧旅游的时空数据进行科学的组织和管理来构建智慧旅游时空数据库,将是智慧旅游系统建设的重点和难点。
[1] 李云鹏.基于旅游信息服务视角的智慧旅游[N].中国旅游报,2013-01-09(23)
[2] 杨晓梅,张韵婕,蓝荣钦,等.智能旅游信息系统的研究与实现[J].测绘科学技术学报.2012,29(5):321-325
[3] 佘江峰,冯学智,都金康.时空数据模型的研究进展评述[J].南京大学学报(自然科学版),2005,41(3):259-267
[4] 陈新保,朱建军,陈建群.时空数据模型综述[J].地理科学进展,2009,28(1):9-17
[5] 李振华.ORACLE空间数据库的对象_关系模式初探[J].地球科学,2002,27(3):333-337
[6] 张凌云,黎巎,刘敏.智慧旅游的基本概念与理论体系[J].旅游学刊,2012,27(5):66-73
[7] 薛存金,谢炯.时空数据模型的研究现状与展望[J].地理与地理信息科学,2010,26(1):1-6
[8] HUTER G J.Non-current Data and Geographical Information Systems a Case for Data Retention[J].Geographical Information Systems,1988,2(2):281-286
[9] 李景文,傅玮佳,叶良松,等.基于对象的GIS时空数据模型设计方法[J].地理与地理信息科学,2010,26(6):11-14
P208
B
1672-4623(2016)12-0024-03
10.3969/j.issn.1672-4623.2016.12.009
李文清,硕士研究生,研究方向为GIS理论与应用。
2015-07-06。
项目来源:国家自然科学基金资助项目(41461085);广西自然科学基金资助项目(2014GXNSFDA118032);教育厅资助项目(YB2014164)。