Web环境下虚拟地理场景的实现_第1页
Web环境下虚拟地理场景的实现_第2页
Web环境下虚拟地理场景的实现_第3页
Web环境下虚拟地理场景的实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Web环境下虚拟地理场景的实现李荣梅 盛业华 王平 闾国年(南京师范大学虚拟地理环境教育部重点实验室,江苏 南京210046)摘 要:本文在对虚拟地理场景在网络环境下实现的三种技术路线进行比较之后,采用Java3D模式的技术路线进行了开发实践,设计实现了网络环境下虚拟地理场景漫游系统原型,并讨论了实现中的部分关键技术。重点介绍了整个系统的体系结构和三维地形实时渲染的实现。关键词:网络虚拟地理环境;Java3D;实时渲染中图分类号:P208,P391 文献标识码:AWeb Implementation of Virtual Geographic EnvironmentLi RongMei She

2、ng YeHua Wang Ping Lu Guonian(Key Laboratory of Virtual Geographic Environment(Nanjing Normal University), Ministry of Education, Nanjing,Jiangsu Province 210046, P.R.China )Abstract: After compare of three ways in the implementation of Web Based Vierual Geographic Environment, we developed a model

3、system using Java3D. This paper presents some of the key techniques in the implementation of this model, emphasizes the system architecture and how we do the real-time rendering work for visualizing the three dimension terrain.Key Words: Web Based Virtual Geographic Environment; Java3D; Real-time Re

4、ndering1 引言随着地理信息科学、虚拟现实技术、网络技术、计算机图形学等学科技术的迅猛发展,网络虚拟地理环境技术成为地理信息科学的一个新的研究热点。虚拟地理场景是区域自然环境和社会经济环境的虚拟模型,它在强调地理信息使用者身临其境之感受的同时,还追求超越现实的理解1。目前,在很多行业和部门如城市规划,环境监测,电信业,房地产市场,气候模拟和军事训练等,都出现了对网络虚拟地理场景的迫切需求。因此,对虚拟地理场景的网络实现问题进行相关研究具有重大的现实意义。虚拟地理场景是地理信息系统与虚拟现实技术的交叉,而网络虚拟地理场景则将网络和虚拟地理场景这两个前沿技术相结合,为数字地球的发展提供更大更

5、广阔的发展空间。笔者在对实现网络虚拟地理场景三种主要技术路线进行比较的基础上,选择Java3D模式进行了系统原型的设计与开发。本文将对该原型系统的实现技术进行相关介绍,并着重说明系统的体系结构设计和真实地形的实时表达技术。2 实现的技术路线比较目前网络虚拟地理场景的实现技术路线主要有这样三种,分别是VRML模式、DOT NET+OpenGL模式和Java3D模式。VRML是Virtual Reality Modeling Language的简称译成虚拟现实建模语言。它通过传送wrl的三维数据文件,通过网络插件来完成wrl文件的播放2。DOT NET是一项微软提出的革命性的技术框架。其核心技术包

6、括分布式计算、XML、组件技术、即时编译技术等3。OpenGL是输出到图形硬件的一个软件编程接口界面4。它们二者的结合可以构成一个比较优秀的虚拟地理环境开发平台。Java 3D是Java语言在三维图形领域的扩展,是一组应用程序编程接口(API),它可以大大提高Java三维的开发速度。但JAVA 3D的低级API仍是依赖于现有的三维图形系统,如Direct 3D、OpenGL、QuickDraw 3D和XGL等。JAVA 3D从高层次为开发者提供对三维实体的创建、操纵和着色,使开发工作变得极为简单。JAVA 3D的这种体系结构既可以使其开发的程序“一次编译,到处运行”,又使其能充分利用系统的三维

