一种矢量切片地图高效渲染方法及装置与流程 您所在的位置:网站首页 切片装置空间 一种矢量切片地图高效渲染方法及装置与流程

一种矢量切片地图高效渲染方法及装置与流程

2024-07-04 12:21| 来源: 网络整理| 查看: 265

一种矢量切片地图高效渲染方法及装置与流程

本发明涉及gis、数字孪生领域,具体提供一种矢量切片地图高效渲染方法及装置。

背景技术:

1、矢量切片地图是一种基于地理数据矢量切片的web地图渲染方式,区别于传统的栅格切片地图,矢量切片中的要素数据以矢量形式存储,因此矢量切片地图具有地图要素无损缩放、地图样式配置灵活的特性。mvt(mapbox vector tiles)是当前较为通用的一种矢量切片数据规范,属于开放地理空间信息联盟的矢量切片标准规范之一。

2、mvt矢量切片的实际应用中,往往因切片数据量过大、几何要素个数过多等因素,导致矢量切片地图渲染时间过长、渲染过程中浏览器内存占用过多等问题,严重影响矢量切片地图用户的使用体验。

技术实现思路

1、本发明是针对上述现有技术的不足,提供一种实用性强的矢量切片地图高效渲染方法。

2、本发明进一步的技术任务是提供一种设计合理,安全适用的矢量切片地图高效渲染装置。

3、本发明解决其技术问题所采用的技术方案是:

4、一种矢量切片地图高效渲染方法,具有如下步骤:

5、s1、获取渲染当前地图所需mvt矢量切片,解析mvt矢量瓦片中需要被渲染的linestring类型几何要素数据;

6、s2、将本次渲染所需的所有linestring几何要素数据按照不同的样式信息,分别以“线段首尾相连”的方式拼接为一条linestring类型几何要素数据,并在拼接过程中分别记录linestring类型几何要素数据的拼接索引位置与要素样式信息;

7、s3、地图渲染过程中运用拼接索引位置信息,分别完成不同样式信息的、拼接后的linestring类型几何要素数据的渲染。

8、进一步地,在步骤s1中,包括:

9、s101、获取mvt矢量切片的请求地址;

10、s102、获取各切片中linestring类型几何要素;

11、s103、解析出linestring几何要素的真实经纬度位置或投影坐标位置。

12、进一步地,在步骤s101中,根据当前地图视角,获取地图渲染所需的切片行列号(x、y)、层级zoom信息,生成mvt矢量切片的请求地址。

13、进一步地,在步骤s102中,将mvt矢量切片的请求地址存入请求队列中,当请求队列中所有的mvt矢量切片完成请求后,获取各切片中的linestring类型几何要素。

14、进一步地,在步骤s103中,根据各切片的行列号、层级与切片要素投影信息、解析出linestring几何要素的真实经纬度位置或投影坐标位置。

15、进一步地,在步骤s2中,包括:

16、s201、将全部linestring几何要素解析结果按照要素样式信息进行重新组合,假设全部mvt矢量切片中linestring几何要素的样式类型数量为n,则样式相同的linestring几何要素分别存入对应的样式队列qn之中;

17、s202、从样式队列qn的linestring几何要素i中,依次取出位置点p存入位置队列pn中,每次几何要素i完成存入,则记录位置队列pn的长度为lm;如果i为样式队列qn中的最后一条linestring几何要素,则向索引队列dn存入lm-1,否则向索引队列dn存入lm-1、lm;

18、s203、按照上述步骤s202的操作流程,依次处理全部n个样式队列qn,分别得到对应的位置队列pn、索引队列dn;

19、进一步地,在步骤s3中,包括:

20、s301、向渲染样式队列qn的顶点着色器中传入位置队列pn、索引队列dn;

21、s302、弹出索引队列dn中队首的前两项索引,分别定义为d0、d1,获取位置队列pn的位置点pj,其中j为位置点pj在位置队列pn中的索引;

