一种多源瓦片地图获取方法及装置的制造方法_2

文档序号:9708389阅读:来源:国知局
获取方法,所述方法包括:
[0055]步骤S101,接收用户终端所发送的业务请求。
[0056]当用户终端根据需要获取相应的瓦片地图信息时,发送业务请求至服务端,服务 端通过所述统一的服务接口接收用户终端所发送的业务请求。
[0057]步骤S102,根据所述业务请求确定存储被请求瓦片地图信息的瓦片地图服务器。
[0058] 服务端根据用户终端发送的业务请求查找存储有被请求瓦片地图信息的瓦片地 图服务器。
[0059] 步骤S103,从所述瓦片地图服务器获取所述被请求瓦片地图信息。
[0060] 服务端根据用户终端发送的业务请求查找到存储有被请求瓦片地图信息的瓦片 地图服务器后,从相应的瓦片地图服务器中获取被请求瓦片地图信息。
[0061] 步骤S104,将所述被请求瓦片地图信息返回至用户终端。
[0062] 服务端将所获取的被请求瓦片地图信息返回给用户终端。
[0063] 瓦片地图服务系统按照行政级别、管辖范围等分级,将瓦片地图分别存储于相应 行政区域内的分布式服务器中。现有的多源瓦片地图服务,是在移动客户端和网页客户端 的开发中采用集成模式进行操作,即在客户端叠加多个地图图层、配置众多行政级别等信 息,且每一图层只能访问一个分布式服务器,这种集成模式造成客户端开发中的代码冗余 严重,运行效率低下等问题,同时对于用户终端的每一次业务请求均要访问分布式服务器, 降低了瓦片地图服务系统的服务效率。
[0064] 本实施例提供的多源瓦片地图获取方法,通过服务端提供的统一的服务接口,当 用户终端需要获取瓦片地图信息时,发送相应的业务请求至服务端,服务端则通过所述统 一的服务接口接收用户终端所发送的业务请求,并根据所述业务请求查找存储有用户终端 所需要获取的瓦片地图信息瓦片地图服务器,最后服务端从相应的瓦片地图服务器获取被 请求瓦片地图信息并将其返回至用户终端。在瓦片地图服务系统中采用上述多源瓦片地图 获取方法,能够有效的提高移动客户端及网页客户端的开发效率,开发人员无需了解行政 级别、管辖范围划分规则等信息,只需通过服务端的统一服务接口访问归属于不同行政区 域的瓦片地图服务器即可获取所需要的瓦片地图信息,同时由于服务端根据用户终端的业 务请求精确定位存储有被请求瓦片地图信息的瓦片地图服务器,而不是对每一次的业务请 求均访问所有的分布式服务器,这有效的提高了瓦片地图服务系统的服务效率。
[0065] 参阅图2,本实施例提供的另一种多源瓦片地图获取方法,所述方法包括:
[0066]步骤S201,接收用户终端所发送的指定比例尺级别和地理坐标范围的业务请求。 [0067]对于用户终端发送的业务请求信息,其中,包括指定被请求瓦片地图信息的比例 尺级别和地理坐标范围。当用户终端需要获取瓦片地图信息时,服务端通过统一服务接口 接收用户终端所发送的指定所需获取的瓦片地图信息的比例尺级别和地理坐标范围的业 务请求。
[0068]步骤S202,根据所述比例尺级别和所述地理坐标范围计算所述被请求瓦片地图信 息的索引号。
[0069] 现有瓦片地图服务系统一般采用瓦片地图服务(Tile MapService,简称TMS)算法 把投影为平面后的一张世界地图瓦片根据四叉树算法按照层级进行切割并编号,切割后的 瓦片地图数量随层级成金字塔型,其中,数量与层级具体关系如下表所示:
[0070]
[0071]其中,η值随着瓦片地图服务系统的不同而变化,例如,OpenCycleMap的η值为16, 本实施例采用的瓦片地图服务系统的η值则为19。采用TMS算法切割后对所有的瓦片地图进 行编号即形成索引号,使得索引号与层级和地理坐标(经炜度坐标)之间形成一一对应关 系,又由于用户终端的指定的比例尺级别与瓦片地图的层级一一对应,所以根据下述公式,
[0072] n = 2'zoom
[0073] xtile = ((lon_deg+l 80 )/360 )*n
[0074] ytile = (l-( log(tan( lat_rad)+sec( lat_rad) )A) )/2*n
[0075] 在已知层级和地理坐标时,即可计算出被请求瓦片地图的索引号,其中变量zoom 表示层级,变量l〇n_deg表示经度坐标,lat_deg表示炜度坐标,变量xtile表示被请求瓦片 地图在平面直角坐标系中的X轴编号,变量ytile表示被请求瓦片地图在平面直角坐标系中 的Y轴编号。
[0076]步骤S203,判断所述被请求瓦片地图信息是否已保存,若已保存,执行步骤S204, 若未保存,转至步骤S205。
[0077]服务端设有缓存,对于第一次被请求的瓦片地图在返回至用户终端之前需写入缓 存,如此在下一次对同一索引号的瓦片地图提出请求时,若已在缓存中存储,则直接在缓存 中获取并执行步骤S212,避免重复访问瓦片地图服务器,进一步提高了瓦片地图服务系统 的服务效率;若缓存中未存储,则执行步骤205。
[0078]步骤S204,从缓存中获取所述被请求瓦片地图信息,并转至步骤S212。
[0079] 服务端直接从缓存中获取被请求瓦片地图信息,并返回给用户终端。
[0080] 步骤205,根据所述索引号确定存储被请求瓦片地图信息的瓦片地图服务器。
[0081 ]瓦片地图服务系统存储切割后的瓦片地图是根据行政区域进行存储的,即如果一 张瓦片地图信息只包含南京地区的地理信息,则该瓦片地图只存储于归属于南京的瓦片地 图服务器中,如果一张瓦片地图信息既包含南京地区的地理信息又包含了镇江地区的地理 信息,则该张瓦片地图按行政区域分成碎片分别存储于归属南京和镇江的瓦片地图服务器 中。由上述内容可知瓦片地图服务器与其存储的瓦片地图的索引号有对应关系,根据步骤 S202计算出的被请求瓦片地图的索引号服务端即可查找存储有该瓦片地图的瓦片地图服 务器。
[0082] 步骤206,判断所述被请求瓦片地图信息是否跨行政区域,若位于同一行政区域, 执行步骤S207;若跨行政区域,执行步骤S208。
[0083] 服务端根据确定的瓦片服务器300判断被请求瓦片地图信息是否跨行政区域,若 被请求的瓦片地图信息只来自于一个瓦片地图服务器,即只来自于一个地图源,则未跨行 政区域,执行步骤S207;若被请求的瓦片地图信息来自于多个瓦片地图服务器,即来自于多 个地图源,则跨行政区域,执行步骤S208。
[0084] 步骤S207,从所述行政区域的瓦片地图服务器获取所述被请求瓦片地图信息,并 转至步骤S209。
[0085] 服务端根据被请求瓦片地图信息的索引号确定瓦片地图服务器后,从该瓦片服务 器300获取被请求瓦片地图信息并转至步骤S208。
[0086] 步骤S208,分别从所跨越的行政区域的瓦片地图服务器获取与所述索引号对应的 瓦片地图信息,并将所获取的瓦片地图信息进行像素融合,得到所述被请求瓦片地图信息。
[0087] 判断被请求瓦片地图信息跨行政区域后,服务端分别从从所跨越的行政区域的瓦 片地图服务器获取与所述索引号对应的瓦片地图信息,并将所获取的瓦片地图信息进行像 素融合使其合成为一张瓦片地图,从而得到所述被请求瓦片地图信息,并转至步骤S209。 [0088]步骤S209,判断服务端的缓存是否已满,若已满,执行步骤S210;若未满,转至步骤 S211〇
[0089]步骤S210,根据某种算法移除部分已存储的瓦片地图信息。
[0090]在服务端的缓存已存满时,如果最近一次所请求的瓦片地图信息需要保存至缓存 中,则根据某种算法移除缓存中已存储的部分瓦片地图信息以空出空间存储本次所请求的 瓦片地图信息,优选地,本实施例中采用LRU算法对缓存中的信息进行移除,既最近最少次 调用的瓦片地图信息将被移除缓存直至空出足够的空间存储本次所请求的瓦片地图信息 为止。
[0091 ]步骤S211,将被请求瓦片地图信息保存至缓存中。
[0092]服务端将被请求瓦片地图信息写入缓存中。
[0093]步骤S212,将所述被请求瓦片地图信息返回至用户终端。
[0094] 服务端将被请求瓦片地图信息发送给用户终端。
[0095] 本实施例提供的多源瓦片地图获取方法中,服务端设有缓存用于存储已被请求过 的瓦片地图信息以避免就同样的业务请求重复访问瓦片地图服务器。由于缓存空间有限, 所以当缓存已满时,服务端将根据某种算法机制移除缓存中部分瓦片地图信息,优选地,本 实施例中采用的是LRU算法,即最近最少次被调用的瓦片地图信息将被移出缓存。
[0096] 当用户终端发送相应的业务请求至服务端时,服务端通过统一的服务接口接收用 户终端所发送的包含了被请求瓦片地图信息的比例尺级别和地理坐标的业务请求;根据比 例尺级别和地理坐标计算出索引号;服务端再根据索引号判断本次被请求瓦片地图信息是 否已保存在缓存中,如果已保存,则直接从缓存中获取并返回给用户终端,如果未保存,则 根据索引号查找存储有被请求瓦片地图信息的瓦片地图服务器;若只存在一个瓦片地图服 务器存储有所述索引号的瓦片地图,则其未跨行政区域,直接从该瓦片地图服务器获取被 请求瓦片地图信息,若存在多个瓦片地图服务器存储有所述索引号的瓦片地图,则其跨行 政区域,从所跨越的多个行政区域中获取具有所述索引号的瓦片地图并进行像素融合使其 合称为一个瓦片地图,得到被请求瓦片地图信息;进一步判断缓存是否已
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1