一种基于WebGIS的气象格点数据分片展示方法与流程

文档序号:35206236发布日期:2023-08-22 18:01阅读:120来源:国知局
一种基于WebGIS的气象格点数据分片展示方法与流程

本发明属于基于webgis的气象格点数据分片展示方法,具体涉及一种基于webgis的气象格点数据分片展示方法。


背景技术:

1、格点数据是气象行业主要的数据格式之一,色斑作为格点数据最常见的展示形式,其可视化展示也是webgis平台重要的功能。传统的格点数据可视化技术往往先通过服务端渲染格点数据至图片文件,然后采用webgis平台直接加载显示。这种方法虽然实现简单,但是存在大量数据传输缓慢、占用服务端资源、可视化产品无法交互等弊端,导致无法满足交互分析的需求并且使用体验感较差。因此,设计一种具有高交互性、高性能的海量格点数据实时渲染技术具有十分重要的意义。

2、格点数据可视化的核心在于数据的处理与渲染。在数据处理方面,主流的方式是将指定空间范围内的气象信息按特定的分辨率处理成格点形式,并保存为json、nc、灰度图等格式的文件进行数据存储与传输,当面对由于大空间范围及高分辨率导致数据量庞大的情况,这种数据处理方法会导致数据传输缓慢,严重影响可视化效率。

3、格点数据渲方面,传统的图片加载方式无法提供颜色修改、格点数值修改等交互分析操作,因此,需要一种对格点数据进行实时渲染绘制的方法。目前常见的实时渲染实现方式是利用canvas绘图技术结合等值面生成算法进行格点色斑展示,首先通过等值面计算方法对格点数据进行处理并生成闭合等值面轮廓线拐点坐标集合,并依次对生成的结果进行空间裁剪操作,将裁剪结果进行渲染绘制。这种方法在实现上较为容易,但是当面对由于数据量庞大、色例过多因素导致等值面过多的情况时,会导致色斑渲染缓慢并出现系统卡顿等问题,影响使用体验。


技术实现思路

1、本发明的目的是为了解决现有技术中存在数据方面,由于大空间范围及高分辨率会造成数据量十分庞大,导致在webgis平台中进行渲染时,数据的请求效率低下并且占用缓存资源,不利于系统使用的缺点,而提出的一种基于webgis的气象格点数据分片展示方法。该基于webgis的气象格点数据分片展示方法采用数据分片的形式对格点数据进行处理与存储,同时加入了数据抽稀机制,对数据进行分级抽稀处理以提升传输效率并减少缓存占用。在格点渲染方面,采用webgl渲染技术进行格点数值的可视化展示。

2、为了实现上述目的,本发明采用了如下技术方案:

3、设计一种基于webgis的气象格点数据分片展示方法,具体包括如下步骤:

4、步骤1)、计算标准分辨率:据谷歌地图标准比例尺,建立标准比例尺级别及相应的格点数据分辨率;

5、步骤2)、格点数据重采样:根据当前格点的实际分辨率,选取最相近的标准比例尺级别,进行格点数据的重采样生成新的标准比例尺格点数据;

6、步骤3)、生成多层抽稀数据并建立索引:用均值池化的方法,依次对每一比例尺级别进行数据的抽稀处理,并记录每一数据切片的比例尺级别、行数及列数作为数据的索引;

7、步骤4)、计算展示空间范围:利用webgis平台,计算窗口展示的实际空间范围,包括最小经度、最大经度、最小纬度、最大纬度及当前地图比例尺等信息;

8、步骤5)、计算所需切片数据索引:根据实际空间范围、数据分片规则以及每一分片数据的空间信息,计算出所需切片数据的索引;

9、步骤6)、分片数据异步请求:web端通过异步的方式,进行数据请求,提升数据传输效率;

10、步骤7)、webgl数据渲染:采用webgl渲染方法进行格点数据的实时渲染;建立画布及webgl上下文,根据数据的空间信息建立顶点着色器,然后根据色例等样式信息进行片元着色器的建立,同时,添加双线性插值方法以进行格点数据的平滑处理;

11、步骤8)、webgis平台展示:在webgis平台上将所渲染的图像进行加载展示。

12、进一步的,在步骤3)中,所述均值池化算法,具体包括如下步骤:

13、步骤31)、根据所需级别与当前数据级别计算所需池化窗口的大小;

14、步骤32)、将格点数据划分为大小为池化窗口的子区域;

15、步骤33)、对于每个子区域,计算所有格点的平均值,并将该平均值作为子区域的新数值;

