-
三维气象场数据是一种复杂多种类的地理空间数据,分为矢量场和标量场,不同场的地理属性信息不同,可视化方法也不同。三维气象数据通常是TB级的“空间维+时间维+要素维”的多维数据,时空上存在从全局到局部及不同时间跨度的多尺度特征[1]。虚拟地球[2]是建立在海量地理空间数据基础上的虚拟平台,具有海量数据组织能力及多维多尺度展示能力,可为解决三维气象场这种时空跨度多样的数据可视化提供新思路。科学可视化技术[3]可以将人无法直接观察的数据转变为容易接受的视觉信息,并可对其模式和相互关系进行可视化分析。
在国内相关研究中,沈震宇[4]结合OpenGL和可视化算法实现了二维、三维气象场数据可视化;李旭东[5]基于AVS/Express可视开发工具设计了气象数据可视化系统,取得了较好的仿真效果。但这些研究主要侧重于可视化效果的实现,缺乏对气象场的多维动态特性的考虑,无法真正应用于气象场的时空分析。徐敏[6]利用Java可视化分析组件库VisAD设计海洋大气环境的多维动态可视化系统;王洪庆[7]结合北京大学的气象信息科学视算环境PC-vis5D对典型的天气系统进行可视化和数值模拟分析。但这些成果只局限于小尺度内的仿真,无法表达气象场时空上的全球多尺度特征。陈润强[8]基于ArcEngine的三维开发平台研究二维、三维气象场数据在虚拟地球上的表达方法,但其采用的图标和等值线映射法不够直观且可视化数据不够密集。国际上相关应用中,传统三维气象场可视化系统(如NCAR Graphics、GrADS等)主要停留于二维平面或三维静态展示,缺少多时相的考虑。成熟的三维动态展示系统 (如Vis5D)也大都停留在规则几何空间内的仿真,可视化数据量有限,无法满足当前海量、大范围气象场数据的可视化需求。近几年的相关研究中,Liang[9]等提出一种基于泰森多边形的球面包围盒构造方法以适应气象场数据的球面表达,同时在可视化方法上对场数据进行三通道融合渲染,取得了很好的可视化效果。Du[10]等在研究中国沿海碳通量随时间变迁的同时,利用着色器语言和半角切片绘制方法改进体绘制的可视化效果。但上述研究大部分是基于特定事件和区域,偏重于可视化效果的实现,关于全球气象场的组织、时空查询方法涉及较少。
本文将三维气象场集成到三维虚拟地球中进行可视化表达。基于三维虚拟地球的气象场科学可视化能有效结合其他基础空间地理信息,直观表达全球范围内气象场的宏观动态变化并进行时空分析。为了探讨虚拟地球中适用的大范围、高密度三维气象场数据可视化方法,本文在设计基于体元对象的数据模型和多级体元时空索引的基础上,探讨三维气象场的可视化、时空检索方法。
-
受硬件纹理空间、内存容量、计算性能等限制,动态可视化时不可能将TB级海量气象场数据一次性从外存装入。因此面向三维气象场的数据模型需要将复杂的场数据离散化成多层次的数据单元,以实现在视点调度时可视域内的数据快速装载,从而提高动态可视化效率。为此,本文提出了基于体元对象的数据模型(图 1)。
该模型的核心是构建多级体元包围时空上离散动态分布的三维场数据点,用体元的空间大小和变化频率描述三维场的时空尺度。体元是连续时间变化下一定的空间范围,是三维场数据的存储、管理和操作单元。体元包括三维场值、空间立体块以及时间点信息三部分。三维场值包括基本的气象场数据及其空间点位数据;空间立体块对应虚拟地球中相邻尺度的等经纬度格网构成的空间范围,依照八叉树全球等经纬度立体剖分方法[11]生成,并基于椭球八叉树进行分层分块组织;时间点信息按不同时间跨度进行尺度划分,同一尺度时间间隔相等,上下层互为包含关系,构建尺度从大到小的R+树结构。空间立体块和时间点信息都是以编码形式存储为体元对象的属性字段,二者的键值共同构成体元的惟一标识。
在上述数据模型的基础上,本文基于Q+R树索引和空间信息多级格网索引[12]设计了面向三维气象场的多级体元时空索引。如图 2所示,多级体元时空索引是一个先时间索引后空间索引的二级索引结构。图 2中,T表示R树的节点(时间);A、B、C、D表示八叉树节点(空间体元),他们是大的时间尺度下的粗级体元,时间树带动空间树更新。如果某个时刻时间尺度发生了变化,那么时间节点T1重建生成了细的时间节点,对应的空间树发生变化,变成D1,D2,D3,D4甚至更多,D1~D4这些树在同一视点下空间层级与D是一致的,只是用于表示变化更快的时间尺度下的场数据。
在进行检索时,首先判断时间尺度是否变化,如果发生变化,需要先对索引树的时间结点进行重建。若无变化,则根据时间点索引,并依照视点调度和椭球八叉树去定位最粗一级的体元,然后按空间索引向子层检索,直到满足所需的空间尺度为止。
-
矢量场可视化方法包括图标法、流线法、流面法、流管法等,其核心[13]是将矢量数据映射成通用的、可通过图形直观显示的几何数据。其中,图标法是一种典型的逐数据点模拟矢量场的方法,快速高效,能保留数据所有细节信息并且很好地承载场的方向信息。由于传统二维箭头和流线在三维空间中不同视角下存在二义性,本文以能自由旋转的三维箭头模型作为映射方式,长度代表场值大小,箭头指向场的三维方向。
矢量场可视化的关键是场模型的方向在空天空间里应始终平行于该经纬点处球体切线方向。因此,每当时相发生变化时,就需要对当前的场模型的姿态、长度进行调整。场模型的姿态调整是空间坐标系(Xmodel,Ymodel,Zmodel)与世界坐标系(XE,YE,ZE)两个坐标系之间的变换过程。如图 3所示,变换矩阵的求解分为三步。首先将场模型从合方向校正为正北方向,将场模型的Z轴变换为世界坐标Z轴,最后将场模型的X、Y轴校正为世界坐标的X、Y轴。
-
基于体绘制的标量场可视化方法包括光线投射法、抛雪球法、错切—变形法和三维纹理映射法等。其中三维纹理映射法由于具备硬件支持及对密集体数据的高效绘制能力而成为当今较实用的体绘制方法[14]。
基于三维纹理映射体绘制的三维标量场可视化大致流程[15]如下。首先,从硬盘中把体元数据装载到内存中;然后,通过对体元数据分类和图像特征映射生成纹理缓存,再装入图形硬件的纹理内存生成三维纹理;最后,随着系统视点调动对体元进行实时纹理面重采样,采样面与三维纹理合成结果图像。
该流程中最重要的是纹理面的重采样。本文采用的是图像空间纹理重采样法,采样面垂直于视线方向并等间距分布在体元内。为了方便采样面方程的求解,本文设定初始采样面垂直视线方向并经过体元中心点,其他采样面以初始采样面为基准沿视线和逆视线方向按等间距增量生成,采样面与体元的交点个数N存在3、4、5、6共4种不同情况,如图 4所示。图 4中d0为采样面之间的间距。
采样面与体元交点的坐标是由采样面与体元边的方程求解得到的。本文规定交点在体元点上或体元边外视为无交点。在不影响最终结果的前提下,该方法排除了极少量的正常采样面,但也避免采样面为一个点、一条线或体元面的错误情况,在上述条件下,当采样面与某一条体边相交时,其必与该边所在的左右两个体面的边相交。文献[16]根据这一特性,将如图 5(b)所示的邻边结构作为体边遍历顺序。图 5(a)中数字代表体元点编号,带下划线数字代表体元边编号,图 5(b)中的粗线代表体边0的邻边。规定邻边的遍历为先右平面后左平面,且在左右平面中平行边优先于起始点和终止点的邻接边。
由于该算法存在盲目遍历和重复遍历的不足,本文在其基础上作进一步改进。
改进一 如图 5(c)所示,由于采样面是沿视线方向及其逆方向生成的,假设有一个垂直于视线方向的采样面K随视线方向移动,则按其经过的体元顶点顺序可以推知体边遍历优先顺序。设体元顶点Pj(j=0,1,2,…,7)与体元中心点O组成向量$\overrightarrow{{{P}_{j}}O}$。首先计算$\overrightarrow{{{P}_{j}}O}$与视线向量的点积,点积值越小,表明该顶点越先被采样面K经过,该顶点的邻接体边也就越早被遍历。然后把点积最小和最大的体元顶点的邻接体边分别设为优先度最大和最小,其余顶点的邻接体边也按顶点点积值由小到大依次设置优先度,但其与最大最小优先度的公共体边的优先度保持不变。最后将所有体边按优先度从大到小排列,同一优先度的多条体边按编号大小排列,构成体边遍历优先序列。这样,当采样方向为逆方向时,只需将优先序列倒过来使用即可。在图 5(c)中,当前视线方向下的优先序列为红色体边(2、3、11)>蓝色体边(6、7)>黄色体边(8、10)>紫色体边(0、1)>绿色体边(4、5、9)。
改进二 由于不同体边的邻边之间存在很大的交集,会导致有的体边被重复遍历。对此,可以定义一个全局变量用于记录遍历过的体边编号,每次进行求交点算法前,对体边是否遍历过进行判断。另外,该全局变量应排除记录首个与采样面相交的体边,因为该边是判断遍历结束的重要条件,需要多次遍历。
采样的过程中,首先遍历体边找到第一个交点(初始交点),然后对该交点所在体边的邻边进行遍历求交找到下一个交点,继续遍历新交点的邻边寻找新交点……如此循环,直到求得的新交点等于初始交点为止,此时采样多边形已经闭合,可继续下一个采样面。如果没有交点存在则说明采样已经结束,退出算法。
由于体元的顶点的空间坐标(存储在体元数据缓存中)和纹理坐标(存储在三维纹理内存中)已知,交点的空间、纹理坐标是由体元顶点的坐标线性插值得到的。交点存在情况判断方法及其空间坐标、纹理坐标的求解如图 6所示。
在图 6中,P0为当前所求采样面上的点,其位置由体元中心坐标加上其在视线方向上的相对偏移量求得,P1P2表示体元空间当前需要判断是否相交的边,Dir为当前视线方向(已单位化的),Px为交点,Pj1、Pj2为P0和P2在视线方向上的投影。设D等于向量u与Dir的点乘,N为向量v与Dir的点乘,T=N/D,则存在如下几种情况(δ为极小值)。
步骤1:如果D的绝对值小于δ,则此时采样面与线段P1P2平行或重合,执行步骤2。否则执行步骤3。
步骤2:如果N的绝对值小于δ,则体元顶点为交点或线段P1P2在采样面内。如果N的绝对值大于或者等于δ,则采样面与线段P1P2无交点。
步骤3:如果T>1 或者 T<0,则交点Px存在,但不在线段P1P2内。否则交点Px存在且在线段P1P2内。
因此,由相似三角形的关系得:
(1) 因此,Px的坐标(pos)、纹理坐标(tex)为:
(2) (3) -
为了对上述方法进行验证,本文基于开放式虚拟地球集成平台GeoGlobe,对海量气象场数据的可视化效率进行了实验。实验采用的三维气象场数据是由美国国家海洋和大气管理局(NOAA)提供的NCEP/NCAR再分析数据中的1948年至今的月平均,2009~2013年全年日平均和一日4次的等压面通量数据。数据存储在全球144×73个网格点,共17层等压面上。其中矢量场使用的是约16 GB的风场数据,标量场使用的是约7 GB的比湿数据。实验是在Visual Studio 2010环境下用C++和Direct 3D编写的。硬件配置为Intel(R)Core(TM)i3-2100双核3.1 GHz CPU,NVIDIA Quadro 600显卡,1 GB显存、8 GB内存。
此外,本文针对矢量场各异性、标量场聚类性的特点分别设计了不同的时空查询方法。
矢量场由于具有方向性,每个场模型代表独一无二的场状态,因此时空查询需要定位到每一个场模型。由于虚拟地球中一次绘制的场模型高达几千个,为了能快速定位到目标,本文采取先定位体元对象,再进行模型拾取的策略。通过视线与球面的交点反算出体元的行列号,再与当前层次、时间点信息构造键值去定位体元,然后对体元内的场模型进行拾取。
标量场可视化时对所有采样点的场值进行了统计分类,并分别赋予了不同的光学属性(颜色、不透明度),因此标量场时空查询到的是范围值,其结果以可视化图像和统计图的形式显示。本文设计的标量场时空查询包括三种,即根据场值查询其空间分布,根据空间范围查询场值分布,以及根据时相变化查询场值分布变化。
本文设定时相变化的最小时间尺度为2 s。矢量场在17层约5 000个场模型同时进行时态变换的情况下,动态可视化帧速能达到33~34帧/s。标量场在保证较佳的图像质量(约150~200个纹理采样面)下,动态可视化帧速达到36~38帧/s,漫游流畅度较佳,证明了快速可视化算法的有效性。另外,矢量场标量场的时空检索时间大约为15~16 ms,证明了基于体元时空模型的高效性。此外,本文针对标量场动态可视化中提出了采样面计算改进算法,还与原算法进行效率对比实验,具体见表 1。
表 1 改进算法与原算法遍历交点计算次数对比
Table 1. Comparison of Improved and Original Algorithm in Intersection Calculation Traversal Times
采样面数/个 邻边拓扑算法/次 邻边拓扑算法速率/(帧/s) 改进算法/次 改进算法速率/(帧/s) 150 2 270 35 1 536 39 190 2 874 30 1 950 36 300 4 435 19 3 031 24 由表 1可知,改进后的三维纹理映射体绘制算法减少了约32%的采样面交点计算,提高了约18%的绘制效率。
-
本文主要从三维气象场的时空特征出发,在全球多尺度空间数据模型基础上拓展时间尺度,形成基于体元对象的数据模型并构建时空一体化的多级索引机制,然后基于这种数据组织方式和索引方式实现了海量三维气象场数据的流畅动态可视化和高效时空检索,并通过实验对方法的有效性进行了验证。下一步研究工作主要包括GPU加速以实现对更高密度场数据的绘制,设计多特征传输函数以实现更好的体绘制效果,以及引入时空分析算法实现三维气象场的时空分析等。
-
摘要: 三维气象场是一个多维变化的环境,可视化是研究其内在规律的重要方法。针对三维气象场的全球范围、多维多尺度、海量数据等特征,提出了基于体元对象的数据模型和多级体元索引机制,并在此基础上设计了面向三维气象场的可视化方法,包括基于箭头模型的矢量场可视化方法和改进后的基于三维纹理映射体绘制的标量场可视化方法。最后基于虚拟地球平台进行了可视化和时空检索分析实验。实验验证了该方法的可行性和有效性。Abstract: Meteorological fields represent a multidimensional dynamic environment; therefore visualization is a means study inherent regularities in these phenomena. In this paper, aiming to visualize the worldwide, multi-dimensional, multi-scale, massive characteristics of meteorological field data, a voxel object-oriented data model and a voxel based multi-level indexing mechanism were designed. A visualization method for 3D meteorological fields is proposed, including an arrow model based visualization method for vector fields and improved 3D texture-mapping based volume rendering method for scalar fields. Visualization and spatio-temporal retrieval experiments on a Virtual Globe platform were carried out to demonstrate the feasibility and effectiveness of the proposed methods.
-
Key words:
- virtual globe /
- 3D meteorological field /
- data organization /
- visualization /
- spatio-temporal retrieval
-
表 1 改进算法与原算法遍历交点计算次数对比
Table 1. Comparison of Improved and Original Algorithm in Intersection Calculation Traversal Times
采样面数/个 邻边拓扑算法/次 邻边拓扑算法速率/(帧/s) 改进算法/次 改进算法速率/(帧/s) 150 2 270 35 1 536 39 190 2 874 30 1 950 36 300 4 435 19 3 031 24 -
[1] 严丙辉. 结合地理信息的气象数据可视化平台设计与实现[D]. 杭州:浙江大学, 2013 http://cdmd.cnki.com.cn/Article/CDMD-10335-1013178105.htm Yan Binghui. Visualizing Meteorological Data with the Geospatial Information[D]. Hangzhou:Zhejiang University, 2013 http://cdmd.cnki.com.cn/Article/CDMD-10335-1013178105.htm [2] 龚健雅, 陈静, 向隆刚,等. 开放式虚拟地球集成共享平台GeoGlobe[J]. 测绘学报, 2010, 39(6):551-553 http://www.cnki.com.cn/Article/CJFDTOTAL-CHXB201006001.htm Gong Jianya, Chen Jing, Xiang Longgang, et al. GeoGlobe:Geo-spatial Information Sharing Platform as Open Virtual Earth[J]. Acta Geodaetica et Cartographica Sinica, 2010, 39(6):551-553 http://www.cnki.com.cn/Article/CJFDTOTAL-CHXB201006001.htm [3] 唐泽圣. 三维数据场可视化[M]. 北京:清华大学出版社, 1999:1-8 Tang Zesheng. Visualization of Three-dimensional Data Field[M]. Beijing:Tsinghua University Press, 1999:1-8 [4] 沈震宇, 范茵, 陶俐君,等. 可视化技术在气象数据场分析中的运用[J]. 系统仿真学报, 2006, 18(1):336-442 http://www.cnki.com.cn/Article/CJFDTOTAL-XTFZ2006S1100.htm Shen Zhenyu, Fan Yin, Tao Lijun, et al. Visualization Method on Meteorogical Data Analysis[J]. Journal of System Simulation, 2006, 18(1):336-442 http://www.cnki.com.cn/Article/CJFDTOTAL-XTFZ2006S1100.htm [5] 李旭东, 孙济洲, 张凯. 基于AVS/Express的气象数据可视化系统[J]. 天津大学学报, 2009,42(4):357-361 http://www.cnki.com.cn/Article/CJFDTOTAL-TJDX200904015.htm Li Xudong, Sun Jizhou, Zhang Kai. Meteorological Data Visualization System Using AVS/Express[J]. Journal of Tianjin University, 2009, 42(4):357-361 http://www.cnki.com.cn/Article/CJFDTOTAL-TJDX200904015.htm [6] 徐敏,方朝阳,朱庆,等. 海洋大气环境的多维动态可视化系统的设计与实现[J]. 武汉大学学报·信息科学版, 2009,34(1):57-59 http://ch.whu.edu.cn/CN/abstract/abstract1146.shtml Xu Min, Fang Chaoyang, Zhu Qing, et al. Design and Implementation of Multidimension and Animated Visualization System for Ocean and Atmosphere[J].Geomatics and Information Science of Wuhan University, 2009, 34(1):57-59 http://ch.whu.edu.cn/CN/abstract/abstract1146.shtml [7] 王洪庆, 张焱, 郑永光,等. 气象信息科学视算环境及其若干问题[J]. 气象学报, 2004, 62(5):708-713 http://www.cnki.com.cn/Article/CJFDTOTAL-QXXB200405015.htm Wang Hongqing, Zhang Yan, Zheng Yongguang, et al. Meteorological Data Visualization System[J]. Acta Meteorological Sinica, 2004, 62(5):708-713 http://www.cnki.com.cn/Article/CJFDTOTAL-QXXB200405015.htm [8] 陈润强, 许丽人, 孙海洋. 基于三维数字地球的大气环境仿真可视化表达[J]. 中国体视觉与图像分析, 2014, 19(1):29-34 http://www.cnki.com.cn/Article/CJFDTOTAL-ZTSX201401005.htm Chen Runqiang, Xu Liren, Sun Haiyang. The Visualization Expression of Atmosphere's Environment Simulation Based on 3D Digital Earth[J]. Chinese Journal of Stereology and Image Analysis, 2014, 19(1):29-34 http://www.cnki.com.cn/Article/CJFDTOTAL-ZTSX201401005.htm [9] Liang Jianming,Gong Jianhua, Li Wenhang, et al. Visualizing 3D Atmospheric Data with Spherical Volume Texture on Virtual Globes[J]. Computers & Geosciences, 2014,68:81-91 http://cn.bing.com/academic/profile?id=2086166865&encoded=0&v=paper_preview&mkt=zh-cn [10] Du Zhenhong, Fang Lei, Bai Yan, et al. Spatio-temporal Visualization of Air-sea CO2 Flux and Carbon Budget Using Volume Rendering[J]. Computers & Geosciences, 2015,77:77-86 http://cn.bing.com/academic/profile?id=2052068662&encoded=0&v=paper_preview&mkt=zh-cn [11] Yu J Q, Wu L X. Spatial Subdivision and Coding of a Global Three-dimensional Grid:Spheoid Degenerated-OctreeGrid[C]. IEEE International Geoscience and Remote Sensing Symposium, Cape Town, South Afica, 2009 [12] 李德仁, 朱欣焰, 龚健雅. 从数字地图到空间信息网格——空间信息多级网格理论思考[J]. 武汉大学学报·信息科学版, 2003, 28(6):642-649 http://ch.whu.edu.cn/CN/abstract/abstract4728.shtml Li Deren, Zhu Xinyan,Gong Jianya. From Digital Map to Spatial Information Multi-grid——A Thought of Spatial Information Multi-grid Theory[J]. Geomatics and Information Science of Wuhan University, 2003, 28(6):642-649 http://ch.whu.edu.cn/CN/abstract/abstract4728.shtml [13] 李海生, 牛文杰, 杨钦,等. 矢量场可视化的研究现状与发展趋势[J]. 计算机应用研究, 2001, 17(8):11-14 http://www.cnki.com.cn/Article/CJFDTOTAL-JSYJ200108003.htm Li Haisheng, Niu Wenjie,Yang Qin,et al. Today and Tomorrow of Vector Field Visualization[J]. Application Research of Computers, 2001, 17(8):11-14 http://www.cnki.com.cn/Article/CJFDTOTAL-JSYJ200108003.htm [14] 尹学松, 张谦, 吴国华, 等. 四种体绘制算法的分析与评价[J]. 计算机工程与应用, 2004, 16:97-100 http://www.cnki.com.cn/Article/CJFDTOTAL-JSGG200416031.htm Yin Xuesong, Zhang Qian, Wu Guohua, et al. Review on Four Volume Rendering Algorithms[J]. Computer Engineering and Application, 2004, 16:97-100 http://www.cnki.com.cn/Article/CJFDTOTAL-JSGG200416031.htm [15] 童欣, 唐泽圣. 基于纹理硬件的大规模体数据快速绘制算法[J]. 清华大学学报(自然科学版), 2000, 40(1):72-75 http://www.cnki.com.cn/Article/CJFDTOTAL-QHXB200001020.htm Tong Xin, Tang Zesheng. Efficiently Rendering Large Volume Data Using Texture Mapping Hardware[J]. Journal of Tsinghua University(Natural Science), 2000, 40(1):72-75 http://www.cnki.com.cn/Article/CJFDTOTAL-QHXB200001020.htm [16] 夏冰心. 基于纹理映射的三维地震数据可视化方法研究[D]. 南京:南京理工大学, 2008:33-42 http://cdmd.cnki.com.cn/Article/CDMD-10288-2009197011.htm Xia Bingxin. Texture Mapping-based Visualization Method of Three-dimensional Seismic Data[D].Nanjing:Nanjing University of Science and Technology, 2008:33-42 http://cdmd.cnki.com.cn/Article/CDMD-10288-2009197011.htm -