一种基于Leaflet的全球涡旋轨迹动态可视化方法

文档序号:28207152发布日期:2021-12-28 19:02阅读:570来源:国知局
一种基于Leaflet的全球涡旋轨迹动态可视化方法
一种基于leaflet的全球涡旋轨迹动态可视化方法
技术领域
1.本发明属于海洋观测技术领域,具体涉及一种基于leaflet的全球涡旋轨迹动态可视化方法。


背景技术:

2.中尺度涡旋在世界各大洋中广泛存在,其移动对全球物质和能量的运输起到十分重要的作用,对海洋中的环境和气候变化具有深远影响。近年来,随着卫星高度计和 argo 浮标等海洋观测技术的发展,中尺度涡旋的识别和追踪方法不断完善,国内外学者对涡旋移动规律的研究越来越多。目前涡旋移动规律的研究方法主要分为两类。第一类是基于涡旋轨迹进行观察统计分析:morrow 等人系统地研究了印度洋东南部、大西洋东南部和太平洋东北部的涡旋轨迹,并发现暖涡倾向于向赤道方向偏转,而冷涡倾向于向极地方向偏转;chelton等人发现涡旋主要向西移动,而在南极绕极流区域向东移动,但暖涡和冷涡的经向移动方向相反。第二类是运用人工智能方法对涡旋轨迹进行时空分析。du等人运用基于密度的轨迹时空聚类方法,对南海涡旋轨迹进行时空聚类分析,得到了涡旋典型移动模式的空间分布和时间特征。
3.可视化的方法有很多种,常见的三维矢量场可视化方法是流线跟踪、线积分卷积和体渲染;其基本原理是将流线从二维平面扩展到三维平面。常见的二维矢量场可视化方法有箭标法、纹理法和矢量线法。箭标法方法简单直观,但是当应用于大面积且方向混乱的区域,多则乱,少则无细节,因此,不适宜采样密集和变化突兀的矢量场;纹理法是当纹理中点的颜色按照一定的规则进行排列时,纹理就有了形状,能反映整个矢量场的结构,但是容易产生模糊和混淆;矢量线法利用空间中的曲线走向来描述矢量场。在矢量场中,流线上所有点的瞬时速度都与该线相切。迹线是在一个矢量场中,释放一个无质量的粒子,沿着它在流场中的运动轨迹所形成的矢量线。流线适合研究稳定场,迹线适合研究不稳定场,在稳定场中二者是重合的。空间上以流线的形式表现涡旋运动的瞬时特征,在时间上以轨迹的形式表现涡旋运动的连续特征,能够对涡旋运动的疏密,寿命和光滑度进行控制,直观且高效的展示矢量的各种特征。


技术实现要素:

4.本发明的目的是提供一种基于leaflet的全球涡旋轨迹动态可视化方法,以弥补现有技术的不足和实现全球涡旋轨迹动态可视化。
5.涡旋运动的研究方法主要是基于涡旋追踪数据集,根据全部涡旋的运动,综合分析涡旋的运动特征,主要基于区域分析,或者是对某些区域的个体涡旋的运动过程进行系统分析。而应用到全球层面时,只能观测到整体的运动趋势,而对于一下有明显的变化的微小区域不易察觉。因此,本发明联想到流场可视化的方法,对涡旋轨迹数据进行预处理,生成与流场可视化的数据格式一致的涡旋轨迹矢量场数据,联系海洋涡旋的运动特征,根据可视化的原则对涡旋轨迹矢量场数据处理,实现全球涡旋轨迹动态的可视化。
6.在传统涡旋运动分析中,大多数研究都依据目标涡旋的位置信息,独立地分析某一区域涡旋的整体运动趋势以及区域内单个涡旋的具体运动,但缺少对在全球涡旋运动趋势和运动细节变化上的研究。本发明计算出每个分辨率网格上的涡旋平均运动方向和速度,从而得到精细化的涡旋运动特征;然后在二维平面上初始化涡旋的位置,定义涡旋的分布密度和生命周期;再根据涡旋所在网格内的运动方向和速度,采用龙格库塔函数,计算涡旋运动到的下一个位置;如此迭代计算,最后以流线的形式显示涡旋的运动轨迹。本发明旨在基于全球

