一种基于WEB技术的气象数据体三维显示方法及装置与流程

文档序号:12041096阅读:605来源:国知局
一种基于WEB技术的气象数据体三维显示方法及装置与流程
本发明涉及气象数据处理领域,尤其涉及一种基于WEB技术的气象数据体三维显示方法及装置。

背景技术:
气象数据包括台站观测数据、卫星反演数据、数值预报数据等,其内容包括大气湿度、气压、气温、大气水温廓线、云量、降水、太阳辐射等多种气候要素。数据的表达方式、组织形式、时空分辨率各不相同,这就为气象数据的统一显示带来了困难。同时,随着对地观测技术的发展,通过卫星得到的气象观测数据越来越多,每天获取的数据达到TB级,人们迫切的需要通过日益发达的互联网技术来浏览和访问如此海量的气象数据,以期为自己的日常生活和出行服务。另外,在气象数据应用的各个方面,如科学研究、政府应急救灾决策、气象知识普及、公众用户体验等,过去那种色调单一、数据类型单一、平面展示的状况已经越来越难以满足需求,越来越需要高逼真、体剖分、现实性强的三维展示效果。

技术实现要素:
本发明提供了一种将海量气象数据通过互联网技术在WEB客户端上进行高逼真体剖分三维展示的方法和装置,改变了过去仅处理台站观测数据等少量数据、只在单一计算机上进行平面展示或假三维展示的状况。本专利对于气象部门行业应用、拓宽气象数据的服务领域具有重要意义。为了实现上述目的,本发明采用的技术方案如下:一种基于WEB技术的气象数据体三维显示方法,包括以下步骤:S1,将待展示气象数据进行预处理;S2,将预处理后的气象数据进行优化,并将优化过的数据动态推送到WEB服务器端上;S3,将所述WEB服务器端上的三维气象数据输出到WEB客户端进行体三维展示。优选的,S1中所述预处理包括:对原始气象数据进行格式转换处理、投影变换处理、数据一致性检验;S2中所述优化包括:对预处理过的气象数据进行重采样、分层、分块;S3中所述输出包括:运用渐进传输方法、数据组织与压缩方法、下载平衡方法、多级缓存方法、LOD多细节层次模型的渐进绘制方法和Hedgehog法的体三维表达方法,将优化后的气象数据展示于WEB客户端。优选的,S2具体为:S21,对所述结果数据进行多次重采样,形成针对于同一范围影像的多层不同分辨率的金字塔式结构;S22,采用动态自适应分块策略,对每一层所述影像进行分块处理;得到气候要素数据块;S23,将重采样、分层和分块处理过的数据推送并存储于WEB服务器上。优选的,所述动态自适应分块策略具体为:设V={v1,v2,...vn}为平面R2内某一平面区域D中的一组有限点集,按预设点数阈值对平面域D进行划分∑之后,得到一个平面子域的集合R={R1,R2,...,Rn},对每一平面子域Ri,记录该子域的离散点数据及点总数,同时记录每一子域的四个角点坐标,即得到每一子块的数据值。优选的,所述预设点数阈值为每一子块所允许的最小数据点数。优选的,所述四个角点坐标分别为:LeftUpX,LeftUpY,RightBottomX,RightBottomY。优选的,S3具体为:S31,运用渐进传输方法、数据组织与压缩方法、下载平衡方法、多级缓存方法把待显示气象数据缓存到WEB客户端并采用以下方法将其展示出来;S32,采用基于节点和图层的场数据组织模型,简化场景管理;S33,综合运用基于线性四叉树的金字塔数据压缩存储策略、多分辨率模型、基于LOD的场景简化方法和基于“骨架+皮肤”的匹配方法,简化、加快三维场景的绘制;S34,采用“基于可见性缓冲的场景加载管理”方法进行场景的绘制,同时应用动态载入方法优化载入速度,从而实现并行载入;S35,利用四叉树数据结构对场景中的气候要素进行表示,树中每一个节点都覆盖所述气候要素中相对应的区域,在满足预设误差阈值的基础上动态选择气候要素节点实现对气候要素模型的连续多分辨率表示;S36,运用Hedgehog法的体三维表达方法,将所述气象数据展示出来;其中,S32-S36的执行顺序不分先后。优选的,S35具体为:对整个场景分块,根据场景中气候要素所处的位置计算气候要素所属位置并建立链表索引,形成位置查询表;如果每块场景上气候要素数目超过预设阈值,则对气候要素细分,直到数目小于所述预设阈值或细分层次大于预设层次阈值为止;以使整个场景被组织成n叉树,整个场景为根节点,气候要素为中间节点;当对场景动态漫游时,根据所述位置查询表直接定位到某个场景,然后根据目标点所属块的不同,链接到新的块节点中。优选的,S3中还包括以下步骤:针对每一满足误差阈值的四叉树节点,以对角剖分方式作为从四角点指向父节点的中心;将四叉树的构网归结为直接进行对角剖分形式和保留中点形式;并且保留中点的方式分割为四种基本的表示方式。一种基于WEB技术的气象数据体三维显示装置,包括:气象数据预处理装置,用于将待展示气象数据进行预处理;所述预处理包括:对原始气象数据进行格式转换处理、投影变换处理、数据一致性检验;气象数据优化装置,用于将预处理后的气象数据进行优化处理,并将优化过的数据动态推送到WEB服务器端上;所述优化包括:对预处理过的气象数据进行重采样、分层、分块;气象数据输出展示装置,用于将所述WEB服务器端上的三维气象数据输出到WEB客户端展示,所述输出包括:运用渐进传输方法、数据组织与压缩方法、下载平衡方法、多级缓存方法、LOD多细节层次模型的渐进绘制方法和Hedgehog法的体三维表达方法将优化后的气象数据展示于WEB客户端。本发明的有益效果是:通过本发明的技术方案,能够快速处理海量异源异构气象数据,其中包括台站观测数据、卫星反演数据、数值预报数据等,利用互联网传输等相关技术将优化后的气象数据在WEB客户端进行三维化处理并展示,可以使不同部门及公众非常方便地通过互联网访问和浏览气象数据,高逼真的体三维展示效果可以给用户良好的视觉体验,也大大拓展了气象数据的应用领域。同时,本发明的技术方案,在处理过程中大大缩短了处理时间,提高了处理效率。附图说明图1是分块后的影像金字塔模型示意图;图2是四叉树数据结构示意图;图3是“裂缝”现象示意图;图4是对角剖分示意图;图5是对角剖分的一种形式:直接对角剖分;图6是对角剖分的另一种形式:保留中点剖分;图7是本发明的基于WEB技术的气象数据体三维显示装置的结构示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。如图1-图6所示,本发明公开了一种基于WEB技术的气象数据体三维显示方法,其特征在于,包括以下步骤:S1,将待展示气象数据进行预处理;所述预处理包括:对原始气象数据进行格式转换处理、投影变换处理、数据一致性检验;S2,将预处理后的气象数据进行优化,并将优化过的数据动态推送到WEB服务器端上;所述优化包括:对预处理过的气象数据进行重采样、分层、分块;S2具体为:S21,对所述结果数据进行多次重采样,形成针对于同一范围影像的多层不同分辨率的金字塔式结构;S22,采用动态自适应分块策略,对每一层所述影像进行分块处理;得到气候模式数据块;S23,将重采样、分层和分块处理过的数据推送并存储于WEB服务器上。所述动态自适应分块策略具体为:设V={v1,v2,...vn}为平面R2内某一平面区域D中的一组有限点集,按预设点数阈值对平面域D进行划分∑之后,得到一个平面子域的集合R={R1,R2,...,Rn},对每一平面子域Ri,记录该子域的离散点数据及点总数,同时记录每一子域的四个角点坐标,即得到每一子块的数据值。所述预设点数阈值为每一子块所允许的最小数据点数。所述四个角点坐标分别为:LeftUpX,LeftUpY,RightBottomX,RightBottomY。S3,将所述WEB服务器端上的三维气象数据输出到WEB客户端进行体三维展示,所述输出包括:运用渐进传输方法、数据组织与压缩方法、下载平衡方法、多级缓存方法、LOD多细节层次模型的渐进绘制方法和Hedgehog法的体三维表达方法,将优化后的气象数据展示于WEB客户端。S3具体为:S31,运用渐进传输方法、数据组织与压缩方法、下载平衡方法、多级缓存方法把待显示气象数据缓存到WEB客户端并采用以下方法将其展示出来;S32,采用基于节点和图层的场数据组织模型,简化场景管理;S33,综合运用基于线性四叉树的金字塔数据压缩存储策略、多分辨率模型、基于LOD的场景简化方法和基于“骨架+皮肤”的匹配方法,简化、加快三维场景的绘制;S34,采用“基于可见性缓冲的场景加载管理”方法进行场景的绘制,同时应用动态载入方法优化载入速度,从而实现并行载入;S35,利用四叉树数据结构对场景中的气候要素进行表示,树中每一个节点都覆盖所述气候要素中相对应的区域,在满足预设误差阈值的基础上动态选择气候要素节点实现对气候要素模型的连续多分辨率表示;S35具体为:对整个场景分块,根据场景中气候要素所处的位置计算气候要素所属位置并建立链表索引,形成位置查询表;如果每块场景上气候要素数目超过预设阈值,则对气候要素细分,直到数目小于所述预设阈值或细分层次大于预设层次阈值为止;以使整个场景被组织成n叉树,整个场景为根节点,气候要素为中间节点;当对场景动态漫游时,根据所述位置查询表直接定位到某个场景,然后根据目标点所属块的不同,链接到新的块节点中。S36,运用Hedgehog法的体三维表达方法,将所述气象数据展示出来;其中,S32-S36的执行顺序不分先后。S3中还包括以下步骤:针对每一满足误差阈值的四叉树节点,以对角剖分方式作为从四角点指向父节点的中心;将四叉树的构网归结为直接进行对角剖分形式和保留中点形式;并且保留中点的方式分割为四种基本的表示方式。本发明还公开了一种基于WEB技术的气象数据体三维显示装置,包括:气象数据预处理装置,用于将待展示气象数据进行预处理;所述预处理包括:对原始气象数据进行格式转换处理、投影变换处理、数据一致性检验;气象数据优化装置,用于将预处理后的气象数据进行优化处理,并将优化过的数据动态推送到WEB服务器端上;所述优化包括:对预处理过的气象数据进行重采样、分层、分块;气象数据输出展示装置,用于将所述WEB服务器端上的三维气象数据输出到WEB客户端展示,所述输出包括:运用渐进传输方法、数据组织与压缩方法、下载平衡方法、多级缓存方法、LOD多细节层次模型的渐进绘制方法和Hedgehog法的体三维表达方法将优化后的气象数据展示于WEB客户端。为了实现针对海量气象数据(包括地基观测资料、卫星反演数据、模式模拟数据等),进行三维化显示,从而为气象有关科研部门和公众应用部门服务的目的。具体通过以下方式对气象数据进行处理:1)气候要素的数据组织方式:在数据处理时,通常是将所有数据一次性读入内存进行处理。当数据量比较小的情况下,这种处理方法简单有效,处理速度比较快。但是,当数据量很大,例如分辨率1KM的全球遥感数据,若一次性读入内存,往往会出现内存空间不够,计算机资源耗尽,甚至死机等现象。为了解决这一矛盾,对大数据量数据进行了一定的处理。在纵向上,采用金字塔的分层结构。在横向上,采用自动分块和快速查找技术。(1)气候要素的数据分层方法在纵向上,需要对气候要素结果数据生成图像金字塔,根据不同的显示要求调用不同分辨率的图像。金字塔的构成方法是把气候要素数据作为金字塔的最底层,通过对气候要素数据采用某种重采样方法,建立起一系列不同详尽程度的影像,其中原始影像分辨率最高,经重采样得到的影像分辨率随着金字塔层数的增加分辨率逐渐降低,但表示的范围不变。分块后的影像金字塔模型如图1所示。(2)气候要素结果数据的自适应分块策略当数据量过大时,应该考虑自适应分块技术。将数据分成不同的数据块(DataBlock),其数据块的大小可以相同,也可以不同。根据块与块之间的邻接关系,可以分为结构化块、非结构化块和杂交块三大类。结构化块可以用计算机语言中多维数组存储,块与块之间的邻接关系可以通过相应的数组下标确定,在计算机上数据组织方便[11];非结构化块需要额外指定邻接关系,用于块与块之间的拼接。杂交块是结构化块与非结构化块的组合。当运用分块技术时,可能会遇到两个问题。即按照什么原则来对数据进行分块,每块的大小应为多少?第二,在显示或漫游时,应该采取什么策略将不同的块自动拼接起来,使用户看不到分块的痕迹?为了解决上述问题并且兼顾到速度,本专题从分块的原理出发,摒弃传统意义的静态分块方法,采取一种动态的自适应分块策略,即可扩展的动态窗口方法。在数据点较稀疏区域,适当扩大检索窗口,反之缩小检索窗口。数据检索窗口的大小用一规定的阈值(每块的最小数据点数)来确定的。拟采用的自适应分块策略表述如下:设V={v1,v2,...vn}为平面R2内某一平面区域D中的一组有限点集,按规定的阈值(每块的最小数据点数)对平面域D进行划分∑之后,得到一个平面子域的集合R={R1,R2,...,Rn},对每一平面子域Ri,记录该子域的离散点数据及点总数,同时记录每一子域的四个角点坐标(LeftUpX,LeftUpY,RightBottomX,RightBottomY),即得到每一子块的数据值.2)气候要素的动态显示及快速可视化:根据上述自适应分块策略,利用VisualC++所提供的强大功能,其解决方案如下:编写GetBlock()函数来实现动态分块技术。此函数的功能是根据传入参数的不同,获取用户感兴趣的数据,调用该函数能够分别实现金字塔结构和自动获取技术。GetBlock()函数设计有七个参数。其中dwX0、dwY0指明了获取数据的起始位置,dwWidth、dwHeight指定了数据块的大小。在调用时这四个参数由OnDraw()函数中ClipRect传入,这样就保证了获取数据的灵活性,数据的大小不是固定不变的,而是由重画的区域自动给出。而步长nStep实现了金字塔结构,它规定了层与层之间数据量的递减级别,nStep值越大,数据量递减的速率就越快。参数*pnBands代表将要获取数据的数据源。如果要实现金字塔结构,则*pnBands代表上一层金字塔结构的数据;如果要实现自动获取技术,则*pnBands代表本层金字塔结构的数据。这样,在垂直层面上,每调用一次GetBlock()函数就形成一层金字塔数据,然后将其存放到某一个数组中(如自定义数组TowerArray);在水平层面上,每调用一次GetBlock()函数就表示将此层的金字塔数据根据需要进行了一次自动获取。nNumberOfBands代表一幅影像中波段的数目。部分代码说明如下:3)网络快速传输技术对于基于网络的三维场影模型绘制系统而言,由于大量的几何数据需要经由网络传输到客户端,网络带宽常常成为此类系统的瓶颈,因此如何采用紧凑灵活的数据表示方式及高效的网络传输策略一直是三维快速显示的难点。(1)Com组件技术:采用与Com组件技术有机结合的三层浏览器/服务器体系结构,即将系统数据集中存放在数据服务器端中,系统的应用服务器则主要负责实现相关GIS空间分析以及网络服务的功能,再通过Internet将分析处理后的结果传送给客户端的用户。(2)渐进传输:采用边下载,边显示模式,服务器持续发送对数据的优化信息,客户端的显示效果也逐渐精细,直到传输完毕或用户对模型精细度感到满意为止。(3)数据组织与压缩技术:对影像和纹理数据进行有效组织和高效压缩,使系统的数据量得到最大限度的减少。(4)下载平衡技术:在下载过程中,系统会维护多个下载队列,各个队列自动进行网络带宽平衡,保障下载效率最优化。(5)多级缓存技术:建立了硬盘缓存、内存缓存和显存缓存三级优化,有效地提高客户端对数据的处理能力。通过以上网络传输方式可以大大缩短气象数据在网络上的传输延迟,从而更快速的把气象数据输出到WEB客户端缓存。在缓存的同时进行展示从而提高整体效率。4)三维数据优化对于气候模式,其场景主要包括高低起伏的地形以及不同地形所对应的气候要素,对它们的优化是场景优化中最重主要的内容。(1)“批”的优化批是场景优化中的最重要的概念之一,它指的是一次渲染调用(DP),批的尺寸是这次渲染调用所能渲染的多边形(气候要素)数量。每个批的调用都会消耗一定的CPU时间,对于显卡来说,一个批里的多边形数量远达不到最大绘制数量。因此尽可能将更多的多边形放在一个批里渲染,以此来减少批的数目,最终降低CPU时间,是批的优化基本原则。然而事情往往不尽如人意,有些情况下原有的批会被打破,造成额外的开销,如纹理的改变或不同的矩阵状态。针对这些问题,我们可以采用一些方法来尽量避免它,已达到批尺寸的最大化。合并多个小纹理为一张大纹理:在某个场景中,地面上有十多种不同的气候要素,它们除了纹理不同外,渲染状态都是一样。我们就可以把它们的纹理打包成一个大纹理,再为每个气候要素指定“批”,这样我们就可以用一个渲染调用来渲染所有的物体,批的数量就从十多个降为一个。这种方法比较适合对纹理精度要求不高,面数不会太多的物体。(2)渲染状态管理渲染状态是用来控制渲染器的渲染行为,我们可以设置纹理状态、深度写入等等。改变渲染状态对显卡来说,是个比较耗时的工作,因为显卡执行API必须严格按照渲染路径,当渲染状态变化时,显卡就必须执行浮点运算来改变渲染路径,因此给CPU和GPU带来时间消耗(CPU必须等待),渲染状态变化越大,所要进行的浮点运算越多。因此将渲染状态进行有效的管理,尽可能减少其变化,对渲染性能影响巨大。(3)场景管理优化场景管理的优化包括场景分割,可见性剔除等,当我们在性能评测时发现遍历树的过程比较慢时,可能有两个原因。一是树的深度设置的不合理,另一个原因是为数众多,体积很小的物体分配了结点,造成结点数量的冗余。解决方法是把这些小物体划分到他们所在的大的结点中。可见性剔除是最常见优化方法,遮挡裁减也是经常被用到的方法,常见的有地平线裁减。但是在有些情况下,遮挡裁减的效果并不明显,如当CPU使用率已经是100%时,CPU端是瓶颈,这时进行遮挡裁减计算消耗CPU时间,效果就不明显。但是有些情况下利用一些预生成信息的方法,降低遮挡裁减计算的复杂度,提高遮挡裁减计算的效率,对场景性能会有一定的改善。5)基于“重要度”驱动的视相关快速显示技术及高分率的多层次表达方法在目前的硬件条件下,按照常规的可视化技术实现海量数据的实时可视化几乎是不可能的。因此必须采取一些针对场景数据本身的特殊处理策略。具体包括:(1)有效的场景管理:系统采用基于节点和图层的场景数据组织模型,大大简化了场景的管理。(2)高效的场景简化技术:系统综合运用基于线性四叉树的金字塔数据压缩存储策略、多分辨率模型技术、基于LOD的场景简化技术、基于“骨架+皮肤”的匹配技术,大大简化、加快了三维场景的绘制。(3)高效的可见性技术:系统采用“基于可见性缓冲的场景加载管理”技术加快场景的绘制,而高效的动态载入技术则在大幅提高了浏览速度的同时也提高了载入速度,实现了并行载入,即浏览和载入同时进行。并行载入使用户察觉不到载入所导致的任何停顿,因此也可称为“零时间载入”。(4)并行图形优化技术:三维图形技术发展的一个重要分支就是图形硬件技术的发展。为了支持和充分发挥图形硬件技术的优势,系统将对硬件提供的并行处理功能提供了最优化的支持。如下图,在普通PC机器上流畅显示的三维场景范围及精度。对真实感图形的实时绘制有很多种算法,这些算法各有其适用范围。如快速消隐类算法中,层次Z-buffer算法和层次遮挡图算法对高遮挡率场景非常有效,但对遮挡复杂性要求不高的场景却毫无优势;场景模型简化类算法能够达到降低场景复杂性的目的,但对高度复杂的场景虽经简化但仍无法达到实时;另外很多算法在静态场景下效率较高,它们一般在预处理阶段生成场景遮挡树,如BSP树、八叉树、K-D树等,但在动态场景较慢,实时性不高。根据上述算法的局限性,引入“重要度”概念。“重要度”是根据地形上包含气候要素的种类以及分布疏密情况和三维的精度要求来确定的。它描述了空间地形数据快速绘制过程中,几何误差可以被忽略的视点与物点之间的最近距离。具体做法是:应用合成算法,其具体数据组织是:首先对整个场景分块,根据气候要素所处的位置计算气候要素所属经纬度建立链表索引。然后根据“重要度”决定是否对下一步细分。如果每块场景上数据数目超过预先设定的阈值,则对数据细分,直到数目小于规定值或细分层次大于规定值为止。如果三维模型复杂,可以进一步细分,并保存细分后气候要素的包围盒数据。这样整个场景被组织成n叉树,形成树。整个场景是根节点,数据块为中间节点。这样对场景动态漫游时,可以根据查询表直接定位到某个场景,然后根据目标点所属数据块的不同,链接到新的数据块节点中。采用算法的基本方式:利用四叉树数据结构对气候要素进行表示,树中每一个节点都覆盖气候要素中的某块相应的区域。由于上层节点采样点较少,因而具有更高的绘制效率;但是,采样点越少,气候要素表示的误差就越大。在满足给定误差阈值的基础上动态地选择要素节点来实现对气候要素模型的连续多分辨率表示。为了提高简化的效率,要先对数据节点进行预处理,从而确定节点操作的执行顺序。其实现过程可由下图表示。其中,根节点C0覆盖了整个区域,下面依次是二级节点、三级节点...。(如图2所示)对气候要素多分辨率表示时,通常会出现“裂缝”现象(如图3所示)。节点C1具有较低的分辨率,而与之相邻的节点C2、C3具有较高的分辨率。这使得对角化时出现了没被覆盖的区域,从而在绘制时就产生了裂缝。如图3所示(产生裂缝的边用加粗线表示)。拼接缝的消除方法:解决“裂缝”现象最常用的方法是构建限制四叉树,以往构建限制四叉树的算法,要么不能保持原始模型的拓扑结构,要么导致模型表面的不连续。本发明在以往构建限制四叉树的基础上,对四叉树的剖分作如下处理:(1)对每一满足误差阈值的四叉树节点来说,其对角剖分方式为从四角点指向父节点的中心。(如图4所示)(2)将四叉树的构网主要归结为直接进行对角剖分(如图5所示)和保留中点(如图6所示)这两种形式。并且保留中点的方式可以分割为四种基本的表示方式(如图6所示)。6)基于Hedgehog法的体三维表达技术向量显示为一条三维的有向线段,线段的方向和大小由数据决定。Hedgehog投影到二维视平面上时,在观察者看来,线段长度缩短了,因此线段的长度不仅与数据有关,还与观察者的位置有关。通过采用本发明公开的上述技术方案,得到了如下有益的效果:通过本发明的技术方案,能够快速处理海量异源异构气象数据,其中包括台站观测数据、卫星反演数据、数值预报数据等,利用互联网传输等相关技术将优化后的气象数据在WEB客户端进行三维化处理并展示,可以使不同部门及公众非常方便地通过互联网访问和浏览气象数据,高逼真的体三维展示效果可以给用户良好的视觉体验,也大大拓展了气象数据的应用领域。同时,本发明的技术方案,在处理过程中大大缩短了处理时间,提高了处理效率。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1