




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)面向虚拟城市应用的空间数据库系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图表目录 表2 。1o r a c l es p a t i a l 元数据表 表2 2s d og e o m e t r y 类型说明 表2 3s d oe t y p e 和s d oi n t e r p r et a ,r i o n 的具体含义 表2 4s d or a s t e r 类型说明 表2 5s d or a s t e r 类型说明 表2 6 数据库与文件系统比较 表2 2 场景根节点表s c e n et a b 表2 3 视点表e w p o i n tt a b 。 表2 。4 模型变换表r i h n s f o n nt a b 表2 5 形体表s h a p et a b 表2 6 面片索引表i n d e x e d f a c e s e tt a b 表2 7 节点父子关系表p a r e mc h i l d r e nt a b 表2 _ 8 外部资源文件表m e d i at a b 表2 9 纹理表t e x t u r et a b 表2 1 0 材质表m a t e r i a lt a b 表2 1 1 光源表l i 曲tt a b 表2 1 2 插值器表i m e r p o l a t o r i 曲 表2 1 3 虚拟场景在数据库中的表结构 图2 1 系统整体架构 图2 2 个简单的v r m l ) ( 3 d 场景 图2 3 扩展的a p p e a r a n c e 节点类图一 图2 4 用多个小场景构成一个大规模场景 图3 1 场景导入的时序图 图3 - 2 导入s h a p e 节点到数据库的流程图 图3 3a u t o c a d 图形数据内存结构图 图3 _ 4a u t o c a d 的实体对象类图 图3 5 场景数据库的i ,0 性能测试 图3 6 测试用的虚拟场景 图4 1k d 树示意图 图4 2r 树索引示意图 图4 3 四叉树索引及p e a i l o 编码 图4 4 两次检索的示意图 图4 - 5 虚拟场景索引 墙侈加扒丝硝筋撕拍拍勰勰凹凹如 斟如勉弘”强”们钉铊钙 , 图4 6 查询时间测试 图4 7 不允许的节点重用方式 图4 8 允许的节点重用方式 图4 9 冗余的n a n s f o r m 节点 图4 1 0 非冗余的t r a l l s f o r i l l 节点 图4 1 1 客户端缓存 图5 。l 中间件和客户端缓存 图5 2b s 架构图一 朽钾卯镐鹌 摘要 随着图形处理能力,计算机存储能力和网络带宽的不断提高,使得以大规 模存储、计算机网络、多媒体和虚拟现实技术为基础的虚拟城市应用成为可能。 实现虚拟城市应用的其中一个基本问题就是如何有效的存储、读取、检索和更新 大规模的场景数据,以及把虚拟场景和矢量地图、文字属性以及栅格数据进行统 一管理。传统的虚拟场景数据以文件的形式存储,但是随着场景数据量的增大, 基于文件系统的存储方式存在导入速度较慢,更新数据文件效率低下,以及难以 检索局部场景的弱点。本文提出并实现了一个基于数据库系统( d b m s ) 的二、 三维场景数据存储方案,兼容v i 洲l ) ( 3 d 数据模型和矢量数据类型。 目前的商用数据库系统基于关系模型建立,丽对于空间数据,关系模型难 以表达,所以我们在实现时采用对象一关系模式,利用o r a c l e 的面向对象扩展及 其空间数据组件o m c l es p a i i a l 作为系统的基础平台。使用o r a c l es p a t i a l 提供的 s d og e o m e w 数据类型处理二维矢量数据。根据v r m l 3 d 标准,将场景 图节点映射为数据库实体,将节点之间的层次关系映射为一个二元关系在数据库 中进行存储。为了提高系统的可用性,我们开发了一些为数据库采集数据的程序 接口,支持w r l 文件、3 d m a ) ( 和a u t o c a d 向数据库导入数据。经过测试,在 从数据库系统读取大规模场景时,效率比从w ,文件读取提高4 5 倍。 数据库系统的一大优势在于支持索引和查询,对于数字或者字符串类型的 字段采用b + 树;对于空间索引,o r a c l es p a t i a l 为s d og e o m e t r y 数据类型增 加了四叉树和r 树索引。针对虚拟城市场景具有地平面的特点,我们把虚拟场 景的每个s h 印e 节点的包围盒朝x z 方向( 即场景的“地平面”) 投影,投影区 域使用s d og e o m e w 类型进行存储并和s h 印e 节点绑定在一起,以 s d og e o m e w 字段进行空间索引。 关键字:空间数据库、v r m l x 3 d 、o r a c l es p 撕a l 、大规模场景、对象关系模 式、空间索引。 a b s t r a c t n o 、a d a y s t l lm e 仃e m e n d o u sa d v a n c e si nc o m p u t e rg r a p h i c ,p h y s i c a ls t o r a g e c a p a c i t ya n dc o m p u t e fn e t w o r k ,r m a lc i t ya p p l i c a t i o n ,w l i c hb a s e so nt h e s e t e c h n o l o 西e s ,h a sb e c o m ep o s s i b l e t h eb a s i cp r o b l e m si nr e a l i z i n gv n u a lc i t ya r e h o wt os t o r e ,l o a d ,q u e r ya n du p d a t el a r g e s c a l e3 dm o d e l se m c i e n t l ha 1 1 dh o wt o m a n a g e3 dm o d e lw i t l lt 1 1 ev e c t o r f 印h ,t e x ta 心i b u t ea n dr a s t e rd a t a t r a d i t i o n a l ly , t h e3 dm o d e li ss t o r ea sf i l e b u tw i 协n l ed a t as i z eb e c o m eh u g e ,血e r ea r es o m e d r a w b a c kw i t l lt h i ss t o r a g es c h e m e ,s u c ha s1 0 a d i n gs l o w l y ,h a r dt ou p d a t ea n dh a r dt o q u e i y s u b s c e n e t h i st h e s i s p r e s e n t s t h e d e s i g n a n d i m p l e m e n 诅t i o no f a d b m s _ b a s e d2 d 3 dd a t as t o m g es c h e m e ,c o m p a t i b l e 、v i t hv r m l x 3 dd a t am o d e l c u r r e n t lv d b m sb a s e so nr e l a t i o nd a t am o d e l ,w h i c hi sn o tv e r ys u i t a b l ef o r s p a t i a ld a t a i no u ri m p l e m e n t a l i o n ,w eu s et h eo r a c l eo 嘲e c t r e l a t i o ne x t e n s i o na n d i t ss p a t i a ld a t ac o m p o n e n to r a c l es p a t i a la st 1 1 eb a s i cp l a t f o m w eu s em ed a t at y p e s d og e o m e t i 己yt od e a lw i t h2 dv e c t o r 盯a p h a c c o r d i n gt ot h ev r m l x 3 d s p e c i n c a t i o n ,w ed e s i g nas e to ft a b l e s t os t o r em es c e n e g r a p h sn o d e sa n dt h e r e l a t i o nb e t 、v e e nt 1 1 en o d e s w ea l s od e v e l o pas e to ft o o l st oi m p o r td a t af r o mw rl f i l e s ,3 d m a xa 1 1 da u t o c a d i no u rt e s t ,1 0 a d i n gd a t af 如md a t a b a s ei s4 5t i m e sf a s t c r a sl o a d i n gd a t a 舶mw r l 丘l e sw h e n 也cd a t as i z el a r g e rt h e n1 g e g a _ b ”e o n eo f t l l em o s ti m p o r t a l l tf e a t l l r e so f d a t a b a s es y s t e mi si tc a ns u p p o r ti n d e x i n g a n de 仃e c t i v eq u e 珥m o s td a t a b a s e su s i n gb + t r e ef o rn u m b e ra i l dt e x t f o rs p a t i a l i n d e x i n g ,、v eu s eq u a d t r e ea n drt r e e ,w h i c ha r es u p p o r t e db yo r a c l es p a t i a l t b c r e a t es p a t i a li n d e x i l l g ,f i r s t l yi t e r a t et h es c e n e - 酽a p ho f3 dm o d e la 1 1 dc a l c u l a t et h e b o l l i l d i n g _ b o xo fe a c hs h 印e ;t h e nw ep r o j e c tt h eb o u i l d i n gb o xt ot 1 1 ex zp l a n ea n d g e t 也e2 dc o m o l 】ro fe a c hs h a p ea i l ds t o r ea ss d o _ g e o m e w ;廿l el a s ts t 印i s c r e a t es p a t i a li n d e xu s i n gs d 0g e o m e t r yf i e l d k e yw o r d s :s p a t i a ld a t a b a s e ,v r m l x 3 d ,o r a c l es p a t i a i ,l a r g e s c a l e3 dm o d e l o b j e c t r e l a t i o nd a t am o d e l ,s p a t i a li n d e x i n g 8 1 1 虚拟城市简介 第一章绪论 所谓虚拟城市( v i r t u a lc i t y ) ,就是以大规模存储、计算机网络、多媒体和 虚拟现实技术为基础,对城市进行多分辨率、多尺度、多时空的三维描述,用于 模拟和表达城市地形地貌、城市道路、建筑、交通、水域等城市环境中的现象和 过程。虚拟城市系统是一种地学虚拟环境,是虚拟现实技术在地理科学中的应用。 它具有使城市地理、资源、环境、人口、经济、社会等信息数字化、可视化,以 及虚拟仿真、网络共享等功能,可以在城市规划、社区管理、城市信息查询、虚 拟旅游等方面发挥巨大的作用。 虚拟城市和地理信息系统( g i s ,g e o g r a p h i c a li n f o n n a t i o ns y s t e m ) 既有联 系又有区别。g i s 处理经过地理编码的地理位置和该位置有关的地物属性信息, 在g i s 中,现实世界被表达成系列的地理要素和地理现象,这些地理特征至少 由空间位置参考信息和非位置信息两部分组成。而虚拟城市除了地理信息以外, 还包含人口、经济、交通等其他信息,并且虚拟现实技术作为它的一个重要组成 部分,能为用户提供直观的人机交互方式;g i s 系统涵盖的空间范围是没有限制 的,可以是一个城市、也可以是一个国家、甚至是全球范围的地理信息,而虚拟 城市系统处理的范围主要是一个城市。但是另一方面,虚拟城市和g i s 系统都需 要空间数据库技术作为支撑,在如何存储管理空间数据,提高空间数据的检索效 率方面,它们之间是共通的。 1 2 论文的组织结构 本文第一章为绪论,主要介绍虚拟城市概念、涉及的相关技术以及目前流 行的空间数据服务和产品。第二章首先介绍作为系统基础平台的空间数据库组 件,然后详细说明空间数据库的表结构设计,重点讲述如何在数据库中存储和管 理大规模的三维虚拟场景。第三章说明如何把现有的将已有的空间数据导入数据 库中,以及从数据库中读取虚拟场景的效率测试。第四章介绍空间索引,以 及如何高效的检索相应的虚拟场景。第五章是总结和未来工作展望,描述系统下 一步的设计目标和技术难点。附录中介绍系统的一些技术细节,说明如何在应用 程序里使用o r a c l e 数据库的面向对象特性。 1 3 虚拟城市相关技术 1 3 1 空间数据库技术 作为计算机软件的一个重要分支,数据库技术一直是备受业界关注的焦点。 七十年代以前,数据库系统并没有一个完整和坚固的数学理论基础,数据库产品 直接按实际应用的要求来设计。这段时期的数据库产品以层次型数据库系统为 主。业界把这段时期的产品称为“前关系型数据库系统( p r e _ r e l a t i o n a ld a t a b a s e ) ” 时期。 1 9 7 0 年,i b m 公司的研究员c o d d 发表了题为大型数据库的数据关系模 型的著名文章,从此,数据库系统的发展进入了“关系型数据库系统 ( r e l a t i 彻a ld a t a b a s e ) ”时期。关系型数据库系统以关系代数为坚实的理论基础, 经过几十年的发展和实际应用,技术越来越成和完善。其代表产品有o r a c l e 、 i b m 公司的d b 2 、微软公司的m ss o ls e r v e r 以及i n f o 皿i x 、a d a b a s d 等等。 关系数据库是建立在集合代数基础上,应用数学方法来处理数据库中的数 据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系 模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系模型中 的数据结构非常单一。实体及实体间的联系都用关系表示,关系就是一张二维表。 关系模型中常用的关系操作包括:选择,投影,连接,并,交,差,除,增加, 删除,修改等。关系模型的完整性规则是对关系的某种约束条件。关系模型中可 以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体 完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为是关系的两 个不变性,应该由关系系统自动支持。 基于关系模型的数据库系统是目前商用数据库的主流。但是完全基于关系 模型的数据库系统,对于空间数据的存储,存在以下问题: 1 ) 传统的数据库管理的是不连续的、相关性较少的数字或者字符,而空间数据 是连续的。并且有很强的空间相关性。 2 ) 传统的数据库管理的实体类型较少,并且实体类型间只有简单的、固定的关 系,而空间数据库的实体类型多,实体间存在复杂的空间关系。 3 ) 传统的数据库中存储的数据通常为等长记录的数据,而空间数据的目标坐标 长度不定,存在大量变长记录。并且数据项可能很多,很复杂。 4 ) 传统的数据库只操作和查询数据和文字信息,而空间数据库需要大量的空间 数据操作和查询。 导致这些问题的根本原因是空间数据具有特殊性,它不仅具有普通对象的 属性特征,而且具有与位置相关的空间特征,难以在关系模型中直接表达,因此 寻找一种良好的空间数据存储模式,是构造空间数据库的关,空间数据库至少 应该满足如下功能: 1 ) 能够表达空间特征。空间特征是空间数据库的最主要特征,它不但描述物体 的位置、形态等物体自身的信息,还要描述物体之间的空间拓扑关系,例如 区域的险接关系。这种拓扑结构方便了空间数据的查询和空间分析,但是同 时给空间数据的一致性和完整性给空间数据的完整性和维护增加了复杂程 度。 2 ) 空间数据具有多层次性,不同的用户关心的内容有差别,同一自然地物可能 会有不同的含义。所以要将数据分成不同的层次,而不同层次的数据都可以 通过位置进行检索。 3 ) 满足多尺度。不同的观察尺度使同一地物的形态在不同情况下会有所差别。 在显示空间数据时,需要根据当前的观察尺度返回不同细节层次的形体。 4 ) 能够描述非结构化特征。在当前通用的关系数据库管理系统中,数据记录一 般满足关系模型的第一范式,也就是数据项必须是单一的不可再细分的单元, 不允许嵌套记录,记录都是定长的。而空间数据一般不满足这种要求。如果 将空间对象表达为一条记录,则数据项可能是变长的。例如一个多边形,它 可能含有多条边,如果用一条记录表示一条边,那么一个多边形可能嵌套多 条边的记录,所以不满足第一范式,这也是空间图形数据难以使用关系模型 表达的主要原因。 5 ) 具备有效的空间数据的索引方式。一般来说,空间数据的索引一般采用四叉 树,八叉树,r 树等数据结构,而一般的关系数据库使用b 树或其变种来建 立数据索引,不适于空间数据的查询。所以建立高效的索引结构,是空间数 据库可用性的关键。 目前对空间数据的存储方式,大致可以分为以下几种: 1 ) 文件系统与关系数据库混合方式 由于空间数据具有和一般数据不同的特征,纯粹的关系模型在表达这些特 征时不太自然,所以采用文件来存储几何图形数据,而采用关系数据库存储属性 数据,它们之间通过内部连接码的方式进行连接,常用的办法是在存储属性数据 的表里增加一个字段来描述相应图形文件的u 。 但是由于文件系统的相对于数据库系统在数据安全性、一致性、完整性、 数据损坏后的恢复方面缺少基本功能,尤其在多用户并发访问方面要逊色很多。 所以这种方式对空间数据的管理存在缺陷。但它的优点是绕开了将空间数据映射 到关系模型这个问题,并且可以根据具体的应用需求制定适当的文件格式,以达 到较高的效率。 2 ) 完全关系型方式 这种方式将几何图形数据和属性数据都用现有的关系数据库进行管理。用 关系模型存储几何数据一般有两种模式,第一种是将基本的几何数据定义为实体 ( 例如点的坐标,直线段,三等面片) ,而将复杂的的几何数据映射为和基本几 何数据的一对多关系。这种模式的缺点是查询效率不高,会产生多次的表连接操 作。第二种模式是采用数据库提供的二进制大对象( b l o b ) 来存储复杂的几何 形体,例如将一个多边形的所有的顶点坐标编码成二进制数据,存储在表的一列 中。但是因为数据库在处理二进制大对象时,需要一些额外的开销,所以对于二 进制块的容量大小要仔细考虑,以保证较高的吞吐率。 3 ) 对象一关系数据库方式 目前许多数据库系统软件商对关系数据库系统进行扩展,使之能处理非结 构化的数据。用户可以自定义数据类型( u s e r d e f i n et y p e ) ,就像在面向对象程 序设计中定义类( c l a s s ) 一样,而且可以定义成员函数,并且支持数据类型的 继承关系。这种存储方式突破了关系模型的第一范式的要求,提供了更加灵活的 数据类型,并且支持类似数组的集合数据类型,为存放复杂的空间结构提供了一 些便利。这种方式的不足之处是不同厂商之间的扩展很不一样,导致查询的s q l 语言各不相同,需要使用较为专用的数据库访问接口才能在应用程序中使用面向 对象的特性。 4 ) 完全面向对象方式 这种方式是基于一个完全面向对象的数据库系统作为平台。目前在市场上 已经有不少完全面向对象数据库产品如v h s a n t ,o b j e c t i v “y ,o b j e c t s t o r e , g e m s t o n e 等等,并且它们为面向对象的开发环境提供了相应的数据存储。但是 由于面向对象数据库系统还不够成熟。在标准的s 0 l 接口下,访问关系型数据 库的面向对象程序很容易写,相反面向对象数据库在支持标准的s q l 还存在不 少问题,反而为关系数据库中易于处理的属性数据的存储和查询带来不便。 5 ) 利用空间数据引擎的中间件方式 这种方式以关系数据库系统作为数据的存放点,但是终端用户并不直接和 关系数据库进行交互,而是和一个空间数据引擎中间件交互。空间数据引擎类似 一个应用服务器( a p p l i c a t i o ns e r v e r ) ,它负责与数据库进行交互并为客户端提供 一些访问接口。在这种方式下,将数据的物理存储和数据的应用区分开来,可以 比较灵活地处理空间数据的特殊操作。例如e r s i 公司的m c s d e 就是采用了这 种方式。 1 3 2v i m l ( 虚拟现实建模语言) 和x 3 d ( 可扩展3 d ) 虚拟城市的另一个重要技术是虚拟现实( n u a lr e a l i t y ) 。虚拟现实建模语 言( v i r t u a lr e a l 时m o d e l i n gl a l l g u a g e ) v 州l 从2 0 世纪9 0 年代初被提出。1 9 9 4 年3 月在日内瓦召开的第一届w w w 大会上,制订了v i 洲l 的第一个版本 v 蹦l 9 4 。1 9 9 8 年,州l 的第二版v 蹦l9 7 成为了网络三维图形的i s o 标准 ( i s o i e c l 4 7 2 2 ) 。随后,w e b 3 d 联盟在s i g g r a p h 2 0 0 3 展示了当时正在开发 的新的网络三维标准x 3 d ( e x t e n s i b l e3 d 可扩展3 d ) 。x 3 d 可以看成是v 刚l 9 7 的一个升级版本,并于2 0 0 4 年正式通过i s o 审议成为新的网络三维的国际标准, 以更新原有的v r m l 9 7 标准。 作为一种虚拟现实语言和软件标准,x 3 d 定义了如何在多媒体中整合基于 网络传播的交互三维内容。它可以在不同的硬件设备中使用,并可用于不同的应 用领域中,比如工程设计、科学可视化、多媒体再现、娱乐、教育、网页、共享 虚拟世界等方面。x 3 d 致力于建立一个三维图形与交互多媒体的统一交换格式, 但并不仅仅是一种用来交换几何数据的文件格式,或者一种程序a p i 。x 3 d 能 把几何数据和运行时行为的描述结合到单一的文件中,并且这个文件可以使用包 括x m l 语言( e x t e n s i b l em a r k u pl a n g u a g e ) 在内的不同的文件格式。x 3 d 对 v 蹦l 9 7i s o 规格进行的新的修订,修订工作结合了最新商业图形硬件特性的 提升,并基于多年来v 刚l 9 7 开发团体反馈而进行的结构化改进。 x 3 d 的主要特性有: 扩展场景图的能力 修订和统一应用程序模型 用包括) ( 1 订l 在内的多个文件编码描述相同的抽象模型 模块化的结构允许用不同范围级别来支持不同的市场类型 可扩展的规格结构 x 3 d 场景图是x 3 d 应用的核心,它基本继承了v r m l 9 7 的场景图结构。 v r m l 9 7 的场景图和节点类型的原始设计基于已经建立的交互图形技术。这个 设计已经在v r m l 9 7 上使用和测试了很长时间。而x 3 d 对场景图的改变,主 要是引入新的节点和数据类型,另外对某些细节作了改动,例如事件模型和光照 模型更加精确,提供存取c 0 1 0 r 域的a l p h a 值的能力等。 x 3 d 有一个统一的应用程序界面( 印p l i c a t i o np r o g m m m e ri n t e r f a c e a p i ) 。 这和洲l 9 7 是不一样的,v 蹦l 9 7 使用内部脚本a p i 加上外部a p i 。x 3 d 的统一的a p i 解释并解决了v i m 见9 7 中存在的问题,因此将可以建立更强健 更可靠的执行方式。为此定义了e c m a s 耐p t 和j a v a 绑定,其中e c m a s c r i p t 是建立应用程序所必需的。 x 3 d 支持多种文件编码,即v r m l 9 7 ( c l a s s i cv r m le n c o d m g )、新增 的x m l 语言( e 疵e n s i b l em a r k u pl 肌g u a g e ) 和压缩的二进制格式( b 血a r y e n c o d i n g ) 。x m l 编码允许平滑地用于网络服务整合、跨平台应用文件和数据的 传递。压缩的二进制编码能支持更大的数据吞吐量。每一种编码都有对应不同的 优势。所有的数据编码都支持完整的x 3 d 特性集。 x 3 d 使用模块化的结构来提供扩展性和弹性。多数应用程序领域不需要全 部的x 3 d 的特性,也不是所有的平台都支持规格中定义的所有功能范围。x 3 d 的特性被分组到组件( c o m p o n e m ) 中,组件执行可以用混合并匹配的方式支持。 3 d 也引入了概貌( p r o f i l e ) 的概念,概貌是针对某种通用的应用程序领域、平 台、使用情况来预定义一个组件的集合,例如在创作工具间的几何体交换针对性 的设置了一个概貌。x 3 d 允根据不同需要而进行不同程度的支持。x 3 d 组件机 制也允许厂商根据一个严格的规则集来执行其自定的扩展,这将帮助避免厂商扩 展的“混乱”。 x 3 d 规格也已经被重新构建了,使得它允许更具弹性的生命周期,适应标 准的更新。x 3 d 标准被分割为三个独立的规格,即抽象概念和结构、文件格式 编码、编程语言存取。这种途径允许规格在不同时间线上改动,并能推动i s o 按 所需原则采纳规格的特定部分。 1 3 3 l m l x 3 d 场景和数据库交互 删l s q l 数据库工作组实验了v 蹦l 与s q l 数据库相结合。通过嵌入 v r m i ,脚本节点和外部脚本在场景中发送和接受s o l 命令,另外通过预定义的 原形节点来整合服务器端发出的场景驱动数据。整个过程完全在现有的v r m l 9 7 框架下实现的。验证了v r m l 9 7 通过j a v a 或脚本连接其它网络应用的能力。通 过类似的方法,还可以把v 刚l 9 7 和c o o k i e s ,a s p ,p h p 这样的典型网络应用 结合起来。这个工作的重点在于在v l w l 9 7 的框架下,通过扩展一个称为 e m b e d d e ds q l 的s c r i p t i n g n o d c 与数据库进行交互,下面是一个简单的例子: d e f b e g i k f e t c hs c r i p t e v e n t i ns f b 0 0 1e x e c u t e e v e n t o u ts f i n t 3 2r e s u l t e v e n t o u tm f s t r i n ge n a m e s c v e r l t o u tm f s t r i n ge m p n o s f l e l ds f s 扛i n gs q l ”f o r1 0s e l e c te n a 皿,e n 四口町0 i n l d :e n 锄e s ,:e m p n o sf r o me a 佃” u r l ”e x e c s a l c l a s s ” j 这个节点定义了在某事件被触发后,从e m p 表里选出e n a m e 和e m p n o 并存 放在e n a m e s 和e m p n o s 两个变量里。 1 4 流行的空间数据服务及产品 1 4 1g o o g l ee a r t h g o o g l ee a n l 整合g o 0 9 1 e 的本地搜索和驾车指南两项服务,能够鸟瞰世界, 采用3 d 地图定位技术把g o o g l em a p 上的最新卫星图片推向一个新水平。用户 可以在3 d 地图上搜索特定区域,放大缩小虚拟图片,然后形成行车指南。g o 0 9 1 e e a r m 主要通过访问k e y h o i e 的航天和卫星图片扩展数据库来实现这些上述功能。 该数据库含有美国宇航局提供的大量地形数据,未来还将覆盖更多的地形,涉及 田园,荒地等。其特点主要有: 1 结合卫星图片、地图和搜索技术;覆盖全球地理信息。 2 从太空漫游到近距离观察的多尺度浏览方式; 3 ,目的地输入,直接放大: 4 根据语义信息进行搜索和定位,例如搜索学校、公园、餐馆、酒店等; 5 获取驾车指南; 6 提供3 d 地形和建筑物,其浏览视角支持倾斜或旋转: 7 保存和共享搜索和收藏夹; 8 添加自定义的注释。 1 4 2m s nv i r t u a le a r t h m s nv i r t u a le 砌h ( 微软地图服务) 和g o o g l ee a r t l l 类似,提供地图搜索的 在线服务,用户可以利用网络搜索可视化的、完整的当地信息。m s nv i n u a le a n h 基于w 曲浏览器的设计,用户可以在无需下载任何程序的情况下使用m s n r t u a le a r t h 的各项特性。与g o o g l ee a n l l 相比,m s n r t l l a le a r n l 在改变观察 尺度时的响应速度较慢,而且目前未实现将地图和卫星图片结合在一起显示的功 能。 1 4 3g e o d a t a b a s e 和a r c s d e g e o d a t a b a s e 是e s r j 公司在a r c 0 i s 8 开始引入的一个空间数据模型,它建 立在关系型数据库基础上并通过空间数据引擎a r c s d e 进行管理。g e o d a t a b a s e 中的信息类型包括以下1 0 种: 1 ) 表( t a b l e s ) e 2 ) 对象类( 0 b i e c tc l a s s ) ,表示一个和空间几何无关的实体。例如土地所有者。 3 ) 要素类( f e a t u r ec 1 a s s ) ,表示含有空间几何信息的实体。例如地块、湖泊、 建筑物等。 4 ) 子类( s u b t y p e ) ,表示在要素类内部可以划分若干个次一级的组,每个组是 一个子类。例如地块可以分成农用地、工业用地、建设用地等子类。 5 ) 要素数据集( f e a t l l r ed a t a s e t ) ,是一个具有相同空间参照的要素类的集合。 6 ) 关系( r e l a t i o n s h i p s ) ,表示对象类或要素类之间的关系,使用关系可以将两 个表进行连接,使得操作一个表中的数据可以改变另一个表中的数据。 7 ) 拓扑关系( t 0 p o l o g y ) 。 8 ) 几何网络( g e o m e t r i cn e t w o r k ) 。表达管道和阀门、交通路线等与连通性有 关的信息。 9 1 栅格数据集( r a s t e rd a t a s e t ) ,表达影像、高度场等。 1 0 ) 元数据( m c t a d a t a ) 。对数据库中的各个数据元素进行描述。 用户通过数据存取的中间件a r c s d e 操作g e o d a t a b a s e 。所谓中间件是一个软 件,它能屏蔽其下的通讯协议、系统结构、操作系统、数据库和其他应用服务。 中间件负责管理计算资源和网络通讯,并营造出一个相对稳定的高层应用环境, 使开发人员可以集中精力于系统的上层开发,而不用过多考虑系统分布式环境下 的移植性和通讯能力。因此,中间件能无缝地连入应用开发环境中,应用程序可 以很容易地定位和共享中间件提供的应用逻辑和数据,易于系统集成。a r c s d e 在现有的关系或对象关系型数据库管理系统的基础上进行空间扩展,可以将空间 数据和非空间数据集成在目前绝大多数的商用数据库系统中。其访问模式如下: s d e 服务器内存放有空间对象模型,用户的应用程序通过s d e 应用编程接口 ( s d ea p i ) 向s d e 服务器提出空间数据请求,s d e 服务器在本地完成空间数据 的搜索,并将搜索结果通过网络向用户的应用程序返回。s d e 和o m c l es p a t i a l 的定 位不同,后者是在d b m s 模型的基础上实现了空间数据模型的扩展,提供了对于 空间点、线、面等空间要素的存储与检索。而前者则是定位于空间数据的管理和 应用,除了提供以上对于空间基本要素的基本管理功能外,还提供面向空间对象 的注记、平面拓扑、线性拓扑、栅格数据、三维表面、几何网络、c a d 数据等数 据类型的管理;以及面向数据时态的版本管理、工作流和长事务处理机制;同时 通过异步缓冲、空间索引解决对于空间数据的多用户高效并发访问的问题。在空 间数据的各份方面,提供指定空间数据对象的备份恢复和整体空间数据库的备份 恢复。 2 1 系统整体架构 第二章场景数据库设计 我们希望建立一个面向虚拟城市应用的大规模场景存储和管理系统,实现 场景数据的导入,存储,编辑,与地形的和矢量地图关联和浏览漫游,以支持虚 拟数字城市的应用。整个系统的框架如图2 1 所示。 图2 1 系统整体架构 目前系统基于0 r a c l e 数据库实现,主要负责处理四种数据:不含空间位置 信息的属性数据,矢量数据,栅格数据和三维虚拟场景数据。属性数据适合使用 关系模型存储。关于矢量数据和栅格数据目前已经有比较成熟的解决方案( 见下 文关于o m c l es p a t i a l 和o r a c l es p a t i a lg e o r a s t e r 的相关介绍) ,所以本章主要描 述如何存储和处理三维虚拟场景,在3 3 3 节补充说明如何获取现有的矢量数据。 2 2 处理空间数据的组件 随着g i s 系统的发展,目前已经有一些比较成熟的解决方案用于空间数据 库的建立,例如0 r a c l e 的s p a t i a l 组件和g e o r a s t e r 组件,分别可以存储矢量地 图和光栅数据:下面分别对它们作简要介绍。 2 2 1o r a c l es p a t i a l 0 r a c l es p a t i a l 是o r a c l e 的一个扩展产品,它采取的存储方式是对象一关系模 式,在原有的关系数据库的基础上增加了空间数据对象,并且增加了专门的空间 数据管理功能。o m c l es p a t i a l 主要通过元数据表、空间数据字段和空间索引来管 理空间数据,并在此基础上提供一系列空间查询和空间分析的函数,让用户进行 更深层次的空间数据应用开发。0 r a c l es p a t i a i 使用空间字段s d o g e o m e t r y 存储空间数据,用元数据表来管理具有s d 0g e o m e t r y 字段的空间数据表, 并采用r 树索引和四叉树索引技术来提高空间查询和空间分析的速度。 元数据表: o r a c l es p a t i a l 的元数据表说明了数据表名称、空间字段名称、空间数据的 坐标范围、坐标系等信息。可以通过元数据视图( u s e r _ s d o 弛0 m e t a d a r a ) 访问元数据表。如表2 - 1 所示 字段名类型说明 1 1 a b l en a m e v a r c h 盯2 ( 3 2 ) 表名 c o l u m n j j a m e、协c h a r 2 ( 10 2 4 ) 字段名 d i m i n f 0 m d s y s s d o _ d i ma 玎a y空间信息的坐标范围,用于确定所操作空 间信息的最小盖矩形( m b r ) s r i dn u m b e r 空间参考坐标系 表2 1o r a c l es p a t 元数据表 0 r a c l es p a t i a l 的数据模型: 0 r a c l es p a t i a l 数据模型由元素、几何图形和层组成;元素组成几何图形, 几何图形组成层,总体呈现一个阶梯状结构。o r a c l es p a t i a l 的空间数据都存储在 空间字段s d 0 一g e o m e t r y 中,s d o - g e o m e 衄是按照0 p e n g i s 规范定义的一个对象, 其原始的创建方式如下: c r e a t e1 y p es d o g e o m e t r ya s0 b j e c t ( s d o g t y p en u m b e r s d 0 s r dn u m b e r s d o p o i n ts d o p o i n t t y p e s d o e l e m i n f om d s y s s d o e l e m n 盯o a r ra y s d o o r d i n t e m d s y s s d o o r d i n a t e a r ra y ) 1 8 s d o g e o m e t r y 是一个o r a c l e 采用面向对象的方式定义的一个类型,它的各个字 段说明表2 2 所示: 字段名类型说明 s d o g t y p e n u m b e r 几何对象类型的标识号 s d os r i dn u m b e r几何对象坐标系的标识号 s d op o i n t s o d j o t _ - t y p e 表示几何类型为点的对象, s d o - p o i n t 包含三维坐标x ,y ,z 数值信息。 s d 0 l e m i n 下os d o p l e m i n f o a r r a y一个长度可变的数组,每3 个 数作为一个元素单位,用于解 释坐标是如何存储在 s d o0 r d d j a t e 数组中。 s d 0 - o i 国i n t e s d 0 一o r d i n t e _ a r r a y一个可变长度的数组,用于存 储几何对象的真实坐标,该数 组的类型为n u e r 。 s d oo r d i n a t e s 的坐标存 储方式由几何对象的维数决 定,如果几何对象为二维,则 s d o0 r d n q a t e s 的坐标以 x 1 ,y l ,x 2 ,y 2 ,刈颐序排列, 如果几何对象为三维,则 s d oo 砌) i n a 丁e s 的坐标以 x 1 ,y 1 ,z 1 ,x 2 ,y 2 ,z 2 ,) 的 j 顷序j j 列。 表2 - 2s d o g e o m e 廿y 类型说明 在s d 9 _ e l e m - i n f o 中,每3 个数作为一个元素单位,这三个数包含了以下信息: 1 ) s d 吨s t a r t i n g _ o f f s e t : s d 0 一s j i a r t i n g - - o f f s e t 表明每个几何元素的第一个坐标在 s d o0 r d i n a t e s 数组中的存储位置( i n d e x ) 。从l 开始计数。 2 ) s d o _ e t ) e : s d 0 - e t y p e 用于表示几何对象中每个组成元素的几何类型。当它的值为 1 ,2 ,1 0 0 3 和2 0 0 3 时,表明这个几何元素为简单元素。例如s d o e t y p e 为1 0 0 3 , 表明该多边形为外环坐标值以逆时针存储;如果s d o - e r 忡e 为2 0 0 3 ,表明该 多边形为内环,坐标值以顺时针存储。当s d o _ e t ) e 为4 ,1 0 0 5 和2 0 0 5 时,表 明这个几何元素为复杂元素。它至少包含一个3 元组用以说明该复杂元素由多少 个简单元素组成。 3 ) s d o - i n t e r p r e t a t i o n 当s d o _ e t y p e 为简单元素( 1 , 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑重症肌无力患者的护理
- 《舟夜书所见》课件
- 高危儿的护理个案
- 公司生产部门安全培训课件
- 乳酸钠林格课件
- 脑卒中患者溶栓的护理
- 公司法徐晓松课件
- 物业行政部年终个人工作总结
- 《男儿当自强》课件
- 《珍珠泉》课件教学课件
- 沪教版四年级上册数学应用题专项水平练习题
- 汉谟拉比法典中文版
- 卡乐控制器PCO控制器说明
- GB/T 44620-2024苹果及苹果制品中根皮苷的检测方法高效液相色谱法
- 湘教版七年级数学上册 1.7 有理数的混合运算(第一章 有理数 学习、上课课件)
- 2024年海南省中考物理试题卷(含答案)
- 人教部编版道德与法治五年级上册全册教案
- 发挥智库作用
- 苏教版小学数学四年级上册同步教学反思汇编(全册)
- 《小王子》读书分享成品课件
- 中国消化内镜诊疗镇静麻醉的专家共识
评论
0/150
提交评论