区域层面综合观测涡旋的运动,以流线的形式来表示涡旋的运动方向。
7.本发明在流场可视化的基础上提出了涡旋轨迹动态可视化方法,将所有涡旋的平均运动,利用四阶龙格库塔积分函数计算涡旋的运动方向;在空间上以流线的形式表现涡旋运动的瞬时特征,在时间上以轨迹的形式表现涡旋运动的连续特征,并且能够对涡旋运动的疏密,寿命和光滑度进行控制,直观且高效的展示矢量的各种特征。
8.基于上述原理,为了实现上述目的,本发明采用的具体技术方案如下:一种基于leaflet的全球涡旋轨迹动态可视化方法,该方法包括以下步骤:(1)生成涡旋运动数据:通过提取涡旋的相关信息(提取涡旋寿命以及其每一天所在的经纬度),进行网格化处理,计算涡旋运动方向、速度,生成涡旋运动方向矢量场数据和涡旋运动速度场数据;(2)计算涡旋的运动路径(轨迹):首先初始化涡旋参数,再利用四阶龙格库塔函数计算涡旋运动位置,通过迭代计算生成涡旋轨迹;(3)绘制不同层次的涡旋动态轨迹:计算涡旋寿命,并将涡旋的寿命按照颜色的透明度进行分级,存于数组中;(4)涡旋轨迹动态显示:多线程计算(3)生成涡旋轨迹,通过基于leaflet的vectorfield可视化类绘制涡旋轨迹并逐步渲染形成数据图层,即完成可视化;(5)对上述得到的涡旋运动轨迹动态进行可视化分析。
9.进一步的,所述步骤(1)中对全球至少20年的涡旋追踪数据集进行预处理,具体为:(a)提取涡旋的相关信息;对涡旋追踪数据集中的每一条涡旋分别提取寿命以及其每一天所在的经纬度;(b)涡旋信息网格化;设置二维平面的网格分辨率为1
°×1°
,将涡旋从第n天到第n+1天的位置变化看做一条直线a,计算直线a所经过的网格,确定直线a与每一个所经过网格的交点;(c)计算涡旋运动方向;根据直线与网格的两个交点,计算涡旋在每一个网格的运动方向,运动方向在0
°‑
360
°
之间,其中正北方向为0
°
,该运动方向即为直线a所经过的对应网格的运动方向;(d)计算涡旋运动速度;直线a的距离代表涡旋每一天的运动位移,因此,将直线a的距离代表涡旋在第n天到第n+1天的运动速度,并将该速度即为直线a所经过网格的速度;(e)生成涡旋运动方向矢量场数据;将c)中计算的每个网格上的运动方向求平均,即可得平均运动方向,并根据平均运动方向计算正余弦角,正弦角定义为u分量,余弦角定义为v分量,即为涡旋运动方向矢量场数据;(f)生成涡旋运动速度场数据;将d)中计算的每个网格上的运动速度求平均,即可
取得涡旋运动速度场数据。
10.进一步的,所述步骤(2)具体为:(a)初始化涡旋参数;在二维平面上初始化涡旋的位置,定义涡旋的分布密度、生命周期、运动轨迹颜色、流线透明度等参数。
11.(b)计算涡旋运动位置;根据涡旋所在网格的运动速度和方向,如果在当前网格中没有涡旋的运动速度,则停止运动,该位置将重新随机生成新的涡旋;否则,通过四阶龙格库塔函数确定涡旋的下一个位置的坐标,并根据所求的坐标确定涡旋新位置所在的网格;(c)生成涡旋轨迹;依据涡旋的生命周期,确定涡旋运动的次数,迭代计算涡旋运动位置,直至涡旋停止运动,将每次计算的涡旋运动的位置连接为一条轨迹即涡旋轨迹。
12.进一步的,所述步骤(3)具体为:(a)计算涡旋寿命;根据涡旋运动的次数决定涡旋的寿命,涡旋运动一次,涡旋所走过的位置上的寿命就会加一;(b)轨迹颜色分级;将涡旋的寿命按照颜色的透明度进行分级,并存在数组中,数组的每一项对应的颜色即为涡旋在此寿命的颜色,寿命越长,涡旋轨迹颜色越浅。
13.进一步的,所述步骤(4)具体为:(a)轨迹多线程生成;计算出合理的线程数量k,根据初始化定义的涡旋总数n,计算出每个线程所分配的涡旋数量n/k,构建多线程,并向多线程传递涡旋运动矢量数据,进而实现涡旋轨迹同时生成;(b)轨迹绘制;实时判断所有涡旋的轨迹是否已经全部生成,如果未生成,则不进行绘制;否则,将涡旋轨迹数据返回到可视化类中,并根据涡旋轨迹上计算的涡旋位置及其寿命绘制涡旋轨迹;(c)轨迹渲染;根据涡旋轨迹在当前位置和下一位置的涡旋寿命获取到相应的颜色值,并对这一区间的涡旋轨迹进行颜色渲染;(d)实现界面可视化;提取全球地图,将全球地图的经纬度与涡旋轨迹图层的经纬度进行匹配,从而实现在全球地图上加载绘制渲染后的涡旋轨迹图层。
14.进一步的,所述步骤(5)具体为:(a)涡旋分为暖涡和冷涡;分别对冷涡和暖涡的涡旋轨迹数据按照上述(1)

