一种分布式电子地图的生成方法、装置及可读存储介质与流程

文档序号:25420966发布日期:2021-06-11 21:32阅读:173来源:国知局
一种分布式电子地图的生成方法、装置及可读存储介质与流程

本发明涉及电子地图技术领域,特别是涉及一种分布式电子地图的生成方法、装置及可读存储介质。



背景技术:

影像数据的现势性对于用户使用数据起到至关重要的作用,由于影像数据容量很大,通常都是把获取的影像数据切片后发布为电子地图,通过网络共享的方式提供给用户使用。

到目前为止,可通过遥感卫星、航测、无人机等多种方式获取地表要素信息,而这些资料分布在不同的单位,若要使用一幅整体上现势性最新的全局性电子地图,须接入分布在不同地方的电子地图服务。而已知方式有两种方式,第一,接入多个电子地图,按照顺序将不同地图进行叠加显示。这种方式若电子地图服务数量过多,客户端在同一个区域要绘制多次,严重影响用户浏览地图的体验,客户端请求电子地图的次数要比较多,也会增加客户端加载地图的负担。第二,把分布在不同地址的电子地图服务位置存储在数据库中,为用户提供唯一的出口,当请求某一编号的电子地图瓦片,则由统一出口服务器把分布在不同区域的电子地图请求到服务器,再返回到客户端。此种方法将瓦片位置存储到数据库,会造成请求效率低,如果要控制地图瓦片请求的权限,则效率会更加低下。



技术实现要素:

基于此,有必要针对现有的电子地图中客户端负担大、效率低的问题,提供一种分布式电子地图的生成方法及装置。

本发明提供一种分布式电子地图的生成方法,包括步骤:

预生成分布式电子地图请求地址缓存:将全局性电子地图的每一分布式电子地图进行编号,并生成电子地图请求地址的缓存索引,对预生成的区域和面积进行统计和计算分析,预估在单线程情况执行生成缓存索引所需时间,添加执行索引信息的计算机资源,动态获取计算机资源的性能信息,按照每个计算机性能信息分别安排任务,并将安排在每个计算机上任务划分为多个子任务,其中每一个子任务为一个线程;

预生成分布式电子地图缓存地址算法,该算法可计算不规则多边形范围内电子地图编号;

将分布式电子地图相交边界进行瓦片融合:应用边界范围提取和边界相交的瓦片,把相交瓦片的空间位置坐标转换为平面像素点坐标,对于边界相交瓦片,计算该瓦片与边界的相交点位,把相交区域范围以外的像素图清除;针对相交瓦片,采用位图叠加融合法,形成一张区域边界瓦片;

将边界瓦片存储在新的地图服务内,当取到此瓦片时不从分布式电子地图处获取,而是到新的地图服务内取用。

优选地,电子地图的瓦片位置索引存储于redis内存数据库内;而存储用户信息、角色信息、权限信息、电子地图服务地址及配置信息储存于关系型数据库内。

优选地,预生成分布式电子地图缓存地址计算的步骤包括:

获取不规则多边形的外包矩形范围,范围由四个角点坐标构成,根据当前地图的级别和空间分辨率,计算最大行列号和最小行列号;

每一个行转换为直线,计算直线与不规则多边形的交点,根据交点数量,确定交点的列号;当交点数量为两个时,则起点和终点分别为最大列号和最小列号;当交点数量大于两个时,从最大至最小列号,剔除不在地图包含范围内的列编号,剩余的每一行都为记录范围内的列号。

优选地,该分布式电子地图还设有权限控制,所述权限控制包括:

区域边界权限,只允许预设ip地址访问地图服务,或限制设定的ip地址访问地图服务资源;

ip地址权限,在请求地址中把行列号转换为空间坐标,判断该坐标是否在多边形区域范围内,若在区域范围内,则允许请求地图,若不在区域范围内,则拒绝请求地图服务;

应用程序访问限制,通过访问应用程序判断地图服务是否有访问权限,若有访问权限,则返回地图瓦片信息;若没有范围权限,则拒绝访问并返回应用程序。

优选地,本分布式电子地图的服务请求方式按照ogcwmts规定进行访问。

另一方面,本发明还提出了一种分布式电子地图的生成装置,包括,

地址缓存模块:预生成分布式电子地图请求地址缓存:将全局性电子地图的每一分布式电子地图进行编号,并生成电子地图请求地址的缓存索引,对预生成的区域和面积进行统计和计算分析,预估在单线程情况执行生成缓存索引所需时间,添加执行索引信息的计算机资源,动态获取计算机资源的性能信息,按照每个计算机性能信息分别安排任务,并将安排在每个计算机上任务划分为多个子任务,其中每一个子任务为一个线程;

