文档详情

基于OpenWebGlobe的网络三维GIS的设计与实现

I***
实名认证
店铺
DOCX
73.40KB
约7页
文档ID:266911912
基于OpenWebGlobe的网络三维GIS的设计与实现_第1页
1/7

          基于OpenWebGlobe的网络三维GIS的设计与实现                    摘要:本文介绍了OpenWebGLobe这一开源三维GIS软件,并在WebGL技术基础上利用该软件实现了海量地理空间数据的三维可视化展示该技术不受插件限制,实现方式更为灵活便利,能满足通用的三维展示需求关键字:三维GIS;WebGL;OpenWebGlobeAbstract:ThispaperintroducesOpenWebGLobe,anopensource3DGISsoftware,andusesthissoftwaretorealizetheonline3DvisualizationofmassivegeospatialdatabasedonWebGLtechnology.Thetechnologyisnotlimitedtoplug-ins,toachieveamoreflexibleandconvenientwaytomeetthegeneralneedsofthree-dimensionaldisplay.Keywords:3DGIS;WebGL;OpenWebGlobe1引言随着地理信息和IT技术的发展,三维GIS成为研究热点,三维可视化已经成为一种重要的可视化分析和地理空间参考工具。

利用虚拟的三维球体通过网络展示海量的影像、高程及其它地理空间数据成为可能常用的web端的三维可视化主要采用Direct3D、ActiveX控件等方式,通过将程序宿主在浏览器中实现三维数据的读取和展示,然而采用这些插件的方式对用户的限制较高,通常需要用户安装额外的客户端,对浏览器也有一些必要的限制,使用起来非常麻烦目前各浏览器广泛支持HTML5、WebGL等新技术,使得基于网络的三维GIS成为一种可能,OpenWebGLobe就是一款基于WebGL技术实现的网络三维GIS软件2WebGL简介WebGL是免费授权、跨平台的应用程序接口API,它将OpenGLES2.0作为在HTML网页内的3D绘图环境,作为低级别文档对象模型接口开放WebGL可以为HTML5Canvas提供硬件3D加速渲染,Web开发人员可借助系统显卡在浏览器里更流畅地展示3D场景和模型,还能创建复杂的导航和数据视觉化它是使用JavaScript编程开发语言开发适合动态3D网页应用的理想工具,并已被主流互联网浏览器集成,目前Google公司的Chrome、Mozilla公司的firefox、微软的InternetExplorer11等主流浏览器都支持WebGL。

WebGL完美地解决了现有的Web交互式三维GIS的两个问题:第一,它通过HTML脚本本身实现基于Web的网络三维GIS的功能,无需任何浏览器插件支持;第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现,具有高性能、跨平台的特点3OpenWebGlobe简介OpenWebGlobe是基于WebGL构建三维GIS的一个开源项目,主要包括三维数据处理模块(DataProcessing)、三维可视化模块(WebViewer)和Web开发包(WebSDK)三个部分DataProcessing模块主要是在服务器端对地理空间数据进行预处理与加工,主要包括空间坐标转换、建立多尺度的金字塔图层、缓存数据等将海量影像数据以影像金字塔的方式进行切片和分层,以适应网络的传输;将高程数据处理为三角网数据,并以文本的方式将数据传输给客户端供Web进行解析WebViewer模块主要用于展示三维数据,其通过网络实时从服务器上请求DataProcessing处理完成的影像瓦片数据和高程三角网数据,以高度并行和多尺度的计算环境去处理这些地理空间数据,利用WebGL技术实现在浏览器中快速展示三维数据。

WebViewer能够支持多种数据类型,如影像数据、高程数据、兴趣点、矢量数据和3d模型等WebSDK模块主要用于Web端的开发,该模块采用Javascript语言,利用面向对象的开发模式进行开发,该模块的主要类结构如图1所示OpenWebGlobe利用WebGL技术和HTML的特性,能够在浏览器中以无插件的方式快速高效的展示一般三维GIS软件所拥有的功能,其功能主要有:海量影像数据的展示大尺度的地形数据渲染兴趣点数据加载三维模型数据加载OGC服务图层叠加4基于OpenWebGLobe的三维GIS实现利用OpenWebGlobe展示三维空间数据,主要为以下步骤:1)利用WebGL的Canvas,初始化OpenWebGlobe的上下文环境,并创建三维虚拟球//创建三维上下文环境varctx=ogCreateContextFromCanvas("canvas",true);//创建三维虚拟球varglobe=ogCreateGlobe(ctx);//设置三维球的背景色ogSetBackgroundColor(ctx,0.2,0.2,0.7,1);加载影像数据varimgBlueMarble500={url:["http://www.openwebglobe.org/data/img"],layer:"World500",service:"i3d"};ogAddImageLayer(globe,imgBlueMarble500);3)加载兴趣点、三维模型等其它专题数据varscene=ogGetScene(ctx);varworld=ogGetWorld(scene);//创建兴趣点图层varpoilayer=ogCreatePOILayer(world,"pois");//创建兴趣点varNewPoiDefinition={icon:"03110651/cycling.png",position:[x,y,z],//x,y,z三维坐标size:50,flagpole:true};poi=ogCreatePOI(poilayer,NewPoiDefinition);5总结OpenWebGlobe基本上能满足通用的三维展示需求,由于采用的非插件机制,更加易于用户接受,而且不受ActiveX、OpenGL等插件的限制,利用WebGL能够非常灵活地在三维球体上进行界面的定制。

OpenWebGlobe目前还没有提供丰富的三维空间分析功能,对于空间分析要求高的需求不能满足,但随着硬件的升级和WebGL的发展,这一需求也一定会满足,基于WebGL的三维GIS功能将越来越强大参考文献:[1]http://www.openwebglobe.org.[2]曲鑫,殷福忠,曲林.基于OpenGL的3维虚拟林相研究[J].地理信息世界,2008,8:61-66.[3]徐泽骅,李胜,汪国平.基于OpenGL的地图渲染引擎设计与实现[J].地理信息世界,2015,12(22):32-36&50.[4]聂小波,吴北平,何保国.基于ArcGISEngine的专题图模块的设计与实现[J].地理空间信息,2006,4(1):12-14.[5]张帆,薛丹,李军,景宁.基于WebGL的城市三维场景可视化研究[J].计算机科学与技术汇刊,2014,3(2):48-54.[6]谢磊.基于WebGLS的三维地形可视化研究[J].科技视界,2015,13:138-141.  -全文完-。

下载提示
相似文档
正为您匹配相似的精品文档