16、步骤34)、将所有子区域的新数值合并成一个新的格点。

17、进一步的,在步骤3)中,数据分辨率与抽稀级别的计算方式如下:

18、   (1)

19、式(1)中,res是不同级别下的数据分辨率,res是地图的最高级别的瓦片分辨率,为156543.033928;n是抽稀级别。

20、进一步的,在步骤5)中,切片数据索引的具体步骤如下:

21、步骤51)、将平面空间递归地分割成四个象限,每个象限对应着一个子节点;

22、步骤52)、然后将子节点再继续递归地分割,直到分割至实际格点数据标准比例尺为止;

23、步骤53)、提取每一数据切片的比例尺级别、行数及列数作为唯一标识,即为数据分片的索引。

24、进一步的,在步骤7)中,所述webgl渲染方法包括如下步骤:

25、步骤71)、数据处理,提取数据的空间范围信息,包括最小经度、最小纬度、最大经度、最大纬度、当前窗口范围、画布尺寸等参数;

26、步骤72)、结合webgis平台,构建画布,提取上下文信息;

27、步骤73)、构建顶点着色器,其中记录了格点数据的空间信息;

28、步骤74)、构建片元着色器,根据空间信息、渲染样式进行数据渲染。

29、进一步的,在步骤74)中,所述渲染样式包括色斑的色例信息。

30、进一步的,在进行格点数据中,添加双线性插值方法以进行格点数据的平滑处理,所述双线性插值方法包括如下步骤:

31、步骤a)、取坐标(x,y)的四方向格点数值,四方向及坐标分别为左上(x1,y1)、右上(x2,y1)、左下(x1,y2)及右下(x2,y2),它们的值分别为f(x1,y1)、f(x2,y1)、f(x1,y2)及f(x2,y2);

32、步骤b)、对上方及下方左边位置按如下公式进行线性插值:

33、  (2)

34、  (3)

35、式(2)和(3)中,f(x,y1),f(x,y2)分别为上方及下方坐标插值后的数值;

36、步骤c)、获取当前坐标值f(x,y),计算如下:

37、  (4)

38、式(4)中,f(x,y)为前坐标值。

39、本发明提出的一种基于webgis的气象格点数据分片展示方法,有益效果在于:本发明通过对气象格点数据、展示形式及渲染过程的分析,总结出了数据处理与实时渲染的核心问题。在数据处理方面,本发明结合实际使用场景,结合地图比例尺进行了数据的多级抽稀,即减少了数据的传输量,又保留了数据的完整性,同时,提出了数据的分片处理及索引建立方法,减少了冗余数据的传输,进一步提升了数据的传输效率。在数据渲染方面,采用webgl这一高效的渲染方法,并通过双线性插值方法对数据进行平滑操作,提升了数据的展示效果,同时,考虑到数据分片的特性,使用异步请求渲染的方式,解决了分片数据不同时展示的问题。具体地:

40、(1)、本发明采用多比例尺数据抽稀:

41、数据量庞大影响传输效率,需要对数据进行抽稀操作以降低其数据量,但单一的抽稀会在一定程度上导致信息的丢失。考虑到webgis在展示数据时,不同比例尺下对数据展示的精细度程度有所不同,因此,需要将分片数据根据不同比例尺进行抽稀,既可以保证数据在大空间范围与小比例尺下的快速传输又能使得在小空间范围与大比例尺下,保留数据信息的完整性。

42、(2)、本发明采用格点数据分片处理及索引建立:

43、由于在实际展示过程中,窗口中所显示的空间范围往往小于数据的实际空间范围,因此,在数据可视化过程中,仅需要部分数据即可,数据的全量传输会导致大量的数据冗余,严重影响传输效率。对数据的切片处理可以有效的解决此问题,其原理为将数据根据空间位置进行大量拆分,根据渲染所需的范围,传输相应的数据。在数据分片处理的过程中,需要建立一套数据与空间位置的计算规则,并建立索引,以便数据的传输。

44、3)、本发明采用格点数据实时渲染:

45、webgl是一种较为底层的web端渲染方式,通过建立顶点着色器与片元着色器来控制屏幕进行渲染展示。简单的格点数据渲染往往会导致色斑图像成方块矩阵状,美观性较差,因此需要对其进行平滑处理以提高可视化效果。

46、4)、本发明采用分片格点数据同时展示:数据分片带来了数据传输效率的提升,但是由于传输时间有所差异,先到的数据会提前渲染展示,导致色斑不能同时展示,影响效果,而使用异步请求渲染的方式,解决了分片数据不同时展示的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1