一种基于三维虚拟地球的风场可视化展示方法

文档序号:6521205阅读:1307来源:国知局
一种基于三维虚拟地球的风场可视化展示方法
【专利摘要】本发明涉及一种基于三维虚拟地球的风场可视化展示方法,包括以下步骤:1.气象自动站数据接入:服务端以气象局提供的气象自动站数据作为风场数据的数据来源,以符合NetCDF规范的数据格式,定时导入气象自动站数据;2.风场数据格点化:获取的所述气象自动站数据为离散点数据,服务端将气象自动站离散点数据根据风场覆盖的可视化区域插值为风场格点数据;3.用户交互响应:客户端根据用户交互操作从服务端下载指定时间与空间的风场格点数据;4.风场可视化:客户端根据下载的风场格点数据驱动粒子系统,通过控制粒子在三维空间中的运动实现实时风场可视化。该方法不仅展示效果好,而且运行高效,实时性强。
【专利说明】一种基于三维虚拟地球的风场可视化展示方法
【技术领域】
[0001]本发明涉及风场可视化展示【技术领域】,特别是一种使用格点化风场数据驱动粒子系统模拟风场、通过烟雾运动形式展示风场可视化、在三维虚拟地球环境下真实、快速模拟多层次(宏观、中观、局部)风场的方法。
【背景技术】
[0002]随着科学技术尤其是计算机技术的快速发展,传统可视化技术已经不能满足社会需求的快速提高,计算可视化成为了将科学计算数据转化为人们容易理解的图形或图像形式的主要手段,而且向着实时、交互、多维度、虚拟现实及网络应用等方向深入发展。
[0003]地理信息系统(GIS)作为地理与环境信息可视化的最好载体,已经越来越被社会认知与接受,尤其是近年来兴起的三维数字地球技术,集合传统GIS功能与三维可视化技术,在许多领域使用日渐频繁,尤其是在气象应用上,常用于大气环境监控、灾害预报预警等,可以将海量气象原始数据经过分析、转化、整理、统计等手段,得到人们需要的结果,但由于大气环境的多变性、复杂性,使用怎样的方法在三维数字地球中对其进行动态展示,一直是研究的热点方向。目前常用的风场可视化展示方法大体包含以下两类:
[0004]标量场可视化技术,如将二维网格分布的风场数据抽取出等值线,再对等值线进行取样插值平滑的等值线法。使用等值线法时通常搭配系列色板将各等值区域填充以便于使用者观看;
[0005]矢量场可视化技术,例如使用简单符号如箭头标注风向,箭头长短表示风速的标注法;使用一组带有表示气流方向箭头的曲线构成流线图的矢量线法;将风场中的风矢量数据赋予粒子系统,控制其中的粒子运动,从而动态展示风场的粒子法;基于纹理的矢量场可视化算法,例如线积分卷积中的点噪声法、纹理卷积算法。
[0006]但是,现有风场可视化技术普遍为二维可视化,基本方法如箭标图、风场分布图、流线图、纹理图等使用抽象元素,如箭头、颜色、线条等对风场的数据进行描述,不存在真实感也无法给予普通观察者直观感受,而且这些方法只能简单反映风场的瞬时状态,无法动态展示其发展与演变过程。粒子法可以生成较为细致的风场效果,可以进行动态展示,但由于其前期需要根据风场数据追踪粒子轨迹,后期需要对计算结果进行实时动画渲染,涉及到大量数学计算过程,同时随着粒子数量增加,计算量将迅速增长,将给系统软、硬件带来很大压力。而且真实风场变化频繁且涉及范围较大,使用粒子法对采集到的原始数据直接进行可视化处理,所需传输的数据也将占用大量网络带宽。因此传统的粒子法难以满足在三维数字地球系统中动态展示大面积实时风场的要求。

【发明内容】

