面向雷达极坐标数据绘制的异构加速方法和系统与流程

文档序号:27625450发布日期:2021-11-29 15:11阅读:94来源:国知局
面向雷达极坐标数据绘制的异构加速方法和系统与流程

1.本发明涉及图形绘制技术领域,具体地,涉及一种面向雷达极坐标数据绘制的异构加速方法和系统。


背景技术:

2.雷达数据绘制显示广泛应用于气象应用中,通常可以用来进行强对流天气大预警和预报。气象相控阵雷达性能强大,实时收集并记录大量数据,系统需要处理的数据越来越多,对实时性要求也越来越高。对于雷达数据的分析显示,通常要同时绘制分析多个雷达数据,例如对比同参量下不同的产品(降雨量分析、暴风分析、暴雨分析等),并且这些雷达绘制需要满足不同尺度层级下的实时性需求,雷达图绘制在地图上,需要根据地图尺度变化进行相应的缩放,尺度层级越大,地图越精细,雷达图片越大,绘制的时间越长,因此满足实时性要求的难度越大。目前绝大部分研究都面向复杂图形的绘制加速。由于气象数据的局限性,气象绘制方面的研究很少。
3.专利文献cn111369642a(申请号:cn202010175690.x)公开了一种雷达径向数据显示绘制方法和系统,通过上述公开的雷达径向数据显示绘制方法,在预先划分好区域的雷达极坐标系中找到当前径向数据所在区域,并根据不同的区域确定笛卡尔直角坐标系下的基准轴,再基于径向数据对应的径向角度,计算径向数据内每个像素点对应点距离库位置,最后对每个像素点填充距离库对应的颜色。然而该专利在面对复杂图形时,需要大量雷达数据,绘制的时间长,无法满足实时性要求。


技术实现要素:

