杜鹏 屈帅
摘 要:伴随着網络三维技术的快速发展,网络三维GIS也随之崛起,并在地理学中扮演着越来越重要的角色。由于网络数据传输受到带宽等因素的影响,因此如何满足地理信息系统大数据传输与处理的需要是网络三维地理信息系统所迫切需要解决的一个问题。WebGL技术的出现则是为这一问题提供了一个解决的方法。因此,该文就以一种无插件版的Web三维技术—WebGL为基础,介绍一个自主研发的网络三维地理信息系统平台,并介绍了该系统的系统主要框架,简述了其主要的功能。
关键词:网络三维技术 WebGL 地理信息系统平台
中图分类号:TP391 文献标识码:A 文章编号:1672-3791(2015)10(c)-0026-02
随着计算机网络技术的不断发展,人们的生活方式与生活习惯也在悄然发生变化,计算机与互联网的快速崛起,特别是Web3D技术的蓬勃发展,不仅提高了人们的生产效率、改善了人们的生活方式。随着“数字地球”、“智慧城市”等新概念的提出与建设,在一定程度上刺激了传统GIS向服务网络化、表现形式三维化的转变[1]。因为大家生活在一个三维的空间里,和二维传统GIS相比,在很多场合下,三维可视化加强了WebGIS的表现能力,用三维去表达地理实体要比二维更加直观、清晰。因此以三维地形景观为模型的网络三维数字虚拟系统脱颖而出,并且日益成为三维GIS的主流之一。但是由于三维数据要比二维数据更加复杂,因此就对数据传输以及处理海量数据的能力提出了更高的挑战,目前真正成型的网络形式的三维GIS系统却很少[3]。该文就以webgl技术为基础搭建一个网络三维地理信息系统平台。
1 网络三维简介
1.1 网络三维
网络三维技术是以虚拟现实(VR)技术,多传感交互技术以及高分辨显示技术为基础,利用计算机三维图形生成逼真的虚拟环境,用来模拟人在自然环境中视、听、说、动等行为,通过互联网技术最终形成一个带有交互性质的能实时渲染的网络三维场景[2]。网络三维技术的出现提供了另外一种表达人们所处的地理世界的方式,并且这种方式能更加直观、形象的表现出地理实体,为用户带来强烈的空间感和体验感。
但是随着网络三维技术的发展与应用,几乎每个开发商都有自己的一套标准,并且该标准需要有加载组件或者预先安装插件,并且具有兼容性差,效果显示不佳等缺点,因此想要广泛的应用网络三维技术急需一套免插件的三维技术,WebGL出现为这种构想提供了实现的可能性。
1.2 WebGL技术
WebGL是一种3D绘图标准,该标准解决了现有网络三维最大的问题:插件问题。这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以利用底层图形硬件加速功能为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航,提高了数据视觉化[4]。
2 系统框架
该系统是基于WebGL技术,采用B/S开发模式,考虑到网络三维可视化[5]系统的特殊性,尽量减少网络阻塞,缩短在网络上的传输时间,使客户终端能快速得到所需要的三维场景,因此选择在服务端采用Internet信息服务存放三维场景所需要的三维数据,网页端场景显示采用高效的空间索引技术,渐进传输技术和地形简化算法来满足多用户并发访问的需要。
2.1 服务器端
Web服务器端作为整个系统的后端,接受客户端发送的服务请求和参数,提交应用服务器处理后将其返回的参数和分块的数据再经由Web服务器返回客户端。主要功能是采用海量空间数据库进行数据的存储管理以及提供实时的空间数据查询服务。主要包括存储各种三维数据的数据库和一个离线数据预处理模块。
三维数据本身数据量大,结构复杂多样,并且网络三维要求实时性的交互,因此需要一个专门的模块来对这些三维数据进行组织和管理,采用细节分层技术实现对不同类型数据的一体化管理,从数据到三维虚拟显示的快速转换,并把客户端请求的数据提建立索引,进行压缩,传给客户端。三维数据数据库主要包括:三维模型数据库、DEM数据库、属性数据库。这些数据库不仅存放了地理数据例如矢量数据、DEM数据、三维模型数据,还记录了各个三维实体的属性信息、对三维模型的描述性信息等。
2.2 客户端
客户端根据用户在场景中的浏览位置的不同,将不断向服务器端发送新的数据请求,要求传送与当前用户浏览位置相关的三维场景数据。包括三维地形数据、纹理图像数据等。客户端在收到这些场景数据后,能够对其进行实时绘制和显示。但因为三维数