静态多分辨率层次模型技术的研究与实践

2014-08-15 12:17杨耀东
测绘通报 2014年2期
关键词:瓦片数据量分块

朱 光,杨耀东

(北京建筑大学 测绘与城市空间信息学院,北京 100044)

一、引 言

随着新型传感技术的提高,遥感数据正呈几何级数的速率增长。同时,Internet技术的飞速发展使得通过网络实现遥感数据的共享和三维显示已经成为现实。但是由于网络带宽和图形硬件的制约,海量遥感影像及地形数据的网络三维可视化仍然存在问题,主要表现在效率方面。因此,如何简化和压缩海量遥感数据,以达到节省网络带宽、加快图形绘制速度的目的成为三维GIS研究中的一个关键问题。

为达到数据简化效果,目前使用比较广泛的是LOD(level of detail)技术,即在保证显示精度的前提下,不同视觉条件、不同区域采用不同分辨率的模型来表示同一个对象。采用LOD技术建立的瓦片金字塔模型是一种静态多分辨率层次模型,它可以直接提供不同分辨率的数据而无需进行实时重采样。金字塔模型能够减少完成场景绘制所需的总机时,并且分块的瓦片金字塔还能够进一步减少数据访问量,提高系统的输入、输出执行效率,从而提升系统的整体性能。当三维显示窗口大小固定时,采用瓦片金字塔模型可以使数据访问量基本保持不变,这一特性对海量遥感数据的实时三维可视化是非常重要的。

为达到数据压缩效果,选取一个高压缩比的图像压缩标准对遥感数据进行压缩是必要的。目前使用比较广泛的是新一代静止图像压缩标准,即JPEG2000标准。该标准采用小波变换和最新的压缩算法,不仅能够获得较好的压缩比,而且可对压缩码流进行灵活的处理[1]。

本文在研究金字塔技术和图像压缩技术的前提下,设计并实现了一个Web3DGIS平台,并利用该平台解决了多个地区海量地形及影像数据的实时三维可视化问题。

二、平台整体架构

作为一个Web3DGIS平台,应当具有以下特点:可通过网络快速获取数据、地形及实现纹理的快速渲染。为满足以上需要,本文设计了一个以高度压缩的栅格数据瓦片金字塔模型为核心的平台架构。其整体架构如图1所示。

整个平台由数据层、业务逻辑层、表示层组成。其中,数据层负责栅格数据金字塔的存储与发布;业务逻辑层用于连接表示层与数据层,起到了数据交换中承上启下的作用;表示层是系统的UI部分,负责使用者与整个系统的交互。

三、金字塔构建与发布

本文使用的瓦片金字塔模型是基于四叉树结构,以分层分块的方式构建的。利用这种方式组织的金字塔模型具有以下特点:

1) 对于树中任意相邻的层,从上到下,分辨率呈倍数递增关系,下一层网格分辨率是上一层的2倍,这样可以很方便地使用四叉树索引技术进行快速定位。

图1 平台整体架构图

2) 树中每个节点对应一块区域,通过选择位于不同层的节点来实现对特定区域不同分辨率的表示,这样就可以直接提供不同分辨率的数据而无需实时重采样。

1. 数据分层分块

在构建金字塔时,首先把原始栅格数据作为金字塔的底层,并对其进行分块,形成底层瓦片矩阵。在底层的基础上,从左下角开始,从左至右、从下到上按每2×2个像素合成一个像素的方法生成像素矩阵,并进行分块,形成上一层瓦片矩阵。如此操作,便可构成整个瓦片金字塔模型,如图2所示。

分层分块后的文件命名要能反映出数据所在层级和数据的坐标信息,本文采用如下命名规则:Dataset NameLevel of LODFileXFileX_FileY.abc。其中,Level of LOD为数据所在金字塔模型的层号;FileX为块的行号;FileY为块的列号。利用该规则可以实现文件名与文件坐标之间的换算。

图2 数据分层分块示意图

1) 已知某点坐标(X,Y)(纬度,经度),求其在某层N的文件名。其公式为

式中,“[]”为向下取整符。

2) 已知瓦片文件名以及所在层号N,求这张图片的左下角坐标。其公式为

2. 金字塔模型的构建

本文中瓦片金字塔模型的构建通过C++语言结合GDAL(geospatial data abstraction library)开源库进行实现,其执行流程如图3所示。

图3 金字塔模型构建流程图

如图3所示,程序首先根据配置参数,如顶层瓦片分辨率、起始点坐标等,计算瓦片金字塔的层级与底层瓦片行列跨度;然后对原始数据进行切片,如果原始数据坐标并非基于WGS-84空间参考,程序会将其自动转换到WGS-84坐标系下;最后进行重采样建立瓦片金字塔。

在切片的过程中,由于部分瓦片包含无数据区域,会造成瓦片中原始数据范围之外出现黑色区域,从而影响显示效果。为避免这种情况的发生,程序执行过程中会自动检测黑色区域,并将其转换为透明色。

一般情况下,金字塔模型增加了数据的存储空间,当原始数据的数据量比较大时,很可能会造成存储空间不足。为解决上述问题,对于完全被原始数据覆盖的瓦片,程序采用JPEG2000标准对其进行压缩,从而得到了明显的数据压缩效果,节约了存储空间,同时减小了客户端的数据访问量,节省了网络带宽。

程序中MosaicPipeline模块实现了同名瓦片之间的融合,该功能可以将多个原始数据统一到同一金字塔模型中,从而避免了相同瓦片的重复获取,提高了系统执行效率。

3. 金字塔模型的发布

