一种基于多层缓存的矢量瓦片实时切片和更新方法与流程

文档序号:33822299发布日期:2023-04-19 20:01阅读:175来源:国知局
一种基于多层缓存的矢量瓦片实时切片和更新方法与流程

本发明涉及空间信息进行分析和处理,具体涉及一种基于多层缓存的矢量瓦片实时切片和更新方法。


背景技术:

1、随着计算机技术、网络技术、地图制图技术的快速发展,电子地图的表达方式越来越多样化。电子地图的应用已经不仅仅局限于地图浏览、缩放、查询等,各机关、企事业单位、社会公众对海量数据的快速显示、动态更新、样式可定制等方面的需求也越来越丰富。作为对栅格瓦片的扩展,矢量瓦片直接存储矢量要素的空间与属性信息,且瓦片数据量小、渲染速度快,能较好地满足用户的动态交互需求,为电子地图的应用提供了一个新的解决思路。

2、但是现有技术存在以下的技术问题:

3、1)栅格瓦片更新效率低。数据或样式发生改变时,栅格瓦片需要更改地图配图方案重新切片,且每次切片耗时较长。整个处理过程消耗至少48小时以上。

4、2)栅格瓦片占用存储空间大。数据经切片后存储大幅增长。一份3.3gb的全国范围河流数据经切片16级后产生的瓦片数据量约54gb。

5、3)栅格瓦片交互能力不足。栅格瓦片本质是图片,客户端依据瓦片无法进行查询分析,实时查询需要反复地向服务器发送请求。

6、4)矢量地图服务客户端效率低下。矢量地图服务的加载方式和渲染方式使得客户端浏览效率低、渲染延迟。

7、在数据整合、融合的背景下,水利部数据类别越来越丰富、数据体量越来越大,传统栅格瓦片服务已经不能很好地满足服务快速更新、前端实时交互的需求,矢量地图服务的浏览效率等技术瓶颈也实现不了良好的用户体验,为此亟须开展数据服务更新、前端交互技术的方法探索,提高数据应用服务效率,优化用户体验。


技术实现思路

1、针对现有技术的不足,本发明的目的是提供一种基于多层缓存的矢量瓦片实时切片和更新方法,在矢量瓦片的存储与提取上,采用基于内存数据和非关系型数据的多层缓存机制,以解决大数据量的矢量瓦片更新效率低,操作复杂,无法即时发布的问题。

2、具体的技术方案:

3、一种基于多层缓存的矢量瓦片实时切片和更新方法,包括以下步骤:

4、s1、根据输入的地图范围在空间数据库中进行检索,判断其中是否涉及数据更新,并将更新数据的完整几何形状返回最小外包矩形,生成相应矢量瓦片;

5、s2、根据生成矢量瓦片的请求范围建立检索标识,并通过检索标识检索内存数据库,若存在该检索标识对应的矢量瓦片数据则返回检索结果,若不存在则检索非关系数据库;若在非关系数据库中存在则将其载入缓存并返回检索结果,否则进入步骤s3;

6、s3、当内存数据库与非关系数据库皆不存在检索标识对应的矢量瓦片数据时,调用矢量瓦片切片工具实时生成矢量瓦片,将生成的矢量瓦片存入内存数据库或非关系数据库中,并建立文件索引,同时返回矢量瓦片。

7、进一步的,步骤s1中所述生成矢量瓦片的具体步骤如下:

8、s11、输入地图范围;

9、s12、利用输入的地图范围在空间数据库中进行检索;

10、s13、判断空间数据库中是否存在数据更新的区域,若有更新则进入s14,否则进入s15;

11、s14、生成更新数据完整几何形状的最小外包矩形;

12、s15、利用各次循环后得到的坐标范围,计算对应的矢量瓦片编码集合,生成相应的矢量瓦片。

13、优选的,步骤s15中矢量瓦片编号与经纬度的对应转换公式如下:

14、

15、

16、其中,tilex、tiley分别为矢量瓦片的行数和列数,level为层数,log为经度,lat为维度。

17、本发明具有的技术效果:

18、1、本发明设计了矢量数据的局部更新方案,针对搜索区域的数据按需局部更新矢量瓦片,并采用最小外包矩形最大限度的减小更新代价,避免了全范围内矢量地图的重新切片,减少了工作量。考虑数据中断问题的矢量瓦片局部更新方法,实现了对局部区域矢量数据的快速生成;

19、2、基于内存数据库和非关系型数据库设计多层缓存机制存储矢量瓦片,极大地提高了瓦片的发布效率,进而提高系统的性能与地图的发布速率,实现瓦片数据的实时切片和更新;

20、3、本发明能提高矢量瓦片的存取效率。利用内存数据库取代传统的关系数据库,内存数据库相比传统的关系数据库的优点在于它的高并发以及高效率。矢量瓦片直接存在内存数据库之中,降低了瓦片数据的读写和存储时间,提高了系统的效率;



技术特征:

1.一种基于多层缓存的矢量瓦片实时切片和更新方法,其特征包括以下步骤:

2.根据权利要求1所述的一种基于多层缓存的矢量瓦片实时切片和更新方法,其特征在于,步骤s1中所述生成矢量瓦片的具体步骤如下:

3.根据权利要求2所述的一种基于多层缓存的矢量瓦片实时切片和更新方法,其特征在于,步骤s15中矢量瓦片编号与经纬度的对应转换公式如下:


技术总结
本发明提供一种基于多层缓存的矢量瓦片实时切片和更新方法,S1、根据输入的地图范围在空间数据库中进行检索,判断其中是否涉及数据更新,并将更新数据的完整几何形状返回最小外包矩形,生成相应矢量瓦片;S2、建立检索标识,并通过检索标识检索内存数据库,若存在该检索标识对应的矢量瓦片数据则返回检索结果,若不存在则检索非关系数据库;若在非关系数据库中存在则将其载入缓存并返回检索结果,否则进入步骤S3;S3、调用矢量瓦片切片工具实时生成矢量瓦片,将生成的矢量瓦片存入内存数据库或非关系数据库中,并建立文件索引,同时返回矢量瓦片。本发明解决大数据量的矢量瓦片更新效率低,操作复杂,无法即时发布的问题。

技术研发人员:蔡阳,石伟伟,李鑫雨,李家欢,李兴旺,张奉献,何碧珊,穆禹含,李亚青
受保护的技术使用者:水利部信息中心
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1