APP下载

基于HGML的地球灾害事件可视化表达平台快速加载技术研究

2013-04-16成都理工大学地球探测与信息技术重点实验室刘登芬

电子世界 2013年1期
关键词:链表瓦片分辨率

成都理工大学地球探测与信息技术重点实验室 何 朋 苗 放 刘登芬

1.引言

随着科技和社会的发展,人类对自然世界的过度开发,造成地球远远超过其原有的限度,各种灾害事件频繁发生,如地震、泥石流以及海啸等,它们给人类带来巨大的生命威胁和财产损害,可是没有一个有效的可视化表达平台来展示这些灾害,这样就不能给人类清楚直观的视觉冲击,也不能给研究人员提供一个很好的基础平台,通过研究达到预防灾害,减少灾害发生的目的。

为了解决可视化表达问题,在空间信息网络服务模式研究的基础上,针对地球灾害事件,本论文提出一种基于HGML的地球灾害事件的可视化表达的方式,并在构建的平台中研究快速加载技术,提高系统性能。

2.HGML及World Wind

HGML是成都理工大学地球探测与信息技术重点实验室于2007年提出的一种基于元数据和XML的数据共享和利用机制,用来描述矢量数据的各种属性,解决矢量图形在World Wind中交互显示问题。

2.1 HGML概述

XML作为一种开放的、标准的、可扩展的、具有自描述特性的、可语法验证的数据记录方式,在描述异构数据时具有透明化差异的能力,将其与HTML有机结合形成HGML,解决空间数据在Web环境下的开放式表达。

超地理标记语言HGML[1](Hyper Geographic Markup Language),是基于HTML和XML的空间数据建模及可视化表达的描述语言,解决空间数据在地理信息浏览器中交互显示及三维虚拟仿真等问题。HGML内容包括属性描述和显示描述两部分,属性描述主要包括要素、坐标位置、及说明信息等,显示属性是初始化时的显示设置描述[2,3]。HGML文本是由HGML命令组成的描述性文本,HGML命令可以说明空间对象,包括点、线、面、栅格数据,以及影像和属性数据。HGML的结构包括头部、主体两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。HGML具有简易性、通用性、可扩展性以及平台无关性特点,有一套完整的矢量数据、影像数据和网格数据标准。

2.2 World Wind概述

World Wind是NASA发布的一个开放源代码的地理科普软件,它是一个可视化地球仪[4]。低分辨率的Blue marble数据现在包含的初始安装内,当用户放大到特定区域时,附加的高分辨率数据将会自动从NASA服务器上被下载。

World Wind是一个优秀的客户端框架引擎,XML实现数据描述和软件设置,通过World Model、图层、插件、http和WMS请求、三维渲染等实现交互式浏览。XML是数据,World Wind则是数据执行的引擎,其可扩展性和开发性非常强大。

综上所述,HGML是数据,World Wind是数据执行的引擎,就可以在World Wind基础上进行二次开发,构建基于HGML的地球灾害事件的可视化表达平台。

3.可视化表达平台的快速加载技术研究

客户端发出请求,服务器端对请求进行处理并响应数据给客户端,HGML对数据组织、封装和管理,展现在World Wind中。

3.1 HGML封装地球灾害事件数据

地球灾害事件数据的种类可以根据灾害的种类来划分,可以分为人为灾害和自然灾害。人为灾害可以分为战争、事故、动荡、犯罪以及恐怖活动等;自然灾害又可以分为气象灾害、洪水灾害、地震灾害、农作物灾害、海洋灾害以及地质灾害等。这些灾害数据格式复杂,属性差异很大,要想很好的对这些数据进行利用和管理,就需要通过HGML进行封装和处理。

HGML在平台中用于处理从服务器端到客户端的数据流,其中包含SQL语句的数据库查询结果。HGML对数据进行封装的设计包括两部分:命名空间和标签。命名空间表示一定域名中HGML规范用于的某个项目名称,其作用是从服务器端向客户端传输数据;标签是HGML中具体的节点,构造查询语句在客户端执行。

图1 瓦片请求优先级示意图

图2 地形瓦片分辨率测试示意图

图3 瓦片分辨率测试图解

图4 HGML封装数据结果图

图5 瓦片请求预测前后性能测试图

标签分为三种,第一种是ResultSet标签,该标签表示一个数据查询的结果集,是HGML内容的根节点;第二种是row标签,该标签是ResultSet标签的子标签,代表一行数据;第三种是column标签,该标签是row标签的子标签,代表一行中某列的内容。通过这三种标签封装地球灾害事件的各种数据,在客户端通过相应的HGML解析程序展示在平台中。

3.2 客户端瓦片请求策略

当客户端发出请求显示某一地区的地球灾害事件时,实际是对瓦片的请求和显示。可是构建瓦片模型的方式很多,本文就采用瓦片金字塔模型[5,6],分块的瓦片金塔模型能够进一步减少数据访问量,提高系统的输入输出执行效率,从而提升系统的整体性能。当地形显示窗口大小固定时,采用瓦片金字塔模型可以使数据访问量基本保持不变。

瓦片金字塔模型构建之后,采用四叉树来构建瓦片索引和管理瓦片数据。在瓦片金字塔基础上可通过逻辑分块、节点编码和物理分块构建线性四叉树瓦片索引[5]。

3.3 服务器端瓦片预测策略

