论文部分内容阅读
SAAS(Software as a services,软件服务化)是21世纪新兴起的一种软件应用模式,在SAAS模式中,用户仅需通过浏览器就可实现软件应用。应用程序网络化是实现SAAS的前提,实现单机高效地形可视化算法的网络化应用,对于基于SAAS模式的数字城市建设具有重要意义。相对于网络二维地图,网络三维地形场景具有符号简单、生动逼真特点,但基于网络的三维地形场景可视化研究,受到地形数据量大、地形传输耗时、客户端插件等问题的困扰,软件服务化发展较慢。本文针对上述研究难点,做了如下几个方面的研究: 1)研究了目前主流高效单机版地形绘制算法——GeoClipmap,在GeoClipmap算法中,每一层LOD(Level of Detail)的数据量是可控且有规律的,具有渲染帧率稳定的优点。本文根据GeoClipmap的规则网格嵌套特性,设计了新型的适用于网络传输的GeoClipmap坐标系以及裁剪机制,利用该坐标系及裁剪机制,根据Clipmap原点,客户端能够快速重构出地形网格的X、Y坐标,相对于传统传输完整地形顶点数据结构的方法,本文方法达到了8倍的压缩率。 2)对于地形模型的实时传输,本文从底层扩展设计了WebSocket数据帧结构,并采用WebSocket进行地形网格数据实时传输。通过扩展数据帧结构,实现了以Clipmap层为单位的地形数据实时传输。另外充分结合WebSocket协议小数据包报头特点,可以减少模型传输时间和增加3D模型可传输量。 3)对于客户端地形绘制,本文在免安装插件情况下,设计了一种构建三角条带的新方法,地形网格数据传输至客户端后,通过在每一条三角条带头尾添加退化三角形,将方形网格转换为一条三角条带进行绘制,进一步提高了地形绘制速度。 通过上述三方面研究,本文设计实现了面向网络的免插件地形传输及可视化原型系统,验证了GeoClipmap算法网络化应用的可行性,本原型系统中,每一层255×255地形网格的数据传输量由0.49M减小至0.06M,数据量减少87.8%,相对于GeoClipmap算法,数据量减少51%,大大提高了客户端地形可视化速度。