一种矢量地图数据发布为矢量瓦片地图服务的方法和系统技术方案

技术编号:37477923 阅读:8 留言:0更新日期:2023-05-07 09:19
本发明专利技术涉及一种矢量地图数据发布为矢量瓦片地图服务的方法和系统,利用Redis的发布订阅通信模式,实现应用服务可分布式部署,按需扩展应用服务器,以并行方式发布与缓存多图层矢量数据,大大提高了海量瓦片数据处理效率;基于数据库存储矢量数据与瓦片数据,方便对矢量数据增量更新,从数据库中查询瓦片,可以动态配置属性,按需提取属性有效减少了瓦片存储大小。存储大小。存储大小。

【技术实现步骤摘要】
一种矢量地图数据发布为矢量瓦片地图服务的方法和系统


[0001]本专利技术涉及网络地理信息应用领域,尤其涉及一种矢量地图数据发布为矢量瓦片地图服务的方法和系统。

技术介绍

[0002]随着互联网技术的快速发展,网络地理信息的应用越来越广泛,传统的网络地理信息系统面临诸多缺点,出图效率低、渲染速度慢,而矢量瓦片技术为这一问题提供了一个最佳解决方案。矢量瓦片占用空间低,瓦片切图效率高,地图渲染效果好,可以随时动态调整地图样式,地图分辨率高。客户端图形渲染技术的发展,推动了地图渲染引擎的快速发展,使得矢量瓦片能够在客户端进行快速渲染,提高了用户体验。
[0003]地图以“瓦片”的形式存在,高层级的瓦片存储数量往往是海量的,对大范围内矢量数据进行地图服务发布与缓存需要耗费大量时间,现有地图服务软件通常是单机进行发布与缓存,效率有限。

技术实现思路