7、特性。因此它在网络世界,特别是在网络虚拟地理场景的实现中必定会得到广泛的应用。表1中对三种技术路线的功能性进行了多方面的比较。其中VRML具有较多的限制,尤其是在交互性和数据管理方面,制约了虚拟地理场景功能的实现。因此将重点转移到对后两种路线的比较上(如表2)。考虑到网络环境的复杂性和系统的开放性,认为用Java3D来进行网络虚拟地理场景的设计与实现是比较好的选择。表1. 功能比较5 功能性Java3D.NET + OpenGLVRML和用户交互性好好中和服务器交互性好好差数据保密性好好差可扩展性好较好差地理分析功能实现好好中地理数据管理功能好好差虚拟地理场景显示好好好(注:等级按“好”“较好

8、”“中”“差”递减,下同)表2. Java和.NET比较5性能Java.NET易用性中较好扩展能力较好中多平台支持好差多语言支持差好可靠性较好较好可管理型较好较好重用性好中负载平衡较好较好开放标准好差3 WEB环境下虚拟地理场景实现3.1 系统体系结构设计虚拟地理场景系统的总体结构如图1所示。系统构建于三层网络体系之上。第一层为应用层,运行于客户端,负责从服务层获取数据并将它显示到客户端的画布上,该层向用户提供了浏览和交互界面。考虑到B/S结构的方便易用性特点和C/S结构不受浏览器约束的优点,为适应不同用户的需求,系统在应用层提供了两种应用方式:一是嵌入浏览器的Applet方式,实现基于客户端

9、浏览器的应用;另一种是基于JNLP技术的Java Web Start应用程序,实现客户端使用的桌面程序。第二层为服务层,包括Web应用服务器和地理场景数据引擎两个部分。这一层负责从数据层获取数据,并在网络上发布公用入口,接受解析应用层的请求,向应用层发送其请求的结果数据。第三层是数据层,包括两个数据库,Web服务数据库和虚拟地理场景数据库。分别存贮Web应用网站的相关的数据和虚拟地理场景所需的数据如地形、纹理、建筑物模型等。为了保证地理数据传输的可靠性和安全性,在设计虚拟地理场景数据引擎和客户端的通信时,使用了socket机制。通过在应用层进程和虚拟地理场景引擎进程之间建立socket连接来传

10、输数据(如图1中虚线箭头)。Web应用服务器所提供的服务是针对客户端浏览器的,Java Web Start应用程序只和服务层的虚拟地理场景引擎之间发生交互。图1 虚拟地理场景系统的总体结构图系统基于Java语言构建,所以遵循Java的安全机制。Applet和JNLP在客户端默认情况下不能操作本地即客户端的文件和改动本地的配置,有力的保证了客户数据的安全性。系统还使用了数字签名技术来实现用户对程序的安全认证。只有当用户通过签名认证的情况下才可以顺利执行操作。3.2 数据组织体系现实世界的地形和纹理数据通常是海量的,当前的网络环境还不具备传输海量数据的能力。同时地形表达又要求是实时的,因此有必要对

11、区域进行划分,然后根据视点和视角的计算,动态的获得当前可见子区域,并下载可见区的地形和纹理数据,这样既减少了每帧所需要下载的数据量,同时也减少了客户机多要计算的数据量,一举两得。地块的划分应以减少网络传输负担为原则,不宜划分的过大,加大单次传输的数据量,也不宜划分的过小,增加传输次数。即使是单块的数据,其地形和纹理的数据量在网络传输时也会遇到困难,因此,还必须对分块数据进行压缩处理。已经有很多研究人员对三维数据的压缩方法进行了研究,并提出了一些可行的方案7。本文考虑到解压缩的实时性要求,采用了JPEG2000的压缩3方式对地形和纹理数据进行了压缩处理。JPEG是一种静态图像的国际标准压缩编码方

12、式,以其通用性高、压缩率高和恢复图像质量好得到了广泛的应用。JPEG2000的编码方式的优越性更体现以下几个方面4,(1)改进的压缩性能;(2)有损压缩和无损压缩的能力;(3)多分辨率支持和渐进传输;(4)可嵌入的码流。由于需要保证地形的精度,可以对地形数据进行无损压缩;而对纹理数据进行有损压缩,只需保证其视觉精度即可。除了对数据进行分块和压缩处理外,本文还对其进行了多分辨率处理。即每块区域都具有不同分辨率下的多套数据,客户端根据当前视点的位置来判断不同区域所需数据的分辨率等级,然后向虚拟地理环境引擎发送数据请求,以减少网络数据传输和客户端运算量的压力。所有数据均通过虚拟地理环境引擎异步下载,