4.针对现有技术中的缺陷,本发明的目的是提供一种面向雷达极坐标数据绘制的异构加速方法和系统。
5.根据本发明提供的面向雷达极坐标数据绘制的异构加速方法,包括:
6.步骤1:基于图形处理器gpu进行雷达绘制加速,将雷达产品数据计算解析成颜色对象的阈值数据,然后绘制显示在地图上;
7.步骤2:执行多层级图片缓存,在两次雷达数据扫描传输期间,后台计算当前显示产品预设层级以上的图片并缓存在本地,在分析查看时直接将缓存图片显示。
8.优选的,所述步骤1包括:
9.步骤1.1:根据像素坐标对应的象限得到该像素的方位角,再根据极坐标数据中的方位步长获取方位索引;
10.步骤1.2:先计算像素距离,再根据实际绘制的距离圈距离和比例尺计算实际距离,最后根据实际距离和极坐标数据中的库数以及库步长换算对应的库索引;
11.步骤1.3:根据方位索引和库索引映射数据。
12.优选的,在雷达数据中每0.5度存储坐标数据,因此像素的方位索引为方位角除0.5。
13.优选的,在计算实际距离时进行投影变换,所述距离圈距离为实际地球上的球面弧长,计算得到实际距离之后除以库步长,得到相应的库索引。
14.优选的,通过网格grid和线程块block二维变量计算雷达图片的像素点;
15.通过cudamalloc函数和cudamemcpy函数申请gpu内存,以及把雷达数据和颜色阈值传输到gpu上;
16.在雷达产品的不同层级缩放过程中,将变化的参量根据层级大小和图像半径重新申请内存并传输到gpu上,将对应颜色阈值以及雷达数据存放在gpu显存中。
17.根据本发明提供的面向雷达极坐标数据绘制的异构加速系统,包括:
18.模块m1:基于图形处理器gpu进行雷达绘制加速,将雷达产品数据计算解析成颜色对象的阈值数据,然后绘制显示在地图上;
19.模块m2:执行多层级图片缓存,在两次雷达数据扫描传输期间,后台计算当前显示产品预设层级以上的图片并缓存在本地,在分析查看时直接将缓存图片显示。
20.优选的,所述模块m1包括:
21.模块m1.1:根据像素坐标对应的象限得到该像素的方位角,再根据极坐标数据中的方位步长获取方位索引;
22.模块m1.2:先计算像素距离,再根据实际绘制的距离圈距离和比例尺计算实际距离,最后根据实际距离和极坐标数据中的库数以及库步长换算对应的库索引;
23.模块m1.3:根据方位索引和库索引映射数据。
24.优选的,在雷达数据中每0.5度存储坐标数据,因此像素的方位索引为方位角除0.5。
25.优选的,在计算实际距离时进行投影变换,所述距离圈距离为实际地球上的球面弧长,计算得到实际距离之后除以库步长,得到相应的库索引。
26.优选的,通过网格grid和线程块block二维变量计算雷达图片的像素点;
27.通过cudamalloc函数和cudamemcpy函数申请gpu内存,以及把雷达数据和颜色阈值传输到gpu上;
28.在雷达产品的不同层级缩放过程中,将变化的参量根据层级大小和图像半径重新申请内存并传输到gpu上,将对应颜色阈值以及雷达数据存放在gpu显存中。
29.与现有技术相比,本发明具有如下的有益效果:
30.(1)本发明通过并行计算雷达气象图上每个像素点对应的值来降低计算时间,提高实时性;
31.(2)本发明通过多尺度缓存技术,提前计算并保存产品对应的不同尺度的雷达图片,在切换不同尺度的雷达图片时,直接绘制本地缓存的对于尺度图片,可以减少计算量,提高性能。
附图说明
32.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
33.图1为雷达数据的极坐标存储方式。
具体实施方式
34.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
35.实施例:
36.根据本发明提供的面向雷达极坐标数据绘制的异构加速方法,包括如下步骤:
37.步骤1:基于gpu的雷达绘制加速
38.气象雷达产品绘制主要分为两部分,首先需要将雷达产品数据计算解析成颜色对象的阈值数据,其次绘制显示于地图之上。在这过程中,数据计算解析的时间是主要占比。因此本发明主要基于gpu设备加速雷达绘制的数据解析,并行计算雷达图上的每个像素点的颜色值。
39.雷达产品图大多是圆锥面的俯视平面图,以ppi(平面位置显示)为例,数据是极坐标方式存储的,在产品绘制时,需要做雷达数据的坐标转换。如图1所示,假设显示界面的画布大小为1001*1001,以画布中心为极坐标中心,那么中心的像素位置为(501,501),为方便理解,按象限概念将中心换算为(0,0),左上角换算位置为(

500,500),同理,左下为(

500,

500),右上为(500,500),右下为(500,

500),这样,每个像素相对于屏幕中心,即成立了笛卡尔坐标系。
40.方位角根据坐标处于不同象限可以直接计算获取,然后根据极坐标数据中的方位步长来获取方位索引;距离则是通过先计算像素距离,再根据实际绘制的距离圈距离或比例尺,来计算实际距离,再根据实际距离和极坐标数据中的库数以及库步长来换算对应的库索引,最后根据方位索引和库索引来映射数据。具体步骤如下:
41.步骤1.1:方位索引计算
42.方位角根据该像素坐标对应的象限,得到该像素的方位角,在雷达数据中每0.5度存储一条数据,因此该像素的方位索引为方位角除0.5。
43.步骤1.2:库索引计算
44.距离计算略微复杂,这是由于往常ppi产品的显示距离圈代表的其实是斜距,斜距换算非常简单粗暴,就是实际距离直接跟库步长换算出库索引。但现在由于叠加地形以及仰角更高的缘故,叠加显示时,仍以斜距代表距离会导致误解,此时距离圈代表的是实际地球上的距离,也就是球面弧长,距离计算时需要进行类似投影转换的换算。计算出距离之后,除以库步长,得到相应的库索引。
45.通过以上解析可以看出,每个像素点都要计算相应的方位索引以及距离索引,然后根据这两个值找到雷达数据中存储的对应颜色阈值,每个像素的计算是完全独立的,因此,本发明基于gpu加速该过程。计算以及绘制具体过程如下:
46.计算该尺度下雷达图片的像素点,通过grid和block二维变量,申请同样的gpu核数,一般情况下,gpu逻辑核数是足够的。cudamalloc以及cudamemcpy用来申请gpu内存以及把雷达数据以及颜色阈值等传输到gpu上,在gpu计算过程中gpu数据传输时间占比较重,因此减少传输时间是必要的。本发明通过分析雷达数据产品的显示发现,在产品绘制过程中,有很多数据是可以直接放在gpu上,不需要重复申请释放,例如,在产品的不同层级缩放过
程中,产品数据是不变的,因此重新绘制的时候,只需要将变化的参量如层级大小,图像半径等重新申请内存并传输到gpu上,相关的颜色阈值以及雷达数据可以一直存放在gpu显存中,直接读取,极大的减少了数据传输时间。
47.步骤2:多层级图片缓存策略
48.雷达图片绘制于地图之上,随着地图层级缩放而缩放,在地图层级较大的时候,雷达气象图的像素点会随之增加,计算时间也会增加。另外,在多幅气象图一起显示的时候,计算和绘制开销也会响应的增大。
49.在绘制的过程中,我们发现在图片层级大于10的时候,绘制的开销明显增加,因此我们只绘制屏幕显示部分,在每次拖拽的时候触发重绘操作,这样极大的减少了计算量。但是在多幅画一起联动拖拽的时候,开销仍然是比较大的。因此,本发明提出多层级图片缓存策略,在两次雷达数据扫描传输期间,大概有将近一分钟的空闲时间,此时,本发明可以在后台计算当前显示产品的10层级以上的图片并缓存在本地,在之后的分析查看中可以直接将缓存图片显示,去除了计算时间以及拖动期间的反复重绘操作,提高性能。
50.根据本发明提供的面向雷达极坐标数据绘制的异构加速系统,包括:模块m1:基于图形处理器gpu进行雷达绘制加速,将雷达产品数据计算解析成颜色对象的阈值数据,然后绘制显示在地图上;模块m2:执行多层级图片缓存,在两次雷达数据扫描传输期间,后台计算当前显示产品预设层级以上的图片并缓存在本地,在分析查看时直接将缓存图片显示。
51.所述模块m1包括:模块m1.1:根据像素坐标对应的象限得到该像素的方位角,再根据极坐标数据中的方位步长获取方位索引;模块m1.2:先计算像素距离,再根据实际绘制的距离圈距离和比例尺计算实际距离,最后根据实际距离和极坐标数据中的库数以及库步长换算对应的库索引;模块m1.3:根据方位索引和库索引映射数据。
52.在雷达数据中每0.5度存储坐标数据,因此像素的方位索引为方位角除0.5。在计算实际距离时进行投影变换,所述距离圈距离为实际地球上的球面弧长,计算得到实际距离之后除以库步长,得到相应的库索引。通过网格grid和线程块block二维变量计算雷达图片的像素点;通过cudamalloc函数和cudamemcpy函数申请gpu内存,以及把雷达数据和颜色阈值传输到gpu上;在雷达产品的不同层级缩放过程中,将变化的参量根据层级大小和图像半径重新申请内存并传输到gpu上,将对应颜色阈值以及雷达数据存放在gpu显存中。
53.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
54.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1