[0004]本专利技术针对现有技术中存在的技术问题,提供一种矢量地图数据发布为矢量瓦片地图服务的方法和系统,基于数据库存储矢量数据与瓦片数据,方便对矢量数据增量更新,从数据库中查询瓦片,可以动态配置属性,按需提取属性有效减少了瓦片存储大小。
[0005]本专利技术解决上述技术问题,第一方面,本专利技术实施例提供技术方案如下:一种矢量地图数据发布为矢量瓦片地图服务的方法,包括:
[0006]步骤S1、接收ShapeFile矢量文件,并获取ShapeFile矢量文件的头部信息,将所述头部信息为服务元数据,存储至Redis队列中;
[0007]步骤S2、基于发布订阅模式将所述Redis队列发送至订阅者,订阅者从Redis队列中读取服务元数据,基于所述服务元数据创建PostGIS数据库表,并读取所述服务元数据对应ShapeFile矢量文件中每个要素的属性数据及几何数据,将所述属性数据和几何数据插入至PostGIS数据库表;基于所述PostGIS数据库表发布矢量瓦片地图服务。
[0008]作为优选的,还包括:
[0009]步骤S3、从PostGIS数据库表中获取服务元数据列表,并以json格式保存到redis队列中共享;基于发布订阅模式通知每一台GIS服务器拉取切片任务,从所述Redis队列中拉取服务元数据,以构建瓦片金字塔;
[0010]基于瓦片金字塔中各瓦片的地理范围从PostGIS数据库表中查询瓦片数据,将所述瓦片数据缓存到MongoDB文件服务器,通过MongoDB文件存储数据库发布矢量瓦片地图服务。
[0011]作为优选的,所述步骤S1具体包括:
[0012]将ShapeFile矢量文件上传至网络文件系统,以共享至网络中所有GIS服务器;GIS服务器解析每一个ShapeFile矢量文件的头部信息,将所述头部信息作为服务元数据,以
json格式存储到Redis队列中共享。
[0013]作为优选的,所述步骤S3中,基于瓦片金字塔中各瓦片的地理范围从PostGIS数据库表中查询瓦片数据,具体包括:
[0014]遍历所述瓦片金字塔,获取每个瓦片的行列号和层级,基于所述行列号和层级,获取对应瓦片的地理范围,基于所述地理范围从PostGIS数据库表中查询瓦片数据。
[0015]作为优选的,所述步骤S1中,并读取所述服务元数据对应ShapeFile矢量文件中每个要素的属性数据及几何数据后,还包括:
[0016]判断是否需要忽略大小写,若判断是,则将属性数据对应的属性字段转为小写,并保存至PostGIS数据库表;若判断否,则直接将属性数据保存至PostGIS数据库表。
[0017]作为优选的,所述服务元数据用于描述当前图层的名称、要素类型、瓦片地址和属性字段。
[0018]第二方面,本专利技术实施例提供技术方案如下:一种矢量地图数据发布为矢量瓦片地图服务的系统,包括:
[0019]矢量文件预处理模块,接收ShapeFile矢量文件,并获取ShapeFile矢量文件的头部信息,将所述头部信息为服务元数据,存储至Redis队列中;
[0020]矢量瓦片服务发布模块,基于发布订阅模式将所述Redis队列发送至订阅者,订阅者从Redis队列中读取服务元数据,基于所述服务元数据创建PostGIS数据库表,并读取所述服务元数据对应ShapeFile矢量文件中每个要素的属性数据及几何数据,将所述属性数据和几何数据插入至PostGIS数据库表;基于所述PostGIS数据库表发布矢量瓦片地图服务。
[0021]作为优选的,还包括矢量瓦片缓存模块,用于从PostGIS数据库表中获取服务元数据列表,并以json格式保存到redis队列中共享;基于发布订阅模式通知每一台GIS服务器拉取切片任务,从所述Redis队列中拉取服务元数据,以构建瓦片金字塔;
[0022]基于瓦片金字塔中各瓦片的地理范围从PostGIS数据库表中查询瓦片数据,将所述瓦片数据缓存到MongoDB文件服务器,通过MongoDB文件存储数据库发布矢量瓦片地图服务。
[0023]第三方面,本专利技术实施例提供技术方案如下:一种电子设备,包括:
[0024]存储器,用于存储计算机软件程序;
[0025]处理器,用于读取并执行所述计算机软件程序,进而实现第一方面实施例所述的矢量地图数据发布为矢量瓦片地图服务的方法。
[0026]第四方面,本专利技术实施例提供技术方案如下:一种非暂态计算机可读存储介质,所述存储介质中存储有用于实现如第一方面实施例所述的矢量地图数据发布为矢量瓦片地图服务的方法的计算机软件程序。
[0027]本专利技术的有益效果是:利用Redis的发布订阅通信模式,实现应用服务可分布式部署,按需扩展应用服务器,以并行方式发布与缓存多图层矢量数据,大大提高了海量瓦片数据处理效率;基于数据库存储矢量数据与瓦片数据,方
[0028]便对矢量数据增量更新,从数据库中查询瓦片,可以动态配置属性,按需提取5属性有效减少了瓦片存储大小。
附图说明
[0029]图1为本专利技术实施例的矢量地图数据发布为矢量瓦片地图服务的方法流程图;
[0030][0031]图2为本专利技术实施例的矢量瓦片发布流程图;
[0032]图3为本专利技术实施例的矢量瓦片缓存流程图;
[0033]图4为本专利技术实施例的GIS服务功能框架图;
[0034]图5为本专利技术提供的电子设备的实施例示意图;
[0035]图6为本专利技术提供的计算机可读存储介质的实施例示意图。
[0036]具体实施方式
[0037]以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。
[0038]0在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特
[0039]性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种矢量地图数据发布为矢量瓦片地图服务的方法,其特征在于,包括:步骤S1、接收ShapeFile矢量文件,并获取ShapeFile矢量文件的头部信息,将所述头部信息为服务元数据,存储至Redis队列中;步骤S2、基于发布订阅模式将所述Redis队列发送至订阅者,订阅者从Redis队列中读取服务元数据,基于所述服务元数据创建PostGIS数据库表,并读取所述服务元数据对应ShapeFile矢量文件中每个要素的属性数据及几何数据,将所述属性数据和几何数据插入至PostGIS数据库表;基于所述PostGIS数据库表发布矢量瓦片地图服务。2.根据权利要求1所述的矢量地图数据发布为矢量瓦片地图服务的方法,其特征在于,还包括:步骤S3、从PostGIS数据库表中获取服务元数据列表,并以json格式保存到redis队列中共享;基于发布订阅模式通知每一台GIS服务器拉取切片任务,从所述Redis队列中拉取服务元数据,以构建瓦片金字塔;基于瓦片金字塔中各瓦片的地理范围从PostGIS数据库表中查询瓦片数据,将所述瓦片数据缓存到MongoDB文件服务器,通过MongoDB文件存储数据库发布矢量瓦片地图服务。3.根据权利要求1所述的矢量地图数据发布为矢量瓦片地图服务的方法,其特征在于,所述步骤S1具体包括:将ShapeFile矢量文件上传至网络文件系统,以共享至网络中所有GIS服务器;GIS服务器解析每一个ShapeFile矢量文件的头部信息,将所述头部信息作为服务元数据,以json格式存储到Redis队列中共享。4.根据权利要求2所述的矢量地图数据发布为矢量瓦片地图服务的方法,其特征在于,所述步骤S3中,基于瓦片金字塔中各瓦片的地理范围从PostGIS数据库表中查询瓦片数据,具体包括:遍历所述瓦片金字塔,获取每个瓦片的行列号和层级,基于所述行列号和层级,获取对应瓦片的地理范围,基于所述地理范围从PostGIS数据库表中查询瓦片数据。5.根据权利要求1所述的矢量地图数据发布为矢量瓦片地图服务的方法,其特征在于,所述步骤S1中,并读取所述服务元数据对应ShapeFile矢量文件中每个要素的...

【专利技术属性】
技术研发人员:袁欣智郭杨斌王骏黄凯罗跃军
申请(专利权)人:武汉中海庭数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1