(4)的步骤进行处理,从而实现暖涡和冷涡的轨迹可视化;(b)区域涡旋运动轨迹动态可视化;选取待放大的区域,此时需要放大区域的范围坐标将会进行处理,在范围坐标内重新初始化涡旋参数,按照上述(2)

(3)的步骤进行处理,从而使区域涡旋运动轨迹的动态可视化。
15.本发明的优点和有益效果:(1)将涡旋运动与可视化原理相结合,实现了涡旋运动轨迹的动态化显示。
16.(2)传统的涡旋轨迹运动分析是依据涡旋的平均运动方向,只能宏观的观测涡旋轨迹的运动方向,而采用可视化的方法,可以看到涡旋轨迹运动的细节,并且能在一些地方发现涡旋是回旋运动的。
17.(3)此可视化方法是结合涡旋轨迹的运动方向和运动速度进行分析,可以在可视化界面看到涡旋在不同地方运动的差异,相比涡旋速度为密度场来分析涡旋,更加直观。
18.(4)根据涡旋的运动方向,可以在宏观上分析涡旋的运动情况,对全球涡旋运动的
研究具有极其重要的参考价值。
19.(5)利用本发明,能够观测到全球的整体运动趋势,又能够放大区域,观测区域的微小变化;更加直观的分析全球涡旋的运动趋势,对于一些细节变化,也可以通过放大区域来看涡旋的运动。
20.本发明在流场可视化效果的基础上,提出了涡旋轨迹动态可视化算法。与传统分析涡旋轨迹运动的方法相比,能够更加直观的看到整体的涡旋运动以及一些涡旋运动的细节部分,为基于全球角度的涡旋运动和各种环境因素之间相互关系的系统分析和研究奠定基础。
附图说明
21.图1基于leaflet的全球涡旋轨迹动态可视化方法流程图。
22.图2 全球暖涡(ae)的轨迹动态可视化图。
23.图3 全球冷涡(ce)的轨迹动态可视化图。
24.图4 涡旋轨迹动态局部放大图。
具体实施方式
25.以下通过具体实施例并结合附图对本发明进一步解释和说明。
26.实施例1:将20年涡旋运动数据生成运动方向矢量场和速度场数据。在全球范围内随机生成初始化涡旋,将密集分布的初始化涡旋,随着涡旋轨迹运动方向矢量场运动,通过涡旋轨迹运动速度控制初始化涡旋的运动速度,通过积分将初始化涡旋扩展为流线;最后根据初始化涡旋运动所经过的网格数更改流线的颜色深浅,通过不同细节层级的流线来实现全球涡旋轨迹动态可视化。
27.参见图1,一种基于leaflet的全球涡旋轨迹动态可视化方法,其具体步骤为:1.涡旋运动数据生成。对全球20年的涡旋追踪数据集进行预处理,具体为:(1)涡旋信息网格化。设置二维平面的网格分辨率为1
°×1°
,在全球有180
×
360个网格,将涡旋从第n天()到第n+1天()的位置变化看做一条直线a,计算直线a所经过的网格,确定直线a与每一个所经过网格的交点。
28.(2)计算涡旋运动方向。根据直线与网格的两个交点坐标,计算涡旋在每一个网格的运动方向,运动方向在0
°‑
360
°
之间,其中正北方向为0
°
,该运动方向即为直线a所经过的对应网格的运动方向。其中运动方向计算公式为:(3)计算涡旋运动速度。直线a的距离代表涡旋每一天的运动位移,因此,将直线a的距离代表涡旋在第n天到第n+1天的运动速度,并将该速度即为直线a所经过网格的速度,其中速度计算:
(4)生成涡旋运动方向矢量场数据。将(2)中计算的每个网格上的运动方向求平均,即可得平均运动方向,并根据平均运动方向计算正余弦角,正弦角定义为u分量,余弦角定义为v分量,即为涡旋运动方向矢量场数据。定义为v分量,即为涡旋运动方向矢量场数据。
29.其中是在(x,y)网格中的每一个涡旋的平均运动方向,n为过该网格的涡旋轨迹数量。
30.(5)生成涡旋运动速度场数据。将(3)中计算的每个网格上的运动速度求平均,即可取得涡旋运动速度场数据。
31.(6)将生成的数据存储,具体如表1:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
表1 涡旋运动速度场数据表其中lon为全球经度的分布,参数数值是根据在全球范围内(0
°‑
360
°
之间)以1
°
为分辨率获取的;lat为全球纬度的分布,参数数值是根据在全球范围内(

90
°‑
90
°
之间)以1
°
为分辨率获取的。在全球范围(0
°‑
360
°


90
°‑
90
°
)的二维平面上,以1
°×1°
的分辨率生成的二维数据。u分量为涡旋在维度方向上的运动分量,参数数值是根据涡旋在1
°×1°
网格内计算的运动方向在纬度方向的分量;v分量为涡旋在经度方向上的运动分量,参数数值是根据涡旋在1
°×1°
网格内计算的运动方向在经度方向的分量;speed代表涡旋运动速度,参数数值是根据涡旋在1
°×1°
网格内计算的运动速度所决定的。
32.2. 计算涡旋运动的位置。
33.(1)初始化涡旋参数,在二维平面上初始化涡旋的位置。即生成一个初始数组,数组中存储每一个涡旋的初始经纬度,并定义涡旋的生命周期为50,运动轨迹颜色为白色,涡旋轨迹宽度为1.2,透明度为0.99,并且定义当每个涡旋轨迹寿命为20时,涡旋轨迹则消失。
34.(2)计算涡旋运动位置。根据涡旋所在网格的运动速度和方向,如果当前网格的运动速度为0,则停止运动,该位置将重新随机生成新的涡旋;否则,通过四阶龙格库塔函数确定涡旋的下一个位置的坐标,并根据所求的坐标确定涡旋新位置所在的网格。四阶龙格库塔函数是使用四个斜率的加权平均来计算涡旋的下一个位置,根据运动时间构造步长流线,能够准确的拟合真实的涡旋运动轨迹。其公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
ꢀꢀꢀꢀ
(5)其中为四个斜率,而h是涡旋在这个位置的运动距离。
35.(3)生成涡旋轨迹。依据涡旋的生命周期,确定涡旋运动的次数,迭代计算涡旋运动位置,若涡旋所在位置上的运动速度为0,或涡旋起点的寿命为50,则涡旋停止运动。停止运动后将每次计算涡旋运动的位置连接为一条轨迹,即为涡旋轨迹。
36.(4)重新生成新涡旋。步骤(2)定义的当每个涡旋轨迹寿命为20时,涡旋轨迹则消失,每当该位置的涡旋轨迹消失时,则在该位置重新生成一个新的涡旋,涡旋的运动则迭代上文中的(1)