13、并缓存于客户端。3.3 地形的实时表达构建一个优秀的虚拟场景,尤其是大规模地形的表达,离不开实时渲染技术,而且在保证实时性的同时还要创造出逼真、有说服力的虚拟地理场景,另外还有数据量和计算量的控制。系统实现时使用了基于LOD(Level of Detail层次细节)的三维渲染技术来实现地形的实时表达,也叫多分辨率地形(Multi-resolution Terrain)渲染。它根据一定的规则来简化物体的细节。在实现中,应同时考虑视点与物点的距离和物点地形的复杂程度(一般为坡度)两个因素来判断是否需要增加或简化地形的细节。实现LOD的算法很多,本文中使用了ROAM (Real-Time Optim

14、ally Adapting Meshes,实时优化自适应网格)算法,它具有以下几个方面的优点6:能很好的地运用USGS EDM的文件格式;适合分布式仿真中大地形分块加载;可自由的设置分割阈值的条件;可动态的改变每个网格;可在渲染时控制每个网格的生成与否;可以和纹理坐标很好的结合在一起;可控制地形三角形的最大数目。该算法使用网格来对地形进行分块处理。初始化时,网格由两个正二等边三角形构成,分别称为基本左三角形和基本右三角形。采用这种规则三角网的好处是可以平衡地形显示精度和数据量两方面因素。算法使用二元三角树的数据结构来记录这些地形块即三角形。树中每个节点有五个指针,分别指向下邻居、左邻居、右邻居

15、、左孩子和右孩子,通过树的深度来控制内存中的数据量。细节的增加体现在对这两个基本三角形的进一步划分处理上,实现时体现在对节点的分割和合并处理,即增加孩子节点和删除孩子节点两个操作。所有叶节点存贮需要渲染的三角形。实现时需要根据地形复杂度和视距的远近来对场景中不同区域的地形使用不同的细节程度。为了同时考虑进这两个因素,引入了一个可分辩视角的概念。如图2所示,假定为树中的某节点,为AB的中点,其高程由B、C两点线性内插求得,D为所对应的真实地物点,P为当前视点的位置。由此可知D为D点当前显示高度和实际高度之差,可分辩视角便是这个高差在P点所引起的视张角。当大于某一值时,则认为该区地形细节需要增加,

16、对节点作划分处理,生成两个子节点即和,然后对这两个三角形子节点进行渲染操作。图2可分辩视角通过对地形层次细节和视域范围的控制,可以得到较好的实时表达效果。图3是某地块未经渲染的格网表达的地形,(a)图为视点较远时的效果,(b)图为视点移近,地形层次细节增加后的效果。两幅图均应用了视域范围的控制,不在视域范围内的地块没有绘出。(a)(b)图3 地形实时表达效果3.4 效果测试 基于上述技术路线,本文实现了虚拟地理场景的原型系统。该原型系统实现了数据的组织管理,三维场景的绘制以及简单的场景漫游功能,如放大、缩小、平移等。为了验证上述关键技术的可行性,检验其效率,我们在下述环境中进行了测试。硬件配置

17、:服务器配置:主频P4 1.3G、256M内存、单CPU兼容PC客户端配置:主频P4 1.5G、内存256M、单CPU兼容PC 软件配置:服务器配置:Windows xp / tomcat5.5.12客户端配置:Windows XP / IE6(Internet Explorer)/ JRE5.0 update 2 / Java3D Runtime数据配置:DEM:122M(IMG) / 地面纹理:遥感影像,131M(IMG) / 建筑模型:1M(3DS)。网络环境:10Mbps教育网。在上述环境下,系统可以正常运行,网络延迟小,画面流畅,帧速率达到了15帧/秒,基本满足了虚拟地理场景的要求。客户端运行界面如图4所示。图4 系统原型客户端运行界面4 结论与展望本文在JAVA3D平台上,设计并实现了网络环境下的虚拟地理场景漫游系统原型。该原型为系统开发的第一步。要完成网络虚拟地理场景系统还有诸多问题要解决,如大规模地形的优化,专题数据的显示,专题数据的查询,语义数据的加载显示等。这些还有待于进一步的研究。参考文献:1 林珲, 龚建华, 施晶晶. 从地图到GIS与虚拟地理环境-试论地理学语言的演变 J. 地理与地理信息科学. 2003, 19(4): 18-23.2 徐珊, 王卫红, 龚建华等. 基于VRML与Java3D的虚拟地理环境开发模式探讨 J. 计算机工程与设计. 2004

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论