本文在研究World Wind Server等开源地图服务器的基础上,开发了一套能够发布多数据格式瓦片金字塔模型的WMS服务器,并用以发布本文构建的瓦片金字塔。该服务器实现了WMS标准,客户端通过实现WMS的访问标准可以流畅地访问服务器发布的瓦片数据。

另外,上述地图服务器部署方便,并且支持多种操作系统及硬件设备,基于此优点,用户可以方便快捷地搭建一个WebGIS平台。

四、客户端设计与实现

本文中客户端基于Java和C++语言,使用Eclipse与Microsoft Visual Studio 2010进行开发,其模块设计如图4所示。

图4 客户端模块设计图

配置文件中存储一些系统相关参数,如服务器地址、默认图层等,系统初始化时读取配置文件内容并创建默认对象。场景控制器负责事件监听,保存事件触发后相关场景参数的修改,并使用基于四叉树的瓦片检索算法检索当前场景的可见瓦片。通过三级缓存机制保存在服务器中获取的瓦片数据,完成数据解析之后,通过构建地形网格和纹理贴图产生三维场景。

客户端大部分功能由Java语言实现。其中,渲染模块使用了JOGL(Java bindings for OpenGL)技术;JP2文件的读取采用C++语言,借助了OpenJPEG开源库进行实现,并应用动态链接库技术与Java主程序进行融合。功能开发完毕之后将应用程序以Applet方式嵌入到网页中运行,通过JavaScript语言实现网页与Applet之间的交互,从而产生丰富的视觉效果。

五、应用案例

本文的研究成果已成功应用于多个地区海量遥感数据的实时三维可视化。以某地区为例,该地区使用的是1∶10 000的DEM数据、0.40 m分辨率和0.06 m分辨率的DOM数据,数据实际覆盖面积超过2500 km2,总数据量超过120 GB。对DEM和DOM数据分别建立了7层和9层金字塔模型,DEM瓦片大小为150像素×150像素,DOM瓦片大小为512像素×512像素。进行数据压缩之后总数据量约为2 GB。测试结果显示,当三维窗口大小为800像素×600像素时,平均帧频为26.5帧/秒。效果如图5所示。

图5 某地区海量地形及影像数据三维可视化效果图

六、结束语

试验表明,通过重采样、分层分块的方法构建瓦片金字塔模型,并采用JPEG2000标准对数据进行压缩处理,可以有效地简化与压缩海量遥感数据;通过基于线性四叉树的目标瓦片搜索算法,大大减少了三维场景绘制的数据量,提高了系统的执行效率。进而说明本文采用的方法有效地减小了计算机渲染负担,加快了图形生成速度,节省了网络带宽,能够满足大范围三维场景模拟的需要。另外,对于矢量数据,本文采用类似栅格数据金字塔的方式进行发布,有效地解决了系统对大数据量矢量数据的支持。

本文构建的Web3DGIS平台已经实现了瓦片金字塔模型的构建和发布,海量地形及影像数据的实时三维可视化,并解决了大数据量矢量数据的加载显示与查询检索,初步实现了模型数据的加载(如.3ds、.dae、倾斜相机数据)。但对于大数据量模型数据的支持还不完善,这也是未来需要研究和克服的问题。

参考文献:

[1] 张晓娣, 刘贵忠, 曾召华, 等. JPEG2000图像压缩编码系统及其关键技术[J]. 电视技术, 2001(8):13-17.

[2] 姚慧敏, 崔铁军, 邵世新, 等.基于四叉树的LOD地形模型及其数据组织方法研究[J].地理信息世界, 2007(6):1-4.

[3] 欧阳甜子, 杜红, 占小刚. 基于动态LOD四叉树算法的地形三维可视化[J]. 电脑开发与应用, 2009,22(2):11-13.

[4] 杜莹,武玉国,王晓明,等. 全球多分辨率虚拟地形环境的金字塔模型研究[J]. 系统仿真学报, 2006,18(4):955-958.

[5] 王源, 刘建永, 江南, 等. 视点相关实时LOD 地形模型动态构网算法[J]. 测绘学报, 2003,32(1):48-51.

[6] 张玉杰, 崔铁军. 多分辨率地形模型的研究与实践[J]. 地理信息世界, 2006(5):1-4.

[7] 王慧, 申家双, 陈冬阳, 等. 一种高性能的大区域遥感影像管理模型[J]. 海洋测绘, 2006(3):1-4.

[8] WAN Ming, ZHANG Wei, MURRAY M O, et al. Automatic Target Tracking on Multi-resolution Terrain[J]. Journal of Zhejiang University, 2006, 7(7):1275-1281.

[9] BAO Xiaohong,PAJAROLA R. LOD-based Clustering Techniques for Optimizing Large-scale Terrain Storage and Visualization[C]∥Proc. of VDA’03.Santa Clara.USA:[s.n.],2003.

[10] ZHAO Yuxin,MA Y. A Modified LOD Terrain Model Based on QuadTree Algorithm[C]∥2009 International Joint Conference on Computational Sciences and Optimization.Haina:[s.n.],2009:259-263.

[11] ZHANG Jin, TONG Xiaohua. Multiresolution Terrian Model in GIS[J]. ACTA GEODAETICA et CARTOGRAPHICA SINICA, 2002, 31(S0):93-96.

猜你喜欢
瓦片数据量分块
钢结构工程分块滑移安装施工方法探讨
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
高刷新率不容易显示器需求与接口标准带宽
分块矩阵在线性代数中的应用
一种基于主题时空价值的服务器端瓦片缓存算法
宽带信号采集与大数据量传输系统设计与研究
惯性
反三角分块矩阵Drazin逆新的表示
基于两级分块的文件同步方法