[0007]本发明的目的在于提供一种基于三维虚拟地球的风场可视化展示方法,该方法不仅展示效果好,而且运行高效,实时性强。
[0008]为实现上述目的,本发明的技术方案是:一种基于三维虚拟地球的风场可视化展示方法,包括以下步骤:
[0009]步骤一、气象自动站数据接入:服务端以气象局提供的气象自动站数据作为风场数据的数据来源,以符合NetCDF规范的数据格式,定时导入气象自动站数据;
[0010]步骤二、风场数据格点化:获取的所述气象自动站数据为离散点数据,服务端将气象自动站离散点数据根据风场覆盖的可视化区域插值为风场格点数据;
[0011]步骤三、用户交互响应:客户端根据用户交互操作从服务端下载指定时间与空间的风场格点数据;
[0012]步骤四、风场可视化:客户端根据下载的风场格点数据驱动粒子系统,通过控制粒子在三维空间中的运动实现实时风场可视化。
[0013]进一步的,在步骤一中,服务端定时通过数据导入接口连接气象自动站数据收集服务器,导入气象自动站数据,导入时间间隔与气象自动站记录更新间隔相适应;数据导入后按气象自动站记录时间戳划分批次。
[0014]进一步的,在步骤二中,数据导入完成后触发风场格点数据生成,将获取的气象自动站离散点数据插值为覆盖所有可视化区域的风场格点数据;该方法与三维数字地球系统结合,风场格点在WGS-84坐标系下,以经纬度为单位进行划分,风场格点编号的确定方法为:将可视化区域以经纬度为单位,按四叉树规则分为若干等级,每个四叉树分块以nXn网格划分格点;设在任意分块内,经度最小值为Lontl,最大值为Lon1,纟韦度最小值为Latci,最大值为Lat1,格点经度间隔为Loni,格点纬度间隔为Lati,经度方向格点数为LonNum,纬度方向格点数为 LatNum,则 Loni= (Lon1 — Lon0) /LonNum, Lati= (Lat1 一 Lat。)/LatNum,对于在风场格点数据范围内的任意`位置Posx(lonx, Iatx),其经向编号LonNo= [ (1nx-Lonci)/Loni],讳向编号LatNo=[ (Iatx-Latci)/Lati],式中符号[]表示取整;将所述风场格点数据存储于服务端,当客户端需要时通过时间与风场格点编号获取任意风场格点数据。
[0015]进一步的,在步骤三中,客户端根据数据时间与区域向服务端请求数据,数据时间由用户使用时间轴设置;数据区域由用户当前浏览区域确定,具体步骤为:首先由当前相机高度确定对应的四叉树数据加载等级,然后使用相机视景体与四叉树相交计算获取视野范围对应风场数据分块与格点行列范围,最后根据行列编号向服务端请求数据;客户端与服务端交互使用WCF数据服务,可根据网络环境需要选择连接方式。
[0016]进一步的,在步骤四中,风场可视化包括数据更新、视图更新和数据显示;
[0017]I)数据更新过程包括格点数据更新与粒子更新;数据更新过程中使用的时间包括:数据更新时间t,对应数据采集时间,用于控制数据加载;粒子更新时间ti;即粒子系统更新粒子所使用的时间,用于控制粒子的运动;当1变化时,格点数据更新,当ti变化时,粒子风场系统更新;
[0018]1.1)格点数据更新:客户端浏览不同时间点风场时,根据浏览时间加载前后两个时间点的风场格点数据;设前一个时间点为&,后一个时间点为h,系统当前时间为t,设当前浏览的格点在格网中的编号为(LonNo,LatNo),该格点在两个时间点上的风速分别为Speed。、Speed1,则任意 t 满足时刻速度 Speed1= (l_k) Speedc^kSpeed1,其中k=t/(t!-t0);当系统没有新时间点数据时,速度SpeedT=SpeedQ ;
[0019]1.2)粒子更新:粒子更新过程包括粒子创建、粒子位置更新和边界检测;
[0020]粒子创建:根据粒子数量上限、限制边界、限制高度等预设参数与当前粒子分布等条件生成新的粒子,使粒子覆盖整个区域;粒子创建使用RenderToTexture技术,具体过程为:对应风场可视化区域定义一幅空白纹理;在随机渲染粒子的同时把粒子渲染到空白纹理的像素点上;在同一像素点重叠的粒子越多,像素灰度值越高;通过设置像素灰度阈值,仅在低于阈值像素对应空间区域生成粒子;
[0021]粒子位置更新:使用粒子系统展现风场可视化,粒子运动速度与方向由所在格点的风速与风向决定,粒子位置更新间隔由粒子更新时间\决定,当风场数据停止更新时,粒子将根据\继续更新;与风场格点相同,粒子系统采用WGS-84坐标系标注粒子坐标,但粒子位置变化使用世界坐标系计算:设粒子的初始WGS-84坐标为GeoPos^Lon。,Lat0, Alt0),地球半径为Re,则粒子的初始世界坐标WorldPosci (?, y0, z0)为:
[0022]X0= (RE+Alt0) cosLatQcosLon0
[0023]y0= (RE+Alt0) cosLat0sinLon0
[0024]Z0= (RE+Alt0) SinLat0
[0025]设该粒子所在格点风向角为θ,风速为Speedx,粒子更新时间为ti;则新坐标WorldPos1 (X1, yu Z1)为:
【权利要求】
1.一种基于三维虚拟地球的风场可视化展示方法,其特征在于,包括以下步骤: 步骤一、气象自动站数据接入:服务端以气象局提供的气象自动站数据作为风场数据的数据来源,以符合NetCDF规范的数据格式,定时导入气象自动站数据; 步骤二、风场数据格点化:获取的所述气象自动站数据为离散点数据,服务端将气象自动站离散点数据根据风场覆盖的可视化区域插值为风场格点数据; 步骤三、用户交互响应:客户端根据用户交互操作从服务端下载指定时间与空间的风场格点数据; 步骤四、风场可视化:客户端根据下载的风场格点数据驱动粒子系统,通过控制粒子在三维空间中的运动实现实时风场可视化。
2.根据权利要求1所述的一种基于三维虚拟地球的风场可视化展示方法,其特征在于,在步骤一中,服务端定时通过数据导入接口连接气象自动站数据收集服务器,导入气象自动站数据,导入时间间隔与气象自动站记录更新间隔相适应;数据导入后按气象自动站记录时间戳划分批次。
3.根据权利要求1所述的一种基于三维虚拟地球的风场可视化展示方法,其特征在于,在步骤二中,数据导入完成后触发风场格点数据生成,将获取的气象自动站离散点数据插值为覆盖所有可视化区域的风场格点数据;该方法与三维数字地球系统结合,风场格点在WGS-84坐标系下,以经纬度为单位进行划分,风场格点编号的确定方法为:将可视化区域以经纬度为单位,按四叉树规则分为若干等级,每个四叉树分块以nXn网格划分格点;设在任意分块内,经度最小值为Lontl,最大值为Lon1,纟韦度最小值为Latci,最大值为Lat1,格点经度间隔为Loni,格点纬度间隔为Lati,经度方向格点数为LonNum,纬度方向格点数为 LatNum,则 LonfiXoni — Lon0) /LonNum, Lati= (Lat1 一 Lat0) /LatNum,对于在风场格点数据范围内的任意位置Pos`x(lonx, Iatx),其经向编号LonNo= [ (1nx-Lontl)/Loni],讳向编号LatNo^aatfLat^/Lati],式中符号[]表示取整;将所述风场格点数据存储于服务端,当客户端需要时通过时间与风场格点编号获取任意风场格点数据。
4.根据权利要求1所述的一种基于三维虚拟地球的风场可视化展示方法,其特征在于,在步骤三中,客户端根据数据时间与区域向服务端请求数据,数据时间由用户使用时间轴设置;数据区域由用户当前浏览区域确定,具体步骤为:首先由当前相机高度确定对应的四叉树数据加载等级,然后使用相机视景体与四叉树相交计算获取视野范围对应风场数据分块与格点行列范围,最后根据行列编号向服务端请求数据;客户端与服务端交互使用WCF数据服务,可根据网络环境需要选择连接方式。
5.根据权利要求1所述的一种基于三维虚拟地球的风场可视化展示方法,其特征在于,在步骤四中,风场可视化包括数据更新、视图更新和数据显示; I)数据更新过程包括格点数据更新与粒子更新;数据更新过程中使用的时间包括:数据更新时间t,对应数据采集时间,用于控制数据加载;粒子更新时间ti;即粒子系统更新粒子所使用的时间,用于控制粒子的运动;当1变化时,格点数据更新,当ti变化时,粒子风场系统更新; ` 1.1)格点数据更新:客户端浏览不同时间点风场时,根据浏览时间加载前后两个时间点的风场格点数据;设前一个时间点为td,后一个时间点为h,系统当前时间为t,设当前浏览的格点在格网中的编号为(LonNo,LatNo),该格点在两个时间点上的风速分别为Speed。、Speed1,则任意 t 满足 tQ < t < t1; t 时刻速度 SpeedT= (l_k) Speedc^kSpeed1,其中 k=t/(?^?ο);当系统没有新时间点数据时,速度SpeedT=SpeedQ ; .1.2)粒子更新:粒子更新过程包括粒子创建、粒子位置更新和边界检测; 粒子创建:根据粒子数量上限、限制边界、限制高度等预设参数与当前粒子分布等条件生成新的粒子,使粒子覆盖整个区域;粒子创建使用RenderToTexture技术,具体过程为:对应风场可视化区域定义一幅空白纹理;在随机渲染粒子的同时把粒子渲染到空白纹理的像素点上;在同一像素点重叠的粒子越多,像素灰度值越高;通过设置像素灰度阈值,仅在低于阈值像素对应空间区域生成粒子; 粒子位置更新:使用粒子系统展现风场可视化,粒子运动速度与方向由所在格点的风速与风向决定,粒子位置更新间隔由粒子更新时间\决定,当风场数据停止更新时,粒子将根据\继续更新;与风场格点相同,粒子系统采用WGS-84坐标系标注粒子坐标,但粒子位置变化使用世界坐标系计算:设粒子的初始WGS-84坐标为GeoPoS。(Lon。,Lat0, Alt0),地球半径为Re,则粒子的初始世界坐标WorldPosci (Xtl, y0, z0)为:
X0= (RE+Alt0) cosLat0cosLon0
y0= (RE+Alt0) cosLat0sinLon0
Z0= (RE+Alt0) SinLat0 设该粒子所在格点风向角为θ,风速为Speedx,粒子更新时间为ti;则新坐标WorldPos1 (X1, yu Z1)为:
X1=Xc^tiSpeedxSin ( Θ+180。)
Y1=Yc^tiSpeedxCos ( Θ+180° )
Z1=Z0
粒子的新 WGS-84 坐标 GeoPos1 (Lon1, Lat1, Alt1)为:

【文档编号】G06T15/00GK103606192SQ201310624667
【公开日】2014年2月26日 申请日期:2013年11月27日 优先权日:2013年11月27日
【发明者】廖福旺, 陈金祥, 陈强, 林承华, 林嘉, 梁曼舒 申请人:国家电网公司, 国网福建省电力有限公司, 国网福建省电力有限公司电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1