为了匹配客户端的瓦片请求策略,服务器端采用预读取策略。合适的数据缓冲机制可以提高系统的性能,海量地形实时可视化也不例外。若系统能够提前预测系统使用的数据,并能提前读取数据到缓冲区,当系统使用数据时便直接从缓冲区读取,从而省去从磁盘读取数据的时间。数据缓冲通过预测瓦片请求实现,瓦片请求分为高、中、低三个优先级,高优先级瓦片请求被立即处理;中优先级瓦片请求在没有高优先级瓦片请求时被读取到缓冲区,即数据缓冲;低优先级瓦片请求只在系统“空闲”时才被读取到缓冲区。瓦片请求优先级的确定方法如图1所示。

黑色代表窗口1,灰色代表窗口2,白色代表窗口3。为了实现瓦片数据缓冲,系统在发送窗口1的瓦片请求时应附带发送窗口2和窗口3的瓦片请求,只是瓦片请求的优先级有所不同,这便是瓦片请求预测。当场景运动到窗口2时,系统在发送窗口2的瓦片请求后,数据预测调度线程就可以直接从缓冲区提取数据参与地形绘制,而无需即时从磁盘读取数据。

3.4 目标瓦片快速加载算法

目标瓦片快速加载伴随着分辨率的快速搜索。采用瓦片金字塔模型,不同区域对应不同分辨率的地形数据,因此在瓦片快速加载过程中需要进行分辨率测试,图2为地形瓦片分辨率测试示意图,图中P为视点,白色矩形表示与主体相交的瓦片数据。矩形越小表示瓦片分辨率越高。

目标瓦片加载采用由大入小、层层推进的方式。首先判断可见区域是否在地形数据范围内,测试与可见区域重合的上层瓦片是否满足分辨率要求,若不满足,继续测试相邻瓦片,直到搜索出所有满足分辨率要求的瓦片为止。完整的算法描述如下:

1)判断可见区域是否与地形数据重合。若重合,跳到2;否则,算法结束。

2)依次判断上层瓦片是否满足分辨率要求。若满足,将其插入到准备链表中;否则,将其4个相邻瓦片插入到测试链表a。

3)判断测试链表a是否为空。若为空,算法结束;否则,跳到4。

4)依次判断测试链表a中的瓦片是否与可见区域重合。若重合,将其插入到测试链表b;否则,舍弃瓦片。

5)清空测试链表a,跳到6。

6)依次判断测试链表b中的瓦片是否满足分辨率要求。若满足,将其插入到准备链表中;否则,将其4个相邻瓦片插入到测试链表a。

7)清空测试链表b,跳到3。

如图3所示,假设被测试瓦片的分辨率为2,瓦片左边分辨率小于2,为了满足需求,则必须对瓦片进行细分,然后再进行重合测试和分辨率测试。

目标瓦片快速加载算法是一个递归算法。进行分辨率判断时只需对瓦片的四边进行判断,所以效率很高。此外,从瓦片索引数组中提取相邻瓦片无需进行空间位置判断,只要知道偏移量即可,显著地提高算法的性能。

4.性能测试与结果分析

通过HGML对地球灾害事件中的各种数据进行封装,对数据库进行查询,得到服务器向客户端传回的hgml数据流。封装成的HGML格式的数据如图4所示。

利用瓦片请求策略及快速加载算法,实现三维可视化,显示窗口为800×600像素,在屏幕显示误差为1到10个像素时,对不采用瓦片请求预测平均帧频和采用瓦片请求预测后平均帧频分别测试,结果如下图5。

通过测试比较可知,采用瓦片请求预测后的平均帧频比不采用瓦片请求预测的平均帧频有明显的提高,并且随着屏幕显示误差的增大而增大,效果明显,由此验证了快速加载算法和请求预测策略的正确性和有效性。

5.结术语

为了解决地球灾害事件可视化表达存在的问题,给一般人员提供一个生动直观的交互平台,也给研究人员提供一个研究基础平台,更好地预防灾害和减少损失,本文提出一种基于HGML的地球灾害事件的可视化表达方式,在此基础上构建可视化表达平台。

HGML是基于HTML和XML的空间数据建模及可视化表达的描述语言,解决空间数据在地理信息浏览器中交互显示及三维虚拟仿真等问题。平台中服务器端传输到客户端的各种地球灾害事件的数据通过HGML封装成统一格式的数据,这样便于数据的管理、组织、传输和处理等。

客户端采用瓦片请求策略,在分析地球灾害事件各类数据的基础上,构建瓦片金字塔模型,并通过四叉树进行瓦片索引和数据管理;在服务器端采用请求预测方式,利用合适的数据缓存机制和瓦片优先级机制提高数据读取速度;通过瓦片 分辨率的搜索算法快速加载瓦片提高系统性能;最后通过HGML封装的结果图和性能测试验证系统的正确性和高效性。

[1]郭曦榕,苗放,王华军,许义兴等.空间信息G/S网络访问模式体系架构初探[J].计算机应用与软件,2009,26(10):72-74.

[2]俞晓.空间信息管理——G/S模式研究[D].成都:成都理工大学信息工程学院,2008.

[3]程小恩.基于HGML的空间数据转换技术研究[D].成都:成都理工大学信息工程学院,2009.

[4]百度百科:World Wind[EB/OL].http://baike.baidu.com/view/812414.htm.

[5]Bigheader.World Wind技术手册[R].2007.

[6]童晓冲,贲进,张永生.全球多分辨率数据模型的构建与快速显示[J].测绘科学,2006,01.

猜你喜欢

链表瓦片分辨率
打水漂
一种基于主题时空价值的服务器端瓦片缓存算法
基于二进制链表的粗糙集属性约简
EM算法的参数分辨率
惯性
跟麦咭学编程
原生VS最大那些混淆视听的“分辨率”概念
基于链表多分支路径树的云存储数据完整性验证机制
基于深度特征学习的图像超分辨率重建
一种改进的基于边缘加强超分辨率算法