一种瓦片生成方法、装置、设备及存储介质与流程

文档序号:29851961发布日期:2022-04-30 08:08阅读:140来源:国知局
一种瓦片生成方法、装置、设备及存储介质与流程

1.本发明涉及地图数据处理领域,尤其涉及一种瓦片生成方法、装置、设备及存储介质。


背景技术:

2.瓦片是将矢量数据按照地图缩放级别分割成多个要素描述文件,主要用于在客户端中显示地图。如图1所示,随着地图缩放级别的增大或减小,瓦片级别也会发生相应变化,例如,0级瓦片为最高级的世界地图,每个下一级瓦片是由将当前级别的瓦片进行切片处理得到的。具体的,对不同地图缩放级别下的全量的矢量数据,服务器会对该全量的矢量数据进行切片处理,生成每个地图缩放级别下对应的瓦片。进一步的,服务器将生成的瓦片存储于数据库中,并在接收到客户端的显示请求之后,获取相应的目标瓦片并向客户端发送目标瓦片,以使得客户端显示目标瓦片对应的地图。
3.但是,在上述相关技术中,随着地图缩放级别的减小,瓦片的级别会随之增大,在同一地图缩放级别中的瓦片数量就会增加,相应瓦片的数据量也随之增大(例如,17级的某地区瓦片的数据量大约是16级的两倍),这就导致服务器在生成瓦片时需要处理大量的矢量数据,需要耗费较多的时间以及计算资源,同时还会在存储过程中占用较多的存储空间。


技术实现要素:

4.本发明提供一种瓦片生成方法、装置、设备及存储介质,用于避免耗费大量的时间以及计算资源生成全量的瓦片,占用较多的存储空间。
5.为了达到上述目的,本发明采用如下技术方案:
6.第一方面,提供一种瓦片生成方法,该方法包括:服务器获取待显示区域对应的目标地图缩放级别;在目标地图缩放级别低于预设地图缩放级别的情况下,确定待显示区域对应的目标矢量范围,以及目标矢量范围内包括的目标数据类别;根据目标矢量范围以及目标数据类别,从预设数据库中获取目标矢量范围内目标数据类别对应的目标地图数据;预设数据库包括不同数据类别的地图数据;根据目标地图数据,生成待显示区域对应的目标瓦片。
7.本发明提供的瓦片生成方法中,在待显示区域的目标地图级别低于预设地图缩放级别的情况下,不再从数据库中查询瓦片,改为根据数据分类获取对应的地图数据,并根据获取到的地图数据生成带显示区域的目标瓦片,这样一来,不需要提前对全量的矢量数据进行切片,并生成瓦片,只需要在获取待显示区域的矢量范围后,获取该矢量范围内的矢量数据,生成目标瓦片,即可用于客户端显示地图,节省了大量的用于生成无用瓦片的计算资源,且由于服务器未提前生成瓦片,数据库中也就没有存储瓦片的需求,节省了数据库的存储空间。
8.一种可能的设计中,上述提供的瓦片生成方法还包括:服务器获取地图缩放级别低于预设地图缩放级别的原始地图数据;基于数据类别,将原始地图数据分类转换成逗号
分隔值csv格式的地图数据,并将转换得到的地图数据存储于预设数据库。该设计中,在地图缩放级别低于预设地图缩放级别的情况下,在数据库中仅存储了地图数据,避免了耗费大量的时间对全量的矢量数据进行切片以生成瓦片。
9.一种可能的设计中,在上述根据目标地图数据,生成待显示区域对应的目标瓦片之后,方法还包括:将目标瓦片存储至预设的存储空间;若接收到客户端发送的请求消息,则从存储空间中获取目标瓦片,并向客户端发送目标瓦片;请求消息用于请求显示待显示区域。该设计中,服务器将生成的目标瓦片存储于预设的存储空间,再次对目标瓦片请求时,服务器可以直接从预设的存储空间中直接获取目标瓦片,不需要再次计算生成,避免重复的对目标瓦片请求,而导致的对于内存和cpu等资源的消耗。
10.一种可能的设计中,服务器在将目标瓦片存储至存储空间之后,若超过预设的缓存时长,则从存储空间中删除目标瓦片。该设计中,服务器为了避免更新数据后查询到的存储空间中的目标瓦片仍是之前的数据,对存储空间中存储的目标瓦片设置了存储空间,避免了预设的存储空间中的目标瓦片过期。
11.第二方面,提供了一种瓦片生成装置,部署于服务器,包括获取单元、确定单元以及生成单元;获取单元用于获取待显示区域对应的目标地图缩放级别;确定单元用于在目标地图缩放级别低于预设地图缩放级别的情况下,确定待显示区域对应的目标矢量范围,以及目标矢量范围内包括的目标数据类别;获取单元还用于根据目标矢量范围以及目标数据类别,从预设数据库中获取目标矢量范围内目标数据类别对应的目标地图数据;预设数据库包括不同数据类别的地图数据;生成单元用于根据目标地图数据,生成待显示区域对应的目标瓦片。
12.一种可能的设计中,上述瓦片生成装置包括处理单元以及存储单元;获取单元还用于获取地图缩放级别低于预设地图缩放级别的原始地图数据;处理单元用于基于数据类别,将原始地图数据分类转换成逗号分隔值csv格式的地图数据;存储单元用于将转换得到的地图数据存储于预设数据库。
13.一种可能的设计中,上述瓦片生成装置还包括接收单元以及发送单元;存储单元还用于将目标瓦片存储至预设的存储空间;接收单元用于接收客户端发送的请求消息;获取单元还用于若接收到客户端发送的请求消息,则从存储空间中获取目标瓦片;请求消息用于请求显示待显示区域;发送单元用于向客户端发送目标瓦片。
14.一种可能的设计中,处理单元,还用于在将目标瓦片存储至存储空间之后,若超过预设的缓存时长,则从存储空间中删除目标瓦片。
15.第三方面,提供了一种服务器,该服务器包括存储器和处理器;存储器和处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,当处理器执行该计算机指令时,该服务器执行如第一方面或其任一种可能的设计提供的瓦片生成方法。
16.第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在服务器上运行时,使得该服务器执行如第一方面或其任一种可能的实现方式提供的瓦片生成方法。
附图说明
17.图1为本发明的实施例提供的一种不同地图缩放级别下的瓦片示意图;
18.图2为本发明的实施例提供的一种瓦片生成系统的结构示意图;
19.图3为本发明的实施例提供的一种瓦片生成方法流程示意图一;
20.图4为本发明的实施例提供的一种瓦片生成方法流程示意图二;
21.图5为本发明的实施例提供的一种瓦片生成方法流程示意图三;
22.图6为本发明的实施例提供的一种瓦片生成装置的结构示意图;
23.图7为本发明的实施例提供的一种服务器的结构示意图一;
24.图8为本发明的实施例提供的一种服务器的结构示意图二。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
26.在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
27.在本发明的描述中,除非另有说明,“/”表示“或”的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。此外,“至少一个”“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
28.在描述本技术的实施例之前,此处先对本技术涉及的名词统一进行解释说明,后续不再一一进行说明。
29.矢量数据是指地理信息系统(geographic information system或geo-information system,gis)中基本的数据模型,代表地图图形的各离散点平面坐标的有序集合,尽可能精确地表现点、线、多边形等地理实体。
30.mif(memory initialization file),即内存初始化文件是mapinfo通用数据交换格式。
31.shp:esri shapefile(shp),或简称shapefile,是美国环境系统研究所公司(esri)开发的空间数据开放格式。
32.在现有技术中,传统工具对于全量的矢量数据进行切片后,将得到的各级别的瓦片存储于数据库中,其中瓦片数据量随着地图缩放级别的减小而增大,示例性的,随着地图缩放级别的变化,各级别对应的数据如下表1所示,随着数据量的增大,需要耗费大量的时间以及计算资源生成全量的瓦片,且需要占用较多的存储空间存储瓦片,并且一旦面临地图数据更新的情况,需要将对应地图缩放级别全量的矢量数据重新进行切片,浪费大量的计算资源。
33.表1
[0034][0035][0036]
为了解决上述问题,本发明提供一种瓦片生成方法、装置、设备及存储介质,服务器获取待显示区域对应的目标地图缩放级别;在目标地图缩放级别低于预设地图缩放级别的情况下,确定待显示区域对应的目标矢量范围,以及目标矢量范围内包括的目标数据类别;根据目标矢量范围以及目标数据类别,从预设数据库中获取目标矢量范围内目标数据类别对应的目标地图数据;预设数据库包括不同数据类别的地图数据;根据目标地图数据,生成待显示区域对应的目标瓦片。本发明提供的瓦片生成方法中,在待显示区域的目标地图级别低于预设地图缩放级别的情况下,不再从数据库中查询瓦片,改为根据数据分类获取对应的地图数据,并根据获取到的地图数据生成带显示区域的目标瓦片,这样一来,不需要提前对全量的矢量数据进行切片,并生成瓦片,只需要在获取待显示区域的矢量范围后,
获取该矢量范围内的矢量数据,生成目标瓦片,即可用于客户端显示地图,节省了大量的用于生成无用瓦片的计算资源,且由于服务器未提前生成瓦片,数据库中也就没有存储瓦片的需求,节省了数据库的存储空间。
[0037]
本发明实施例提供的瓦片生成方法可以适用于瓦片生成系统,瓦片生成系统用于在接收到用户获取地图数据的请求后,响应于用户的请求,为用户提供相应的地图数据。图2示出了该瓦片生成系统的一种结构示意图。如图2所示,瓦片生成系统10包括服务器11以及客户端12。
[0038]
其中,服务器11与客户端12可以采用有线方式连接,也可以采用无线方式连接,本发明实施例对此不作限定。
[0039]
服务器11可以用于获取客户端12发送的待显示区域对应的目标地图缩放级别。
[0040]
服务器11还可以用于在目标地图缩放级别低于预设地图缩放级别的情况下,确定待显示区域对应的目标矢量范围,以及目标矢量范围内包括的目标数据类别。
[0041]
服务器11还可以用于根据目标矢量范围以及目标数据类别,从数据库中获取目标矢量范围内目标数据类别对应的目标地图数据。数据库可以用于存储不同数据类别的地图数据。
[0042]
服务器11还可以用于根据目标地图数据,生成待显示区域对应的目标瓦片,并发送至客户端12。
[0043]
服务器11还可以用于将目标瓦片存储与存储空间,用于客户端12需要再次获取该目标瓦片时,为客户端12提供该目标瓦片。
[0044]
客户端12可以用于根据用户的需求,获取待显示区域对应的目标地图缩放级别、目标矢量范围以及目标数据类别。
[0045]
客户端12还可以用于将获取到的目标地图缩放级别、目标矢量范围以及目标数据类别发送至服务器11。
[0046]
下面结合附图对本发明实施例提供的瓦片生成方法进行描述。
[0047]
如图3所示,本发明实施例提供的瓦片生成方法应用于上述瓦片生成系统,包括s201-s205。
[0048]
s201、服务器获取待显示区域对应的目标地图缩放级别。
[0049]
其中,待显示区域包括一个或多个瓦片。
[0050]
作为一种可能的实现方式,服务器接收客户端发送的待显示区域的信息,其中待显示区域的信息包括待显示区域对应的地图缩放级别,服务器将获取到的地图缩放级别确定为目标地图缩放级别。
[0051]
需要说明的,客户端响应于用户获取地图数据的请求,确定待显示区域的信息,并发送至服务器。
[0052]
其中,用户获取地图数据的请求可以包括用户打开客户端,或者用户对地图缩放级别的操作。用户对地图缩放级别的操作包括用户控制地图缩放级别升高或降低。
[0053]
示例性的,若用户在打开客户端后,确定到默认的地图缩放级别为16,则客户端将地图缩放级别16作为待显示区域的信息,发送至服务器。或者,在用户对当前显示的地图进行了地图缩放级别降低的操作,使得地图缩放级别由16级变为19级,则客户端将地图缩放级别19作为待显示区域的信息,发送至服务器。
[0054]
s202、服务器确定目标地图缩放级别是否低于预设地图缩放级别。
[0055]
作为一种可能的实现方式,服务器基于上述步骤s201中获取到的目标地图缩放级别,与预设地图缩放级别比较,确定目标地图缩放级别是否低于预设地图缩放级别。
[0056]
需要说明的,预设地图缩放级别可以由瓦片生成系统的运维人员预先在瓦片生成系统中设置。
[0057]
示例性的,预设地图缩放级别可以为17级。
[0058]
s203、服务器在目标地图缩放级别低于预设地图缩放级别的情况下,确定待显示区域对应的目标矢量范围,以及目标矢量范围内包括的目标数据类别。
[0059]
其中,数据类别为地图中包含的不同属性的数据的类别,如水系、道路、森林以及荒漠等
[0060]
作为一种可能的实现方式,服务器确定目标地图缩放级别低于预设地图缩放级别的情况下,在上述步骤s201服务器获取到的待显示区域的信息中还包括待显示区域的位置和待显示区域的大小。服务器基于待显示区域的位置、待显示区域的大小、目标地图缩放级别、以及预设的与目标地图缩放级别对应的地面分辨率,确定出目标矢量范围。进一步的,服务器基于确定到的目标矢量范围利用获取数据类别的应用程序接口(application programming interface,api),确定目标矢量范围内包括的目标数据类别。
[0061]
在一些实施例中,上述待显示区域的位置可以为待显示区域的中心点位置,该位置可以用经纬度标识,上述待显示区域的大小可以为横向像素点的数量和纵向像素点的数量。
[0062]
需要说明的,上述待显示区域的中心点位置可以为客户端响应于用户打开客户端的操作时,获取到的用户当前位置;或者在客户端对地图缩放级别操作前,客户端所显示的地图的中心点位置。
[0063]
示例性的,若用户在a公园打开客户端,则客户端获取用户位置,将a公园作为待显示区域的中心点位置。或者若客户端当前地图显示的中心点位置为b小区,则在用户对地图缩放级别进行操作后,客户端仍将b小区作为待显示区域的中心点位置。
[0064]
需要说明的,上述横向像素点的数量以及纵向像素点的数量的确定,可以由客户端在确定目标地图缩放级别后,基于客户端显示地图的显示区域的宽高信息,以及预设的与地图缩放级别对应的地图比例尺,确定出显示区域占用横向像素点数量以及纵向像素点数量。
[0065]
示例性的,若客户端的宽为4个单位长度,高为7个单位长度,且客户端确定到的目标地图缩放级别为22,客户端根据目标地图缩放级别为22确定到地图比例尺为每个单位长度含100个像素点,则客户端确定横向像素点数量为4
×
100=400个,纵向像素点数量为7
×
100=700个。
[0066]
需要说明的,上述待显示区域对应的目标矢量范围的确定,可以由服务器基于横向像素点数量、纵向像素点数量以及与目标地图缩放级别对应的对应的地面分辨率,确定出待显示区域的宽高实际包括的区域大小。进一步的,服务器基于待显示区域的中心点位置和确定到额待显示区域的宽高实际包括的区域大小,确定出待显示区域的目标矢量范围。
[0067]
示例性的,若横向像素点数量为400个,纵向像素点数量为700,地面分辨率为0.5
米/像素,则确定待显示区域的宽为400
×
0.5=200米,高为700
×
0.5=350米。进一步的,若待显示区域的中心点位置为c学校,则待显示区域的目标矢量范围为以c学校位置为中心点、宽200米、高350米的矩形区域。
[0068]
在一些可能的实施例中,服务器在目标地图缩放级别高于预设地图缩放级别的情况下,确定待显示区域对应的瓦片标识以及目标数据类别,其中,瓦片标识可以用目标地图缩放级别、瓦片所在的行以及瓦片所在的列进行表示。进一步的,服务器通过数据类别以及瓦片标识,在数据库中查询到相应的瓦片。
[0069]
s204、服务器根据目标矢量范围以及目标数据类别,从预设数据库中获取目标矢量范围内目标数据类别对应的目标地图数据。
[0070]
其中,预设数据库包括不同数据类别的地图数据。
[0071]
作为一种可能的实现方式,服务器在存储目标数据类别的预设数据库中,查询在目标矢量范围内的地图数据,该地图数据为目标地图数据。
[0072]
需要说明的,预设数据库中存储的地图数据是能够用于描述地形区域的矢量数据。
[0073]
需要说明的,上述预设数据库可以为postgresql数据库,进一步的,可以通过postgresql数据库提供的空间查询能力查询确定目标地图数据。
[0074]
示例性的,预设数据库中建立不同的表用于针对不同数据类别存储地图数据,类似的,铁路数据存储于铁路表中,河流数据存储于水系表中,草地数据存储于草地表中等,若服务器确定到目标数据类别包括铁路、草地以及森林,则服务器分别从存储铁路地图数据的铁路表、存储草地数据的草地表以及存储森林地图数据的森林表中查询,与目标矢量范围匹配,确定出在目标矢量范围内的铁路、草地以及森林的地图数据。
[0075]
需要说明的,如何在预设数据库中存储地图数据的具体实现方式,可以参照本发明实施例的后续描述,此处不再进行赘述。
[0076]
s205、服务器根据目标地图数据,生成待显示区域对应的目标瓦片。
[0077]
作为一种可能的实现方式,服务器在从预设数据库中获取到目标地图数据后,将获取到的各目标数据类别的目标地图数据分别加载至待显示区域,生成可用于客户端显示的目标矢量范围内的地图数据。
[0078]
示例性的,服务器可以通过vivid solutions公司做的一套开放源码jts(java topology suite)工具包构建一个待显示区域,并将查询到的地图数据填充到待显示区域中,生成待显示区域对应的目标瓦片。
[0079]
在一些实施例中,服务器在生成目标瓦片之后,可以根据客户端不同的需求,对目标瓦片的矢量数据进行不同压缩程度的封装,提供不同的数据格式。示例性的,数据格式包括geojson、topojson、pbf(protocolbuffer binary format)等,其中geojson是一种对各种地理数据结构进行编码的格式,基于javascript对象表示法(javascript object notation,json)的地理空间信息数据交换格式,topojson是geojson按拓扑学编码后的扩展形式,pbf格式为协议缓存二进制格式,主要用于替代xml(extensible markup language)格式。
[0080]
后续的,服务器将生成的目标瓦片发送至客户端,用于客户端向用户反馈地图数据。
[0081]
在一种可能的设计中,随着地图缩放级别的减小,为了避免生成瓦片耗费大量的时间,且占用较多的存储空间,如图4所示,本发明实施例提供的瓦片生成方法还包括s301-s303。
[0082]
s301、服务器获取地图缩放级别低于预设地图缩放级别的原始地图数据。
[0083]
其中,原始地图数据为获取到的不同规格的地图数据。
[0084]
作为一种可能的实现方式,服务器获取全量的原始地图数据,并从中确定出地图缩放级别低于预设地图缩放级别的原始地图数据。
[0085]
s302、服务器基于数据类别,将原始地图数据分类转换成逗号分隔值csv(comma-separated values)格式的地图数据。
[0086]
作为一种可能的实现方式,服务器对从多个来源获取到的不同格式的原始地图数据进行解析,并将解析后的无格式地图数据按照数据类别,分类转换成csv格式的地图数据。
[0087]
示例性的,原始地图数据可以包括如mif、shp等不同规格的地图数据。
[0088]
可以理解的,以将地图数据转换为csv格式后,并通过上述s201-s205记载的瓦片生成方法实时获取待显示区域,不需要提前在数据库中存储大量的瓦片,节约了存储空间,且不需要耗费大量的时间,在地图被调用显示之前生成瓦片。
[0089]
在一些实施例中,服务器将高于预设地图缩放级别的原始地图数据处理成统一规格后,生成瓦片,采用分表模式存储于预设数据库中,并在预设数据库创建空间索引,以提高查询效率。在客户端需要调用高于预设地图缩放级别的地图数据时,可以通过数据类别以及瓦片标识从数据库中调取相应的瓦片。
[0090]
需要说明的,上述存储于预设数据库中,根据高于预设地图缩放级别的原始地图数据生成的瓦片可以以datasource_z_x_y,geometry形式进行存储,其中,z为瓦片对应的地图缩放级别,x为瓦片位于的行,y为瓦片位于的列,geometry为瓦片的几何数据。进一步的,在客户端需要显示15级地图下,245行、442列的瓦片时,服务器可以从数据库中,根据datasource_15_245_442查询到该瓦片对应的地图数据,进而将得到的地图数据发送至客户端,用于客户端显示该瓦片的地图数据。
[0091]
可以理解的,设置合适的预设地图缩放级别,能够使得不需要在数据库中存储大量的瓦片,也能够避免获取较高地图缩放级别的地图数据时,需要实时计算大量的地图数据。
[0092]
s303、服务器将转换得到的地图数据存储于预设数据库。
[0093]
作为一种可能的实现方式,服务器按照数据类别,将不同类别的地图数据生成不同的表,分类存储于预设数据库中。
[0094]
在一些实施例中,若用户指定获取某一种或者某几种数据类别的地图数据时,通过上述分类存储的方式,服务器仅需要在存储指定的数据类别的表中查询地图数据即可,不需要遍历整个数据库来获取地图数据,提高数据查询效率。
[0095]
在一种可能的设计中,在服务器生成待显示区域对应的目标瓦片之后,为了减少重复请求目标瓦片而造成的内存、中央处理器(central processing unit,cpu)等资源的消耗,如图5所示,本发明实施例提供的瓦片生成方法还包括s401-s403。
[0096]
s401、服务器将目标瓦片存储至预设的存储空间。
[0097]
作为一种可能的实现方式,服务器将生成的目标瓦片存储至预设的存储空间。
[0098]
在一些实施例中,服务器在将目标瓦片存储至预设的存储空间之后,为目标瓦片设置缓存时长。进一步的,在将待显示区域存储至存储空间之后,若超过预设的缓存时长,则从存储空间中删除该目标瓦片。
[0099]
可以理解的,为了避免存储的目标瓦片过期,也即避免在地图数据更新后,存储空间中仍存储的未更新的目标瓦片,服务器为存储至存储空间的目标瓦片随机设置预设时长内的过期时间,在超过为其设置的缓存时长后,便将该目标瓦片删除,避免其一直存储于存储空间中。
[0100]
示例性的,在服务器生成目标瓦片a之后,若存储空间为redis缓存器,预设时长为30分钟,则生成一个30分钟内的随机数,并将该随机数设置为目标瓦片a的缓存时长,将目标瓦片a存储于redis缓存器中。
[0101]
s402、若接收到客户端发送的请求消息,则服务器从存储空间中获取目标瓦片。
[0102]
其中,请求消息用于请求显示待显示区域。
[0103]
作为一种可能的实现方式,在服务器接收到客户端发送请求消息后,确定请求消息对应目标瓦片,在存储空间中查询与请求消息对应目标瓦片,若存储空间中存储有该目标瓦片,则服务器从存储空间中获取目标瓦片。
[0104]
s403、服务器向客户端发送目标瓦片。
[0105]
作为一种可能的实现方式,在存储空间中存储有目标瓦片的情况下,服务器将在步骤s402中获取到的目标瓦片发送至客户端。在存储空间中未存储目标瓦片的情况下,服务器采用如上述步骤s201-s205中的方法确定目标瓦片,并发送至客户端。
[0106]
本发明提供一种瓦片生成方法、装置、设备及存储介质,在本发明提供的瓦片生成方法中,服务器在待显示区域的目标地图级别低于预设地图缩放级别的情况下,不再从数据库中查询瓦片,改为根据数据分类获取对应的地图数据,并根据获取到的地图数据生成带显示区域的目标瓦片,这样一来,不需要提前对全量的矢量数据进行切片,并生成瓦片,只需要在获取待显示区域的矢量范围后,获取该矢量范围内的矢量数据,生成目标瓦片,用于客户端显示地图,节省了大量的用于生成无用瓦片的计算资源,且由于服务器未提前生成瓦片,数据库中也就没有存储瓦片的需求,节省了数据库的存储空间。
[0107]
同时,当某一级别或多个级别的地图数据更新后,本发明提供的瓦片生成方法仅需要将更新后的地图数据替换掉之前存储的数据即可,不需要消耗大量的计算资源去对全量的矢量数据重新切片,生成全量的瓦片。
[0108]
上述主要从方法的角度对本发明实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0109]
本发明实施例可以根据上述方法示例对用户设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块
中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0110]
图6为本发明实施例提供的一种瓦片生成装置的结构示意图,该瓦片生成装置50用于执行上述瓦片生成方法。如图6所示,该瓦片生成装置50包括获取单元501、确定单元502以及生成单元503。
[0111]
获取单元501,用于获取待显示区域对应的目标地图缩放级别。例如,如图3所示,获取单元501可以用于执行s201。
[0112]
确定单元502,用于在目标地图缩放级别低于预设地图缩放级别的情况下,确定待显示区域对应的目标矢量范围,以及目标矢量范围内包括的目标数据类别。例如,如图3所示,确定单元502可以用于执行s202和s203。
[0113]
获取单元501,还用于根据目标矢量范围以及目标数据类别,从预设数据库中获取目标矢量范围内目标数据类别对应的目标地图数据。预设数据库包括不同数据类别的地图数据。例如,如图3所示,获取单元501可以用于执行s204。
[0114]
生成单元503,用于根据目标地图数据,生成待显示区域对应的目标瓦片。例如,如图3所示,生成单元503可以用于执行s205。
[0115]
可选的,如图6所示,本发明实施例提供的瓦片生成装置50还包括处理单元504以及存储单元505。
[0116]
获取单元501,还用于获取地图缩放级别低于预设地图缩放级别的原始地图数据。例如,如图4所示,获取单元501可以用于执行s301。
[0117]
处理单元504,用于基于数据类别,将原始地图数据分类转换成逗号分隔值csv格式的地图数据。例如,如图4所示,处理单元504可以用于执行s302。
[0118]
存储单元505,用于将转换得到的地图数据存储于预设数据库。例如,如图4所示,存储单元505可以用于执行s303。
[0119]
可选的,如图6所示,本发明实施例提供的瓦片生成装置50还包括接收单元506以及发送单元507。
[0120]
存储单元505,还用于将目标瓦片存储至预设的存储空间。例如,如图5所示,存储单元505可以用于执行s401。
[0121]
接收单元506,用于接收客户端发送的请求消息。
[0122]
获取单元501,还用于若接收到客户端发送的请求消息,则从存储空间中获取目标瓦片。请求消息用于请求显示待显示区域。例如,如图5所示,获取单元501可以用于执行s402。
[0123]
发送单元507,用于向客户端发送目标瓦片。例如,如图5所示,发送单元507可以用于执行s403。
[0124]
可选的,如图6所示,本发明实施例提供的瓦片生成装置50中,处理单元504,还用于在将目标瓦片存储至存储空间之后,若超过预设的缓存时长,则从存储空间中删除目标瓦片。
[0125]
在采用硬件的形式实现上述集成的模块的功能的情况下,本发明实施例提供了一种服务器的一种可能的结构示意图。该服务器用于执行上述实施例中的瓦片生成方法。如
图7所示,该服务器60包括处理器601,存储器602以及总线603。处理器601与存储器602之间可以通过总线603连接。
[0126]
处理器601是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器601可以是一个通用中央处理单元(central processing unit,cpu),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
[0127]
作为一种实施例,处理器601可以包括一个或多个cpu,例如图7中所示的cpu 0和cpu 1。
[0128]
存储器602可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0129]
作为一种可能的实现方式,存储器602可以独立于处理器601存在,存储器602可以通过总线603与处理器601相连接,用于存储指令或者程序代码。处理器601调用并执行存储器602中存储的指令或程序代码时,能够实现本发明实施例提供的瓦片生成方法。
[0130]
另一种可能的实现方式中,存储器602也可以和处理器601集成在一起。
[0131]
总线603,可以是工业标准体系结构(industry standard architecture,isa)总线、外围设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0132]
需要指出的是,图7示出的结构并不构成对该服务器60的限定。除图7所示部件之外,该服务器60可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0133]
作为一个示例,结合图7,瓦片生成装置50中的获取单元501、确定单元502、生成单元503、处理单元504、存储单元505、接收单元506以及发送单元507实现的功能与图7中的处理器601的功能相同。
[0134]
可选的,如图7所示,本发明实施例提供的服务器还可以包括通信接口604。
[0135]
通信接口604,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,wlan)等。通信接口604可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
[0136]
在一种设计中,本发明实施例提供的服务器中,通信接口还可以集成在处理器中。
[0137]
图8示出了本发明实施例中服务器的另一种硬件结构。如图8所示,服务器70可以包括处理器701以及通信接口702。处理器701与通信接口702耦合。
[0138]
处理器701的功能可以参考上述处理器601的描述。此外,处理器701还具备存储功能,可以参考上述存储器602的功能。
[0139]
通信接口702用于为处理器701提供数据。该通信接口702可以是通信装置的内部接口,也可以是通信装置对外的接口(相当于通信接口604)。
[0140]
需要指出的是,图8中示出的结构并不构成对服务器的限定,除图8所示部件之外,该服务器70可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0141]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明。在实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0142]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。
[0143]
本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的瓦片生成方法。
[0144]
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0145]
由于本发明的实施例中的装置、设备计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
[0146]
以上所述,仅为本发明的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1