22、s303、当j=0时,定义pj的前一位置点为pj+(pj–pj+1),pj的后一位置点为pj+1;当j=lm-1时,定义pj的前一位置点为pj-1,pj的后一位置点为pj;

23、s304、当j>d0且jd1时,再次从索引队列dn中队首弹出前两项索引,分别定义为d0、d1,获取位置pj,再次执行步骤s303,直至索引队列dn为空时,设置剩余的设pj的前一位置点为pj-1,pj的后一位置点为pj+1;

28、s306、使用未跳过的位置点pj及pj的前一位置点、后一位置点,绘制linestring;

29、当pj的下一位置点等于pj时,webgl不制作绘制linestring所需的矩形的顶点索引,否则,使用webgl绘制由pj、pj+1构成的矩形,实现对样式队列qn中linestring类型几何要素的绘制;

30、s307、重复步骤s301至步骤s302,直至完成所有n个样式队列的绘制。

31、一种矢量切片地图高效渲染装置,包括:至少一个存储器和至少一个处理器;

32、所述至少一个存储器,用于存储机器可读程序;

33、所述至少一个处理器,用于调用所述机器可读程序,执行一种矢量切片地图高效渲染方法。

34、本发明的一种矢量切片地图高效渲染方法及装置和现有技术相比,具有以下突出的有益效果:

35、本发明相较于传统绘制矢量切片地图的方法,在一次性绘制超百万级别的线要素数据的过程中,减少了浏览器内存空间的损耗,降低了浏览器内存溢出的风险。

36、通过索引优化的方式,可实现对mvt矢量切片复杂线要素类型的拼接合并,减少了webgl的总体绘制次数,提升了地图画面的渲染效率。

技术特征:

1.一种矢量切片地图高效渲染方法,其特征在于,具有如下步骤:

2.根据权利要求1所述的一种矢量切片地图高效渲染方法,其特征在于,在步骤s1中,包括:

3.根据权利要求2所述的一种矢量切片地图高效渲染方法,其特征在于,在步骤s101中,根据当前地图视角,获取地图渲染所需的切片行列号(x、y)、层级zoom信息,生成mvt矢量切片的请求地址。

4.根据权利要求3所述的一种矢量切片地图高效渲染方法,其特征在于,在步骤s102中,将mvt矢量切片的请求地址存入请求队列中,当请求队列中所有的mvt矢量切片完成请求后,获取各切片中的linestring类型几何要素。

5.根据权利要求4所述的一种矢量切片地图高效渲染方法,其特征在于,在步骤s103中,根据各切片的行列号、层级与切片要素投影信息、解析出linestring几何要素的真实经纬度位置或投影坐标位置。

6.根据权利要求5所述的一种矢量切片地图高效渲染方法,其特征在于,在步骤s2中,包括:

7.根据权利要求6所述的一种矢量切片地图高效渲染方法,其特征在于,在步骤s3中,包括:

8.一种矢量切片地图高效渲染装置,其特征在于,包括:至少一个存储器和至少一个处理器;

技术总结本发明涉及GIS、数字孪生领域,具体提供了一种矢量切片地图高效渲染方法及装置,具有如下步骤:S1、获取渲染当前地图所需MVT矢量切片,解析MVT矢量瓦片中需要被渲染的LineString类型几何要素数据;S2、将本次渲染所需的所有LineString几何要素数据按照不同的样式信息,分别以“线段首尾相连”的方式拼接为一条LineString类型几何要素数据,并在拼接过程中分别记录LineString类型几何要素数据的拼接索引位置与要素样式信息;S3、地图渲染过程中运用拼接索引位置信息,分别完成不同样式信息的、拼接后的LineString类型几何要素数据的渲染。与现有技术相比,本发明能够减少浏览器内存空间的损耗,降低浏览器内存溢出的风险。

技术研发人员:高国强,柴青,崔维康,蒋萌,刘晓宇受保护的技术使用者:浪潮智慧城市科技有限公司技术研发日:技术公布日:2024/6/30



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有