(4)。
37.3. 绘制不同层次的涡旋动态轨迹,具体为:(1)计算涡旋寿命。根据涡旋运动的次数决定涡旋的寿命,涡旋运动一次,涡旋所走过的位置上的寿命就会加一。
38.(2)轨迹颜色分级。将涡旋的寿命按照颜色的透明度进行分级,并存在数组中,数组的每一项对应的颜色即为涡旋在此寿命的颜色。寿命越长,涡旋轨迹颜色越浅,直至每个涡旋轨迹寿命为20时,涡旋轨迹则消失。
39.4. 生成不同细节层次的涡旋运动轨迹。
40.(1)计算涡旋寿命;根据涡旋运动的次数决定涡旋的寿命,涡旋运动一次,涡旋所走过的位置上的寿命就会加一;(2)轨迹颜色分级;将涡旋的寿命按照颜色的透明度进行分级,并存在数组中,数组的每一项对应的颜色即为涡旋在此寿命的颜色,寿命越长,涡旋轨迹颜色越浅;(3)因此,可以生成不同运动速度、运动方向以及颜色变化的涡旋运动轨迹。白色流线代表涡旋的运动轨迹,随着涡旋的运动,涡旋的寿命增加,轨迹颜色逐渐变浅,直至消失。
41.5. 涡旋轨迹动态显示(1)轨迹多线程生成。首先,检测机器硬件配置,计算出合理的线程数量k,根据初始化定义的涡旋总数n,计算出每个线程所分配的涡旋数量n/k,构建多线程,并向多线程传递涡旋运动矢量数据,进而实现涡旋轨迹同时生成;(2)轨迹绘制。实时判断所有涡旋的轨迹是否已经全部生成,如果未生成,则不进行绘制;否则,将涡旋轨迹数据返回到可视化类中,并根据涡旋轨迹上计算的涡旋位置及其寿命绘制涡旋轨迹;(3)轨迹渲染。将涡旋轨迹的颜色划分为50类,根据当前位置的涡旋寿命获取到相应的颜色值,并对涡旋轨迹进行颜色渲染;(4)实现界面可视化。提取全球地图,将全球地图的经纬度与涡旋轨迹图层的经纬度进行匹配,从而实现在全球地图上加载绘制渲染后的涡旋轨迹图层。
42.6.涡旋运动轨迹动态可视化分析。
43.(1) 涡旋轨迹可视化分析。暖涡涡旋轨迹可视化如图2所示,冷涡旋轨迹可视化如图3所示。根据冷涡和暖涡的涡旋轨迹可视化图,可以发现暖涡与冷涡的主要运动特征是相
似,在南大洋区域是西向运动;在赤道附近是东向运动,且具有向赤道性;在北纬60
°
附近沿着陆地西向运动。可以更好的分析全球涡旋主要的运动趋势。
44.区域涡旋运动轨迹动态可视化分析。澳大利亚附近的区域涡旋轨迹运动放大效果如图4所示。在全球范围内可以看到此区域的涡旋有东向和西向运动,但是其具体细节看不出来;通过放大区域,可以发现涡旋在澳大利亚沿岸是南向运动,在澳大利亚下面的小岛附近的涡旋其运动方向多变。通过区域放大,可以发现在全球涡旋轨迹可视化中所没有看到的细节,更好的分析涡旋的运动特征和细节变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1