计算模块:预生成分布式电子地图缓存地址计算算法,该算法可计算不规则多边形范围内电子地图编号;

融合模块:将分布式电子地图相交边界进行瓦片融合:应用边界范围提取和边界相交的瓦片,把相交瓦片的空间位置坐标转换为平面像素点坐标,对于边界相交瓦片,计算该瓦片与边界的相交点位,把相交区域范围以外的像素图清除;针对相交瓦片,采用位图叠加融合法,形成一张区域边界瓦片;

存储模块:将边界瓦片存储在新的地图服务内,当取到此瓦片时不从分布式电子地图处获取,而是到新的地图服务内取用。

优选地,电子地图的瓦片位置索引存储于redis内存数据库内;而存储用户信息、角色信息、权限信息、电子地图服务地址及配置信息储存于关系型数据库内。

优选地,计算模块包括:

行列号计算单元:获取不规则多边形的外包矩形范围,范围由四个角点坐标构成,根据当前地图的级别和空间分辨率,计算最大行列号和最小行列号;

交点计算单元:每一个行转换为直线,计算直线与不规则多边形的交点,根据交点数量,确定交点的列号;当交点数量为两个时,则起点和终点分别为最大列号和最小列号;当交点数量大于两个时,从最大至最小列号,剔除不在地图包含范围内的列编号,剩余的每一行都为记录范围内的列号。

优选地,分布式电子地图的生成装置该还包括权限控制模块,所述权限控制模块包括:

区域边界权限,只允许预设ip地址访问地图服务,或限制设定的ip地址访问地图服务资源;

ip地址权限,在请求地址中把行列号转换为空间坐标,判断该坐标是否在多边形区域范围内,若在区域范围内,则允许请求地图,若不在区域范围内,则拒绝请求地图服务;

应用程序访问限制,通过访问应用程序判断地图服务是否有访问权限,若有访问权限,则返回地图瓦片信息;若没有范围权限,则拒绝访问并返回应用程序。

本发明还提出一种的分布式电子地图的可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述的分布式电子地图的生成方法的步骤。

本发明提出了一种分布式电子地图的生成方法,使用分布式计算资源和多线程方式,极大的增加缓存地址的计算速度。此外本发明采用地图瓦片融合计算,对于不同边界区域相交地图精准到像素点。解决了访问无分布式电子地图时客户端负担大、效率低的问题。

附图说明

图1为本发明的一种分布式电子地图的生成方法一实施例的步骤示意;

图2为图1所示中步骤s20的具体流程示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做清楚、完整的描述。显然,以下描述的具体细节只是本发明的一部分实施例,本发明还能够以很多不同于在此描述的其他实施例来实现。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下,所获得的所有其他实施例,均属于本发明的保护范围。

需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

在一实施例中,请参阅图1,本发明提供一种分布式电子地图的生成方法,包括步骤:

s10:预生成分布式电子地图请求地址缓存:将全局性电子地图的每一分布式电子地图进行编号,并生成电子地图请求地址的缓存索引,对预生成的区域和面积进行统计和计算分析,预估在单线程情况执行生成缓存索引所需时间,添加执行索引信息的计算机资源,动态获取计算机资源的性能信息,按照每个计算机性能信息分别安排任务,并将安排在每个计算机上任务划分为多个子任务,其中每一个子任务为一个线程;

s20:预生成分布式电子地图缓存地址算法,该算法可计算不规则多边形范围内电子地图编号;

其中,预生成分布式电子地图缓存地址计算的步骤包括:

s21:获取不规则多边形的外包矩形范围,范围由四个角点坐标构成,根据当前地图的级别和空间分辨率,计算最大行列号和最小行列号;

s22:每一个行转换为直线,计算直线与不规则多边形的交点,根据交点数量,确定交点的列号;当交点数量为两个时,则起点和终点分别为最大列号和最小列号;当交点数量大于两个时,从最大至最小列号,剔除不在地图包含范围内的列编号,剩余的每一行都为记录范围内的列号。

s30:将分布式电子地图相交边界进行瓦片融合:应用边界范围提取和边界相交的瓦片,把相交瓦片的空间位置坐标转换为平面像素点坐标,对于边界相交瓦片,计算该瓦片与边界的相交点位,把相交区域范围以外的像素图清除;针对相交瓦片,采用位图叠加融合法,形成一张区域边界瓦片;

