虚拟GIS数据模型的设计及其主动式面向对象数据库系统的实现(2)
来源:第三维度
作者:谢传节 孟雪莲 万洪涛 姚长青
单位:中国科学院地理科学与资源研究所资源与环境信息系统国家重点实验室
4 基于主动式面向对象数据库的实现与虚拟GIS 示例
4.1 虚拟GIS 系统概念结构
虚拟GIS 是三维GIS、可视化技术和虚拟现实技术的结合形成的新一代GIS 系统。虚拟GIS 在提供较强的多维数据建模能力和多维空间数据管理能力的同时, 更能支持复杂虚拟图形空间的生成和支持用户采用多种交互设备与图形空间交互。通过虚拟GIS, 用户可以在多维图形空间中分析空间数据,解决问题。而图形空间与数据空间的交互是透明的,虚拟GIS 数据库负责保存用户在虚拟空间中对数据的修改和维护多维数据的完整性。虚拟GIS 系统的总体结构如图6 所示。
图6 虚拟GIS 系统的总体结构
Fig.6 The overall design of the V irtual GIS
从图中可见, 虚拟系统可以分为两部分, 即虚拟GIS 图形引擎和面向对象虚拟GIS 数据库系统。虚拟GIS 图形引擎的核心任务是在数据空间地理对象的基础上, 生成虚拟地理世界, 包括图形的绘制和图形空间的管理; 虚拟GIS 图形引擎的另一个关键任务是支持用户与图形空间的交互, 特别是用户在图形空间中执行数据库有关的操作, 此时虚拟GIS 图形引擎, 将用户的操作转化为数据库操作(虚拟GIS 图形引擎作者已经有文章做专门的介绍)。面向对象虚拟GIS 数据库系统负责空间数据的管理和响应虚拟地理信息系统的数据请求和查询请求。为了支持OOVRGDM 中的事件属性, 面向对象虚拟GIS 数据库系统采用主动式的体系结构。
4.2 主动式面向对象虚拟GIS 数据库管理系统
为了实现OOVRGDM 和管理虚拟GIS 中地理对象数据, 我们设计了一个虚拟GIS 空间数据库原型系统。
图7 虚拟GIS 数据库管理系统基本工作原理图
Fig.7 The basic p rincip le of the DBM Sfo r the V irtual GIS
要实现OOVRGDM 在空间数据库中的表达,采用关系型数据库显然是不切实际的, 因为OOVRGDM 非常复杂, 因此我们采用当前面向对象数据库技术, 采用对象模式来管理数据和维护数据之间的复杂关系[9、10、11]。另外为了探讨虚拟GIS对地学过程建模的支持, 在数据库设计时, 我们采用了主动式数据库体系结构, 数据库可以根据自身状态的改变所触发的事件或用户所触发的事件执行一定的方法[12]。当前我们设计的主动式面向对象虚拟GIS 数据库管理系统的基本特点:
(1) 采用对象模式管理地理对象, 对象模式的定义同C++ 语言捆绑在一起, 方便用户在数据库内置的空间数据模型基础上, 按应用需要扩展地理对象;
(2) 内置对动态事件处理能力的支持。虚拟GIS 数据库管理系统基本工作如图7 所示。当前我们实现的虚拟GIS 数据库管理系统还比较简单, 主要是根据对象模式管理数据和利用对象模式扩展支持用户扩展新对象类型以及支持数据库事件处理, 在数据库本身所要求的功能上只能支持简单的线性事务处理, 当前数据库还不具有空间查询功能。
4.3 主动式虚拟GIS 数据库的事件管理
在非主动式空间数据库中, 地理对象状态的改变是由用户的修改或是应用程序的操作而改变, 空间对象不能根据自身状态的变化而执行一定的操作, 来检查自身数据或逻辑上的完整性, 自动地修改自身的状态或修改与它相关联的其他地理对象的状态。我们可以把能根据自身状态的变化, 自动执行一定的方法, 来检查自身数据或逻辑完整性的地理对象, 称为主动地理对象。而主动式数据库为这种主动地理对象提供了很好的实现机制。当主动对象处于一个状态, 现在要改变它的状态时, 主动对象会自动触发事先定义的事件, 而数据库的事件处理器在处理该事件时, 会首先检查定义在该事件上的条件函数, 如果条件满足, 则会进一步执行定义在该事件上的操作。当前我们定义的数据库事件的基本结构如下:
class DatabaseEven t
{
TimeStamp timeTrigger; //事件发生时间戳
ObjectIDtrigger Object; //触发事件的地理对象
ObjectIDtarget Object; //该事件发往的目标地理对象
FUNCTION STR conditionFunc; //定义在事件上的条件函数
FUNCTION STR actionFunc; //定义在事件上的执行方法
4.4 虚拟GIS 的应用示例
当前我们正在积极开发虚拟GIS 基础软件和应用范例, 下面给出两个应用示例图。图8 是遥感影像和DEM 数据与地表数据相结合生成的香港维多利亚港湾虚拟图。图9 是一个虚拟小区示意图。在图9 中列表部分为在空间数据库中, 空间数据按不同的数据目录来组织, 在数据目录下, 不同空间对象组成数据层, 图形部分是由这些数据层组合生成的虚拟小区示意图。
图8 香港维多利亚港湾虚拟图
Fig.8 The virtual p icture of theV icto ria Bay of Hong Kong
图9 虚拟小区示意图
Fig.9 The p icture of the virtual small dist rict
5 结 语
地学虚拟环境是一种全新的地学数据分析环境, 它对支撑它的软硬件平台——虚拟GIS 系统有较高的要求, 特别是要求虚拟GIS 系统数据显示模型和分析模型的一致性, 为此我们设计了一个新的GIS 数据模型, 通过引入结构对象解决虚拟GIS 数据的显示模型和分析模型不一致问题。在数据模型实现时, 我们采用了主动式面向对象数据库原型系统, 并且基于该空间数据库原型系统, 在地理对象中引入了事件属性。最后给出系统的两个应用示例图。
虚拟GIS 研究, 目前还处于起步阶段, 有许多的理论和技术问题有待于进一步的研究探讨, 以推动虚拟GIS 的发展。
作者简介:
谢传节(1971.2) , 男, 中国科学院地理科学与资源研究所助研, 博士, 主要从事地理信息系统软件设计研究。
参考文献
[1]W an Chengw ei, Gao W en, W ang Xinren1 Theo ry, Im2p lementat ion and App licat ion of V irtual Reality1Beijing:T singhua U niversity P ress, 19961
[2]M ichael Krogh, A nders Grim srud1 Interfacing commer2cial app licat ions to virtual reality environ2ments1Comp u ter g rap h ics, 1998, 32 (4) : 10~ 121
[3] John M axfield1 A D ist ributed virtual environment fo rco llabo rat ive engineering1P resence: T eleop erators andV irtual E nv ironm ents, 1998, 7 (3) : 24.~ 2611
[4]Gert vanM aren, R ich Germ s1 Karma V I: A virtual re2ality interface fo r the spat ial database engine, ESR I in2ternat ional user conference, San D iego Convent ion Cen2ter, San D iego, Califo rnia, July, 19991
[5] Johnathan Raper, T imo thy M cCarthy, DAVID U nw in1M ult i Dimensional virtual reality geograph ic info rmat ionsystem s (VRGIS) : Research Guidelines1 P roceedings ofGISRU K 98, U niversity of Edinburgh Schoo l of Geogra2phy, 19981
[6]Hans Jense, Kurt Donkers1 Dynam ic management of ur2ban environments1P resence: T eleop erators and V irtualE nv ironm ents, 1996, 5 (1) : 72~ 861
[7] N elson N eves, Pedro Gonalves et al1 V irtual GISRoom, P roceedings of the 1st conference on spat ialmul2t imedia and virtual reality, L isbon, 1995, 45~ 53.
[8]M ichael P reston, Peter Clayton et al1D ist ributed virtualGIS [EB/OL] http://cs1ru1ac1za/homes/g93p4978/preston.html
第一页 第二页