您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 网络环境下三维可视化信息系统的方法研究
中国科学D辑地球科学2005,35(6):511~518511网络环境下三维可视化信息系统的方法研究*张立强①②**张燕③杨崇俊②刘素红①任应超②芮小平②刘冬林②(①北京师范大学遥感科学国家重点实验室地理学与遥感科学学院,北京100875;②遥感科学国家重点实验室中国科学院遥感应用研究所,北京100101;③中国科学院地理科学与资源研究所,北京100101)摘要网络环境下三维地形可视化信息系统的研究已经取得了一些进展,但在海量数据管理和传输、大规模场景建模和逼真显示等方面仍然缺少成熟而简单易行的方法.在综合国内外现状的基础上,论述了快速访问多尺度、多层次地理数据的椭球四叉树空间索引技术以及流传输与细节层次渲染技术相集成的原理;提出以视相关和地形坡度为准则,多进制小波和层次三角网技术为核心的大规模地形场景的简化算法.根据这些理论和技术,借助于COM技术设计了一个基于网络的三维可视化系统.通过把海量空间数据发布到PCs上,满足多用户并发浏览、查询和分析的需要.该系统在军事模拟训练和城市规划等方面有良好的应用前景.关键词结构体系海量空间数据流传输多进制小波2004-03-03收稿,2005-02-02收修改稿*国家“973”项目(批准号:G2000077906)、水灾分析与决策支持项目(Anfas)和国家“863”项目(批准号:2001AA130020)联合资助**E-mail:zhanglq@bnu.edu.cn目前,随着“数字地球”、“数字省市”、“数字小区”的提出和建设,以及信息和遥感数据获取技术的迅猛发展,很大程度上促使传统二维GIS的服务走向网络化,表现形式向三维立体方向发展,这就对软件传输和处理海量数据的能力提出了挑战.以三维地形景观模型为主要内容的数字虚拟系统引起了人们的极大关注,并日益成为三维GIS、虚拟现实发展的主流之一[1].虽然许多研究者已经开发了三维GIS原型系统,使得三维GIS技术在矿产资源管理、数字城市等许多领域得到应用,但目前真正研究网络形式的GIS系统和地形可视化系统的文献和应用系统很少[2].网络三维可视化系统关键要解决大容量空间数据的快速实时传输、动态显示以及多源海量数据的管理和高效索引.1相关工作1997年,Lindstrom等人提出了三维地球的初步设计模型VGIS[3],对于虚拟三维地球的研究做出了很好的探索.美国Keyhole公司[4]在2001年开发的EarthSystem是迄今为止较为完善的网络三维图形信息系统.但它对计算机的配置特别是显卡要求很高,一般运行在配有NVIDIA显卡的客户端上.Teler等人提出了服务器端只渲染最低层次的元素,并把处理结果以图像的形式返回客户端,而其他的LODs作为SCIENCEINCHINASer.DEarthSciences512中国科学D辑地球科学第35卷三维模型传到客户端,可视化工作在客户端进行[5].这样做的好处是最低一层的LOD渲染时间加上图像传输时间比直接传输三维模型的时间要少;但大量元素和客户机同时运行时,即使最低层次数据的可视化过程也会非常复杂,服务器的负载过重.用Scense8和SGI的OpenGLVizserver开发的虚拟环境软件WorldToolKit提供了一个基于client/server虚拟场景的开发环境[6].WorldToolKit虽然能够提供高质量的图形,但所有的渲染工作全部在SGI服务器上完成,三维场景作为图片传到客户端上,即使客户端的计算机配置很高,也需要昂贵的服务器.本文论述了Internet/Intranet环境下的三维可视化系统GeoVirtual的数据发布和三维显示的实现方法.GeoVirtual提供了一种浏览地球的新途径,用户使用鼠标(或查询操作)就可以对地球进行定位漫游,它对客户端的要求不高.由于采用自己的一套核心技术,使得客户机对象和服务器对象之间能够直接对话,合理分配系统负荷,从而Web服务器不会负担过重.2系统框架网络三维可视化系统的基本要求是三维场景能够快速传输到多个客户端,最大限度的减少网络阻塞,场景的复杂度要适应客户机的实际处理能力.考虑到:(1)如果将场景的渲染工作放在服务器端,多用户访问时,即使最低层次元素的绘制都会超出服务器的运行能力;(2)基于服务器渲染的系统,对服务器硬件配置要求很高,并且传输到客户端的图片只能描述二维信息,缺少交互和变换的功能.图1是我们设计的网络GISGeoVirtual的架构体系.该结构有如下特点:(1)由于采用了高效的空间索引技术、渐进传输技术和地形简化算法,客户端场景的显示速度与数据量大小无关,满足了多用户并发访问的需要,并且最大限度的减少网络堵塞和传输时间;(2)采用异步多线程技术,客户机可视化场景的同时能在后台实时请求和处理地形数据.2.1服务器Web服务器主要包括若干数据库和一个离线数据预处理模块.它主要负责海量数据的存储、索图1基于COM/DCOM的结构体系SCIENCEINCHINASer.DEarthSciences第6期张立强等:网络环境下三维可视化信息系统的方法研究513引、压缩等,并把被请求的数据提交给客户端.DEM数据库、纹理数据库和矢量数据库:全球的DEM、矢量数据和纹理数据按照分辨率、空间位置分层次存储在数据库中,并通过内部关联实现无缝集成.索引模块根据客户端的请求在全库内进行快速检索,自动调用不同层次的数据.三维模型数据库:数据库内记录了模型的名称、坐标、纹理以及一些重要的描述信息,用以城市或小区三维建筑的模拟.属性数据库:记录了地形的坐标、注记、特征点的信息等属性,用以实现地物地貌的查询.2.2客户端组件客户端是与远程用户交互的接口和界面,通过http协议与服务器进行通讯.它使用三层结构体系来实现,即VC++,JavaScript和HTML.客户端应用程序的场景管理线程负责向Web服务器请求特定区域、一定分辨率和类型的数据.当数据位于四叉树的一个结点上时,客户端在共享高级缓存内为数据分配空间并通过共享内存优先队列向服务器发送请求,相关请求的级别由场景渲染线程决定.当前层四叉树结点中的静态、视相关数据放在一组哈希表中.哈希表在系统启动时就进行了初始化,管理器知道哪些结点在表的外面,因此不会向服务器请求冗余的数据.2.3显示管理本文利用层次传输方法的流能力扩充了基于细节层次的外存算法,综合了视相关几何流渲染、预取、内外缓存等理论技术,将其应用到大尺度、高分辨率的地形数据传输和渲染中.为了减少内存的消耗,构建三维场景的结点采用算术编码压缩,先传输可见子结点中较粗的模型,并将其保留在客户机内存中,渐进可视化更高层次的场景.如果遍历停止,就用较粗细节层次模型渲染.在遍历四叉树结构搜索当前待渲染结点的过程中,将流和预取过程分为两个异步线程进行(如图2所示).在交互的过程中必需的数据放在缓存中,每个细节层次中保留数据块的缓存,如果块立即使用,就存储在内存缓存中,否则,放在磁盘缓存中(如图3所示).客户端的应用程序根据本机硬件配置、数据尺度和基于视相关的原则,确定合适的多进制小波、静态误差和动态误差,利用三角网构建多分辨率三维场景.从分辨率为几公里的大场景到分辨率只有几米的城市地区,如果场景变化的太快,地形管理器跨越四叉树而定位到合适位置的速度会落后于用户变换场景的速度,这种管理机制让四叉树能快速定位到合适的空间位置以获得重要的属性信息和地理空间边界盒,从而决定哪些数据和模型显示在当前视景体内.图2渲染和流线程的流程图3数据缓存3高效的空间索引模型多分辨率地形模型数据量巨大,因此必须有一个设计合理的数据库结构存储从粗到细的数据,高用四叉树描述全球的空间数据,并考虑了地球曲率误差的影响[7].Fekete用球面四叉树索引地球的空间数据[8].还有人提出相似多层次空间数据结构来描述全球GIS[9].这些索引方法虽然能实现大规模数据的空间索引,但计算复杂,占用内存较多,实现起来难度较大.Ottonson[10]对椭球四叉树作了较为详细的论述.本文提出优化椭球四叉树实现全球地理数据的索引.这里,沿着经纬格网把地球表面划分成若干左右相邻全等的,上下相邻相似的四边形,四叉树的每个结点代表的是顾及地球曲率的、等面积的四边形.假设待分割的DEM大地坐标的范围为(λmin,ϕmin)和(λmax,ϕmax),行列数为M×N,每个瓦片有row×col格网点,那么瓦片在平行圈方向的数目为qλ=int(N/col),在子午圈方向的数目为qφ=int(M/row).经差为Δλ=(λmax−λmin)/qλ,纬差为Δϕ=(ϕmax−ϕmin)/qϕ.为了能够支持多层次细节模型,所有的结点均含有数据,所以椭球四叉树的索引值k,必须满足:min1int(/(2))int(()/(2))(2).iijjkeyqqλϕiλλϕϕ−==⋅Δ+−⋅Δ+⋅⋅∑ϕ(1)为了创建和搜索椭球四叉树,需要从已知索引值k中,知道当前层索引数据的最大坐标(λ2,ϕ2)和最小坐标(λ1,ϕ1),利用方程(1)和已知参数qϕ,qλ,Δλ,Δϕ获得λ1,ϕ1,λ2,ϕ2的值:1min1min2121int()((int(/))).tqttqqλλλϕϕϕλλλϕϕϕλλλ=+−⋅Δ⎧⎪=+−⋅⋅Δ⎪⎨=+Δ⎪⎪=+Δ⎩(2)椭球四叉树每个结点描述了一定分辨率下确定的、等边长(以m为单位)的四边形面片.为了方便四叉树的快速索引,数据集也被分成多层次的金字塔结构.随着视点和视线不断移近城区,场景会出现三维建筑实体.靠近视点或用户最感兴趣的实体应先传输,次要的目标后传输和渲染.在此情况下,采用一种P-tree的空间索引结构[11],它类似于R-tree,但增加了额外的元素g(e)存储地理空间信息.如果在第L层次上的结点n是一个内部结点,g(e)表示在该分支中所有实体集合.返回的集合在包围盒精度高于阈值时,若不含任何特征实体就合并P-tree的内部结点,否则就遍历P-tree的下一层.P-tree与椭球四叉树通过一定的阈值相连(如图4所示)来实现多分辨率地形和三维几何模型的索引.图4空间索引结构为了验证球面四叉树索引空间数据的效率,本文对椭球四叉树EQT[10]和改进的椭球四叉树在检索效率上作了比较.选用USGS编辑的GTOPO30的两个数据块E060N40和E100N40(如图5所示),以及与之相匹配的影像建立多分辨率金字塔数据结构后,共有1463个DEM和1463个影像数据.通过SQLServer2000进行管理,实验结果如表1所示.图5实验用的数据表1EQT算法检索数据所消耗的时间无细分索引网格的数目时间/s索引网格的数目(LOD)时间/s文件的个数点的个数58~986~737674525209151425270755241017186435435SCIENCEINCHINASer.DEarthSciences第6期张立强等:网络环境下三维可视化信息系统的方法研究515从表1和2中可看出,四叉树的索引单元无论是细分还是没有细分,本文的检索算法在索引效率上是非常高效的.12112212,,,,,knkjjklnMCMannnnnac+−=c∑∑(3)其高频成分,,,{}tsjklb为表2优化椭球四叉树检索数据的性能指标21112122211121212121212,,121,,,,,121,,120,0,0,00,skkjnkkkknMdMannnnsnMjnnnMssnnjklss22jnnnMnMnncssMdcabsMsddassM+−−−+−+−−⎧⎪⎪=⎪⎪⎪⎪=⎨⎪=⎪⎪⎪⎪⎪⎩∑∑∑∑∑∑(4)无细分索引网格的数目时间/s索引网格的数目(LOD)时间/s文件的个数点的个数58~986~7376745251591314252707551710151864354354基于多进制小波变换和层次三角形技术简化地形在保持三维场景绘制质量的同时加快显示
本文标题:网络环境下三维可视化信息系统的方法研究
链接地址:https://www.777doc.com/doc-922656 .html