s40:将边界瓦片存储在新的地图服务内,当取到此瓦片时不从分布式电子地图处获取,而是到新的地图服务内取用。

本发明提出了一种分布式电子地图的生成方法,使用分布式计算资源和多线程方式,极大的增加缓存地址的计算速度。此外本发明采用地图瓦片融合计算,对于不同边界区域相交地图精准到像素点。解决了访问无分布式电子地图时客户端负担大、效率低的问题。

在本实施例的基础上,进一步地,电子地图的瓦片位置索引存储于redis内存数据库内;而存储用户信息、角色信息、权限信息、电子地图服务地址及配置信息储存于关系型数据库内。

具体地,该分布式电子地图还设有权限控制,权限控制包括:

区域边界权限,只允许预设ip地址访问地图服务,或限制设定的ip地址访问地图服务资源;

ip地址权限,在请求地址中把行列号转换为空间坐标,判断该坐标是否在多边形区域范围内,若在区域范围内,则允许请求地图,若不在区域范围内,则拒绝请求地图服务;

应用程序访问限制,通过访问应用程序判断地图服务是否有访问权限,若有访问权限,则返回地图瓦片信息;若没有范围权限,则拒绝访问并返回应用程序。

其中,本分布式电子地图的服务请求方式按照ogcwmts规定进行访问。

另一方面,本发明还提出了一种分布式电子地图的生成装置,包括,

地址缓存模块:预生成分布式电子地图请求地址缓存:将全局性电子地图的每一分布式电子地图进行编号,并生成电子地图请求地址的缓存索引,对预生成的区域和面积进行统计和计算分析,预估在单线程情况执行生成缓存索引所需时间,添加执行索引信息的计算机资源,动态获取计算机资源的性能信息,按照每个计算机性能信息分别安排任务,并将安排在每个计算机上任务划分为多个子任务,其中每一个子任务为一个线程;

计算模块:预生成分布式电子地图缓存地址计算算法,该算法可计算不规则多边形范围内电子地图编号;其中,该计算模块包括:

行列号计算单元:获取不规则多边形的外包矩形范围,范围由四个角点坐标构成,根据当前地图的级别和空间分辨率,计算最大行列号和最小行列号;

交点计算单元:每一个行转换为直线,计算直线与不规则多边形的交点,根据交点数量,确定交点的列号;当交点数量为两个时,则起点和终点分别为最大列号和最小列号;当交点数量大于两个时,从最大至最小列号,剔除不在地图包含范围内的列编号,剩余的每一行都为记录范围内的列号。

融合模块:将分布式电子地图相交边界进行瓦片融合:应用边界范围提取和边界相交的瓦片,把相交瓦片的空间位置坐标转换为平面像素点坐标,对于边界相交瓦片,计算该瓦片与边界的相交点位,把相交区域范围以外的像素图清除;针对相交瓦片,采用位图叠加融合法,形成一张区域边界瓦片;

存储模块:将边界瓦片存储在新的地图服务内,当取到此瓦片时不从分布式电子地图处获取,而是到新的地图服务内取用。

具体地,电子地图的瓦片位置索引存储于redis内存数据库内;而存储用户信息、角色信息、权限信息、电子地图服务地址及配置信息储存于关系型数据库内。

具体地,分布式电子地图的生成装置该还包括权限控制模块,权限控制模块包括:

区域边界权限,只允许预设ip地址访问地图服务,或限制设定的ip地址访问地图服务资源;

ip地址权限,在请求地址中把行列号转换为空间坐标,判断该坐标是否在多边形区域范围内,若在区域范围内,则允许请求地图,若不在区域范围内,则拒绝请求地图服务;

应用程序访问限制,通过访问应用程序判断地图服务是否有访问权限,若有访问权限,则返回地图瓦片信息;若没有范围权限,则拒绝访问并返回应用程序。

具体地,本分布式电子地图的服务请求方式按照ogcwmts规定进行访问。

本发明还提出一种的分布式电子地图的可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述的分布式电子地图的生成方法的步骤。

在本发明技术方案具有几项优点,一是采用内存数据库结合关系型数据库的方式,有效管理电子地图缓存信息,二是使用分布式计算资源和多线程方式,极大的增加缓存地址的计算速度,三是采用多种策略的地图访问控制方式,精准的控制用户访问权限,四是本发明采用地图瓦片融合计算,对于不同边界区域相交地图精准到像素点。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形、替换及改进,这些都应涵盖在本发明的保护范围之内。因此,本发明专利的保护范围应以权利要求为准。

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