一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

地图下载方法、装置、计算机设备和计算机可读存储介质与流程

2022-07-02 10:15:10 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种地图下载方法、装置、计算机设备和计算机可读存储介质。


背景技术:

2.随着科学技术的发展,人们获得了很多地理信息并用这些地理信息绘制出了各种各样的地图,并且可以通过各种应用程序下载并使用这些地图进行导航,这给人们带来了极大的便利。
3.相关技术中,一般地,这些地图均存储在服务器,终端设备上的应用程序需要下载地图时,终端设备会向服务器发送请求,服务器则会检索在数据库中存储的所有地图数据,确定应用程序需要下载地图对应的地图瓦片信息并将相应的地图瓦片信息发送给终端设备。
4.然而,这种方案服务器需要检索在数据库中存储的所有地图数据,若服务器存储的地图数据较多,就会大大增加服务器检索地图数据的工作量。因此,这种方案存在服务器处理压力较大的问题。


技术实现要素:

5.本技术的目的在于提供一种地图下载方法、装置、计算机设备和计算机可读存储介质,可以达到降低服务器处理压力的效果。
6.本技术的实施例是这样实现的:
7.本技术实施例的第一方面,提供一种地图下载方法,应用于服务器,所述方法包括:
8.接收终端设备发送的第一下载请求,所述第一下载请求中包括待下载的目标地图的边界信息;
9.根据所述边界信息,获取所述目标地图,并确定所述目标地图的起始下载层级,所述起始下载层级中包括所述目标地图和所述目标地图的各起始瓦片;
10.根据所述目标地图的各起始瓦片在所述起始下载层级中的位置信息生成至少一个下载脚本,并将所述下载脚本发送给所述终端设备,所述下载脚本用于指示所述各起始瓦片在所述起始下载层级中的位置信息;
11.接收所述终端设备发送的第二下载请求,所述第二下载请求中包括:所述起始瓦片的位置信息以及关联瓦片在关联下载层级中的位置信息,所述关联下载层级为除所述起始下载层级之外的下载层级,所述关联瓦片为所述目标地图在所述关联下载层级中的瓦片;
12.根据所述起始瓦片的位置信息以及所述关联瓦片的位置信息,读取所述起始瓦片以及所述关联瓦片,并将所述起始瓦片以及所述关联瓦片发送给所述终端设备。
13.可选地,所述确定所述目标地图的起始下载层级,包括:
14.根据所述目标地图的瓦片层级数量确定所述起始下载层级。
15.可选地,所述确定所述目标地图的起始下载层级,包括:
16.若所述边界信息所指示的地图面积小于或等于预设面积,则将所述目标地图的瓦片层级中的任一层级作为所述起始下载层级;
17.若所述边界信息所指示的地图面积大于所述预设面积,则根据所述目标地图的瓦片层级确定多个可选层级,并根据所述目标地图各可选层级中的瓦片数量,从所述多个可选层级中筛选出所述起始下载层级。
18.可选地,所述根据所述目标地图的各起始瓦片在所述起始下载层级中的位置信息生成至少一个下载脚本,包括:
19.根据所述目标地图的起始瓦片的数量,将所述起始瓦片划分为至少一个瓦片组;
20.根据各瓦片组中起始瓦片的位置信息,分别生成各瓦片组对应的所述下载脚本。
21.可选地,所述根据各瓦片组中起始瓦片的位置信息,分别生成各瓦片组对应的所述下载脚本,包括:
22.分别生成各瓦片组对应的初始脚本;
23.将所述瓦片组中的起始瓦片在所述起始下载层级中的位置信息以及所述起始下载层级的层级标识写入各瓦片组对应的初始脚本中,得到各起瓦片组对应的所述下载脚本。
24.可选地,在接收终端设备发送的第一下载请求之前,所述方法还包括:
25.按照预设瓦片模型对地图进行切片,得到多个下载层级以及地图在各下载层级内的瓦片。
26.本技术实施例的第二方面,提供了一种地图下载方法,应用于终端设备,所述方法包括:
27.向服务器发送第一下载请求,所述第一下载请求中包括待下载的目标地图的边界信息,所述边界信息基于用户的触发操作得到;
28.接收所述服务器发送的至少一个下载脚本,所述下载脚本用于指示各起始瓦片在所述目标地图的起始下载层级中的位置信息,所述起始瓦片为所述目标地图在所述起始下载层级中的瓦片;
29.根据所述至少一个下载脚本,确定关联瓦片在关联下载层级中的位置信息,所述关联下载层级为除所述起始下载层级之外的下载层级,所述关联瓦片为所述目标地图在所述关联下载层级中的瓦片;
30.根据各起始瓦片的位置信息以及各关联瓦片的位置信息,生成第二下载请求,并向所述服务器发送所述第二下载请求;
31.接收所述服务器发送的所述起始瓦片以及所述关联瓦片,并根据所述起始瓦片以及所述关联瓦片,生成并输出所述目标地图。
32.可选地,所述根据所述至少一个下载脚本,确定关联瓦片在关联下载层级中的位置信息,包括:
33.根据所述至少一个下载脚本,获取所述起始下载层级的层级标识和各所述起始瓦片的位置信息,并确定所述起始下载层级在下载层级中的位置;
34.根据各所述起始瓦片的位置信息和所述起始下载层级在下载层级中的位置,确定
各所述关联瓦片在各所述关联下载层级中的位置信息。
35.可选地,各所述起始瓦片的位置信息包括各所述起始瓦片在所述起始下载层级中的行列信息;各所述关联瓦片的位置信息包括各所述关联瓦片在各所述关联下载层级中的行列信息;
36.所述根据各所述起始瓦片的位置信息和所述起始下载层级在下载层级中的位置,确定各所述关联瓦片在各所述关联下载层级中的位置信息,包括:
37.根据预设瓦片模型得到关联瓦片递归算法;
38.将各所述起始瓦片的行列信息和所述起始下载层级在下载层级中的位置输入到所述关联瓦片递归算法,依次计算各所述关联下载层级中的各所述关联瓦片的行列信息。
39.可选地,所述根据所述起始瓦片以及所述关联瓦片,生成并输出所述目标地图,包括:
40.根据各所述起始瓦片的位置信息将各所述起始瓦片拼接,生成并输出所述起始下载层级的所述目标地图;
41.根据各所述关联瓦片的位置信息将属于同一所述关联下载层级的各所述关联瓦片拼接,生成并输出各所述关联下载层级的所述目标地图。
42.本技术实施例的第三方面,提供了一种地图下载装置,应用于服务器,所述装置包括:
43.第一接收模块,用于接收终端设备发送的第一下载请求;
44.获取确定模块,用于根据边界信息,获取目标地图,并确定所述目标地图的起始下载层级;
45.生成发送模块,用于根据所述目标地图的各起始瓦片在所述起始下载层级中的位置信息生成至少一个下载脚本,并将所述下载脚本发送给所述终端设备;
46.第二接收模块,用于接收所述终端设备发送的第二下载请求;
47.读取发送模块,用于根据所述起始瓦片的位置信息以及关联瓦片的位置信息,读取所述起始瓦片以及所述关联瓦片,并将所述起始瓦片以及所述关联瓦片发送给所述终端设备。
48.本技术实施例的第四方面,提供了一种地图下载装置,应用于终端设备,所述装置包括:
49.第一发送模块,用于向服务器发送第一下载请求;
50.第三接收模块,用于接收所述服务器发送的至少一个下载脚本;
51.确定模块,用于根据所述至少一个下载脚本,确定关联瓦片在关联下载层级中的位置信息;
52.第二发送模块,用于根据各起始瓦片的位置信息以及各关联瓦片的位置信息,生成第二下载请求,并向所述服务器发送所述第二下载请求;
53.接收生成模块,用于接收所述服务器发送的所述起始瓦片以及所述关联瓦片,并根据所述起始瓦片以及所述关联瓦片,生成并输出目标地图。
54.本技术实施例的第五方面,提供了一种计算机设备,所述计算机设备包括存储器、处理器,存储在所述存储器中有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面和/或上述第二方面所述的地图下载方法。
55.本技术实施例的第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面和/或上述第二方面所述的地图下载方法。
56.本技术实施例的有益效果包括:
57.本技术实施例提供的一种地图下载方法,通过接收终端设备发送的第一下载请求,根据该边界信息,获取该目标地图,并确定该目标地图的起始下载层级,根据该目标地图的各起始瓦片在该起始下载层级中的位置信息生成至少一个下载脚本,并将该下载脚本发送给该终端设备,接收该终端设备发送的第二下载请求,根据该起始瓦片的位置信息以及该关联瓦片的位置信息,读取该起始瓦片以及该关联瓦片,并将该起始瓦片以及该关联瓦片发送给该终端设备。其中,根据该目标地图的各起始瓦片在该起始下载层级中的位置信息生成至少一个下载脚本,这样该服务器就不需要遍历各下载层级,也不需要确定各下载层级中的目标地图对应的瓦片。另外,通过接收该终端设备发送的第二下载请求,根据该起始瓦片的位置信息以及该关联瓦片的位置信息,读取该起始瓦片以及该关联瓦片,并将该起始瓦片以及该关联瓦片发送给该终端设备,这样,在实现下载目标地图的目的的同时,该服务器就不需要计算或处理在各关联下载层级中的目标地图和/或关联瓦片。如此,可以达到降低服务器处理压力的效果,并且还可以避免因为处理压力过大导致该服务器宕机的问题。
附图说明
58.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
59.图1为本技术实施例提供的一种地图下载方法的应用场景示意图;
60.图2为本技术实施例提供的第一种地图下载方法的流程图;
61.图3为本技术实施例提供的一种瓦片分布的示意图;
62.图4为本技术实施例提供的第二种地图下载方法的流程图;
63.图5为本技术实施例提供的第三种地图下载方法的流程图;
64.图6为本技术实施例提供的第四种地图下载方法的流程图;
65.图7为本技术实施例提供的第五种地图下载方法的流程图;
66.图8为本技术实施例提供的第六种地图下载方法的流程图;
67.图9为本技术实施例提供的第七种地图下载方法的流程图;
68.图10为本技术实施例提供的第八种地图下载方法的流程图;
69.图11为本技术实施例提供的第九种地图下载方法的流程图;
70.图12为本技术实施例提供的一种地图下载装置的结构示意图;
71.图13为本技术实施例提供的另一种地图下载装置的结构示意图;
72.图14为本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
73.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
74.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
75.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
76.在相关技术中,一般地,这些地图均存储在服务器,终端设备上的应用程序需要下载地图时,终端设备会向服务器发送请求,服务器则会检索在数据库中存储的所有地图数据,确定应用程序需要下载地图对应的地图瓦片信息并将相应的地图瓦片信息发送给终端设备。然而,在这种方案中,服务器需要检索在数据库中存储的所有地图数据,若服务器存储的地图数据较多,就会大大增加服务器检索地图数据的工作量。因此,这种方案存在服务器处理压力较大的问题。另外,由于服务器的处理压力较大,这样就可能会存在服务器容易宕机的问题。
77.为此,本技术实施例提供了地图下载方法,通过接收终端设备发送的第一下载请求,根据边界信息,获取目标地图,并确定目标地图的起始下载层级,再根据目标地图的各起始瓦片在起始下载层级中的位置信息生成至少一个下载脚本,并将下载脚本发送给终端设备,然后接收终端设备发送的第二下载请求,再根据起始瓦片的位置信息以及关联瓦片的位置信息,读取起始瓦片以及关联瓦片,并将起始瓦片以及关联瓦片发送给终端设备,可以达到降低服务器处理压力的效果。
78.本技术实施例以应用在服务器中的地图下载方法为例进行说明。但不表明本技术实施例仅能应用于服务器中进行地图下载。
79.图1是本技术实施例提供的一种地图下载方法的应用场景示意图。参见图1,该场景中包括:服务器a、终端设备b和网络c。
80.其中,服务器a可以是具有存储和中继功能的服务器,也可以是仅仅具有存储功能的服务器。本技术实施例中以服务器a具有存储和中继功能为例进行说明。
81.可选地,服务器a中可以包括数据服务器a1和中继服务器a2。
82.数据服务器a1与中继服务器a2连接。
83.数据服务器a1可以用于存储地图和/或文件和/或其他数据。
84.中继服务器a2可以用于通过网络c与终端设备a进行通信。当然还可以通过其他方式与终端设备a进行通信。本技术实施例对此不做限定。
85.在场景中,终端设备b可以与服务器a通过网络c连接,终端设备b可以根据用户的触发操作生成相应的下载请求并将下载请求发送给服务器a,服务器a可以在接收到终端设备b发送的下载请求的情况下,可以将存储在服务器a的地图和/或文件和/或其他数据等其他可能的数据通过网络c发送给终端设备b,比如存储在服务器a的地图或地图的瓦片对应
的数据。
86.可选地,服务器a还可以在接收到终端设备b发送的下载请求的情况下,根据下载请求生成相应的脚本和/或应用程序,并网络c将脚本和/或应用程序发送给终端设备b。
87.具体地,终端设备b可以将下载请求通过网络c发送给中继服务器a2,中继服务器a2可以根据下载请求检索数据服务器a1中存储的地图和/或文件和/或其他数据并根据检索结果生成相应的脚本和/或应用程序。中继服务器a2在生成脚本和/或应用程序之后,还可以将通过网络c将脚本和/或应用程序发送给终端设备b。
88.在终端设备b接收到服务器a发送的脚本之后,可以根据用户的确认操作控制脚本运行,并生成相应的指令或请求并通过网络c发送到服务器a,以获取另外的地图和/或文件和/或其他数据。
89.可选地,终端设备b可以将相应的指令或请求通过网络c直接发送到数据服务器a1,数据服务器a1在接收到指令后,将存储在数据服务器a1内的地图和/或文件和/或数据通过网络c发送给终端设备b。
90.当然,在终端设备b接收到地图、文件、数据、脚本或应用程序之后,可以对这些地图、文件、数据、脚本或应用程序执行相应的操作。本技术实施例对此不作限定。
91.这样,就可以实现地图、文件、数据、脚本或应用程序的下载。
92.下面对本技术实施例提供的地图下载方法进行详细地解释说明。
93.图2为本技术提供的一种地图下载方法的流程图,该方法可以应用于前述的服务器,该服务器或与该服务器通信的数据库中可以存储至少一张地图。参见图2,本技术实施例提供一种地图下载方法,包括:
94.步骤1001:接收终端设备发送的第一下载请求。
95.可选地,该终端设备可以是电脑、智能手机、平板电脑或其他带有通信和处理功能的计算机设备。
96.可选地,该第一下载请求中包括待下载的目标地图的边界信息。
97.可选地,该第一下载请求中还可以包括符合握手协议的握手信号。
98.示例性地,该握手协议可以是任意适用于数据下载操作的通信协议,也可以是任意适用于服务器和/或终端设备使得服务器和/或终端设备可以建立通信连接的通信协议。本技术实施例对此不作限定。
99.可选地,该握手信号用于使得该服务器和该终端设备建立通信连接。
100.可选地,该目标地图可以是由用户通过该终端设备选择的需要下载的地图。
101.理所当然地,该目标地图可以是存储在该服务器或与该服务器通信的数据库中的任意一整张地图,也可以是存储在该服务器或与该服务器通信的数据库中的任意一张地图的一部分,还可以是存储在该服务器或与该服务器通信的数据库中的多张地图,该终端设备可以通过拼接或合成技术将这多张地图拼接或合成为一张新的大地图。本技术实施例对此不作限定。
102.可选地,该边界信息可以用于指示该目标地图的尺寸和/或形状和/或边界点的坐标,该边界信息也可以用于指示该目标地图为该服务器或与该服务器通信的数据库中的任意一整张地图或该目标地图为该服务器或与该服务器通信的数据库中的任意一张地图的一部分。当然,若该目标地图为该服务器或与该服务器通信的数据库中的任意一张地图的
一部分,那么该边界信息还可以用于指示该目标地图处于这一整张地图中的位置。本技术实施例对此不作限定。
103.可选地,该目标地图的形状可以是矩形、圆形、三角形、星型等规则形状,也可以是其他任意可能的不规则形状,还可以是由规则形状和不规则形状拼接形成的形状。该目标地图的形状是可以根据用户的选择进行调整的。本技术实施例对此不作限定。
104.另外,该服务器可以实时处于准备接收该第一下载请求的状态,也可以基于一定的触发条件才进入准备接收该第一下载请求的状态。例如,该服务器可以基于一定的间隔时间进入准备接收该第一下载请求的状态。本技术实施例对此不作限定。
105.需要注意的是,该服务器在接收到该终端设备发送的第一下载请求的情况下,才会执行后续操作,否则,该服务器可以处于休眠状态或低功耗状态。这样,可以降低该服务器的功耗,还可以降低该服务器的处理压力。
106.步骤1002:根据该边界信息,获取该目标地图,并确定该目标地图的起始下载层级。
107.可选地,可以根据该边界信息从该服务器或与该服务器通信的数据库中获取各下载层级中的该目标地图。
108.示例性地,存储在该服务器或与该服务器通信的数据库中的任一地图均设置有对应的至少一层下载层级,并且每层下载层级中包括的地图的尺寸和分辨率均不相同,也就是说,在每层下载层级中的地图对应不同的比例尺,比例尺是表示图上一条线段的长度与地面相应线段的实际长度的比值。一般地,比例尺越大,地图的几何精度高,比例尺越小,地图的几何精度越低。那么对应的比例尺越大的下载层级中的地图的瓦片越少,对应的比例尺越小的下载层级中的地图的瓦片越多。这样,就可以实现对地图的缩小或放大。
109.另外,各下载层级按照一定的顺序排列,例如可以按照各下载层级对应的比例尺的大小对各下载层级进行排列。又例如,可以将对应最小比例尺的下载层级排列在各下载层级中的第一层,将对应最大比例尺的下载层级排列在各下载层级中的最后一层。
110.可选地,可以将各下载层级的数量设置为15、20或23,当然也可以根据实际需要将下载层级设置为其他可能的数值。
111.可选地,该起始下载层级中可以包括该目标地图和该目标地图的各起始瓦片。理所当然地,若该目标地图为上述整张地图的一部分,那么该起始下载层级中还可以包括上述整张地图中除该目标地图之外的不需要下载的地图和不需要下载的地图的各瓦片。本技术实施例对此不作限定。
112.另外,该起始下载层级中的该目标地图的各起始瓦片可以是完全归属于该目标地图的瓦片,也可以是部分归属于该目标地图的瓦片。
113.示例性地,图3是本技术实施例提供的一种瓦片分布的示意图,图3中以各下载层级中的前三层为例进行解释说明,并不代表本技术实施例中的各下载层级仅有3 层。参见图3,图3中的(a)为各下载层级中的第一层,各下载层级中的第一层中仅有一张瓦片w1,图3中的(b)为各下载层级中的第二层,各下载层级中的第二层中有四张瓦片w2,图3中的(c)为各下载层级中的第三层,各下载层级中的第三层中有十六张瓦片w3。假设以各下载层级中的第三层为该起始下载层级,该起始下载层级中包括该目标地图m,由图3可见,在该起始下载层级中完全归属于该目标地图的瓦片有第二行第三列的瓦片w3和第三行第三列的瓦片
w3,在该起始下载层级中部分归属于该目标地图的瓦片有第一行第二列的瓦片w3、第一行第三列的瓦片w3、第一行第四列的瓦片w3、第二行第二列的瓦片w3、第二行第四列的瓦片 w3、第三行第二列的瓦片w3、第三行第四列的瓦片w3、第四行第二列的瓦片 w3、第四行第三列的瓦片w3以及第四行第四列的瓦片w3。那么,在该起始下载层级中的第二行第三列的瓦片w3、第三行第三列的瓦片w3、第一行第二列的瓦片 w3、第一行第三列的瓦片w3、第一行第四列的瓦片w3、第二行第二列的瓦片 w3、第二行第四列的瓦片w3、第三行第二列的瓦片w3、第三行第四列的瓦片 w3、第四行第二列的瓦片w3、第四行第三列的瓦片w3以及第四行第四列的瓦片 w3均为该目标地图的各起始瓦片。
114.示例性地,若各下载层级的数量为23,那么可以将各下载层级分别排列为第0 层、第1层、第2层、
……
、第22层。那么,可以将各下载层级中的第14层作为该起始下载层级,也可以将各下载层级中的第15层作为该起始下载层级,还可以将各下载层级中的任意一层作为该起始下载层级。本技术实施例对此不作限定。
115.值得注意的是,由于一般会将对应最小比例尺的下载层级排列在各下载层级中的第一层,将对应最大比例尺的下载层级排列在各下载层级中的最后一层,也就是说,排列在各下载层级中的第一层的下载层级中的地图几何精度最低且对应的瓦片最少,排列在各下载层级中的最后一层的下载层级中的地图几何精度最高且对应的瓦片最多,并且各下载层级中的地图对应的瓦片数量呈指数型增长,例如,排列在各下载层级中的第一层的下载层级中的地图对应的瓦片为1片,排列在各下载层级中的第二层的下载层级中的地图对应的瓦片就为4片,排列在各下载层级中的第三层的下载层级中的地图对应的瓦片就为16片。那么该起始下载层级可以位于各下载层级的中间位置。这样,可以降低服务器的处理压力,同时还可以避免导致该终端设备的处理压力过大而使得该终端设备宕机的问题。
116.步骤1003:根据该目标地图的各起始瓦片在该起始下载层级中的位置信息生成至少一个下载脚本,并将该下载脚本发送给该终端设备。
117.可选地,该下载脚本用于指示该各起始瓦片在该起始下载层级中的位置信息。
118.可选地,该下载脚本中可以包括该目标地图的各起始瓦片,也可以包括该目标地图的各起始瓦片的位置信息,还可以包括该起始下载层级在各下载层级中的位置。
119.可选地,可以在生成该下载脚本之后立即将该下载脚本发送给该终端设备,也可以在一定的触发条件之后再将该下载脚本发送给该终端设备。本技术实施例对此不作限定。
120.另外,可以仅仅生成一个该下载脚本,也可以生成多个下载脚本。本技术实施例对此不作限定。
121.可选地,在该服务器将该下载脚本发送给该终端设备之后,该终端设备可以根据该起始下载层级和各起始瓦片计算出各下载层级中除该起始下载层级之外的其他下载层级中的各瓦片。
122.由于仅需要根据该目标地图的各起始瓦片在该起始下载层级中的位置信息来生成该下载脚本,也就是说,该服务器不需要遍历各下载层级,也不需要确定各下载层级中的目标地图对应的瓦片,这样就可以大幅降低该服务器的处理压力,进而可以避免因为处理压力过大导致该服务器宕机的问题。
123.步骤1004:接收该终端设备发送的第二下载请求。
124.可选地,该第二下载请求中包括:该起始瓦片的位置信息以及关联瓦片在关联下载层级中的位置信息。
125.可选地,该起始瓦片的位置信息可以包括该起始瓦片在该起始下载层级中的行列信息。
126.可选地,该关联瓦片在各关联下载层级中的位置信息可以包括该关联瓦片在各关联下载层级中的行列信息。
127.可选地,该关联下载层级为除该起始下载层级之外的下载层级。
128.示例性地,若各下载层级共有第0层到第22层,而该起始下载层级为第15层,那么各下载层级中的第0层至第14层以及第16层至第22层均为关联下载层级。
129.可选地,该关联瓦片为该目标地图在该关联下载层级中的瓦片。
130.可选地,该关联瓦片在关联下载层级中的位置信息是由该终端设备计算得到的。
131.示例性地,继续参见图3,假设以各下载层级中的第三层为该起始下载层级,那么,各下载层级中的第一层、各下载层级中的第二层以及各下载层级中除了第三层之外的其他层级均为关联下载层级。那么,如图3中的(a)所示的,各下载层级中的第一层中仅有的一张瓦片w1则为关联瓦片,如图3中的(b)所示的,各下载层级中的第二层中四张瓦片w2均为关联瓦片,如图3中的(c)所示的,各下载层级中的第三层中十六张瓦片w3均为起始瓦片。
132.示例性地,各关联瓦片在各关联下载层级中的位置信息可以包括个关联瓦片在各关联下载层级中的行列信息,各关联瓦片的行列信息可以分别用各关联瓦片在各关联下载层级中的坐标表示。例如,各下载层级中的第一层中的唯一的一张关联瓦片w1的行列信息为(1,1)。而各下载层级中的第二层中的各关联瓦片的行列信息可以是根据各下载层级中的第一层中的关联瓦片w1确定的,例如,各下载层级中的第二层中第一行第一列的瓦片w2的行列信息是将关联瓦片w1的坐标乘2得到的,各下载层级中的第二层中第一行第一列的关联瓦片w2的行列信息为(2,2),再根据第一行第一列的关联瓦片w2的行列信息可以确定出第一行第二列的关联瓦片w2 的行列信息为(2,3)、第二行第一列的关联瓦片w2为(3,2)、第二行第二列的关联瓦片w3的行列信息为(3,3)。
133.示例性地,各起始瓦片的位置信息可以为各起始瓦片在该起始下载层级中的行列信息,各起始瓦片的行列信息可以分别用各起始瓦片在该起始下载层级中的坐标表示。理所当然地,该起始下载层级中第一行第一列的瓦片w3的行列信息可以是将各下载层级中的第二层中第一行第一列的关联瓦片w3的坐标乘2得到的,如图3中的(c)所示的,该起始下载层级中的第一行第一列的瓦片w3的行列信息为(4, 4)。再根据第一行第一列的关联瓦片w3的行列信息可以确定出第一行第二列的关联瓦片w3的行列信息为(4,5)、第二行第一列的关联瓦片w2为(5,4)、第二行第二列的关联瓦片w3的行列信息为(5,5)。这样,可以依次计算出该起始下载层级中各起始瓦片的行列信息,进而还可以计算出各下载层级中的第四层中的各关联瓦片的行列信息,直至计算出各下载层级中最后一层中的各关联瓦片的行列信息。
134.值得说明的是,由于该关联瓦片在关联下载层级中的位置信息是由该终端设备计算得到的,也就是说,该服务器并不需要计算或处理在各关联下载层级中的目标地图和/或关联瓦片。这样,就可以大幅降低该服务器的处理压力,进而可以避免因为处理压力过大导致该服务器宕机的问题。
135.步骤1005:根据该起始瓦片的位置信息以及该关联瓦片的位置信息,读取该起始瓦片以及该关联瓦片,并将该起始瓦片以及该关联瓦片发送给该终端设备。
136.可选地,可以将与该起始瓦片对应的数据以及与该关联瓦片对应的数据发送给该终端设备,并且由该终端设备对与该起始瓦片对应的数据以及与该关联瓦片对应的数据进行解析或解码以生成该起始瓦片和该关联瓦片。
137.这样,就可以实现下载目标地图在各下载层级中的瓦片的目的,也就可以实现下载目标地图的目的。
138.在本技术实施例中,通过接收终端设备发送的第一下载请求,根据该边界信息,获取该目标地图,并确定该目标地图的起始下载层级,根据该目标地图的各起始瓦片在该起始下载层级中的位置信息生成至少一个下载脚本,并将该下载脚本发送给该终端设备,接收该终端设备发送的第二下载请求,根据该起始瓦片的位置信息以及该关联瓦片的位置信息,读取该起始瓦片以及该关联瓦片,并将该起始瓦片以及该关联瓦片发送给该终端设备。其中,根据该目标地图的各起始瓦片在该起始下载层级中的位置信息生成至少一个下载脚本,这样该服务器就不需要遍历各下载层级,也不需要确定各下载层级中的目标地图对应的瓦片。另外,通过接收该终端设备发送的第二下载请求,根据该起始瓦片的位置信息以及该关联瓦片的位置信息,读取该起始瓦片以及该关联瓦片,并将该起始瓦片以及该关联瓦片发送给该终端设备,这样,在实现下载目标地图的目的的同时,该服务器就不需要计算或处理在各关联下载层级中的目标地图和/或关联瓦片。如此,可以达到降低服务器处理压力的效果,并且还可以避免因为处理压力过大导致该服务器宕机的问题。
139.一种可能的实现方式中,为了生成可以计算出各关联下载层级中的各瓦片的位置信息的下载脚本,并且为了防止该终端设备的处理压力过大,本技术实施例提供一种可能的确定起始下载层级的方式。确定该目标地图的起始下载层级,包括:
140.根据该目标地图的瓦片层级数量确定起始下载层级。
141.可选地,该目标地图的瓦片层级数量可以是提前设置的预设层级数量,也就是说,可以在将该目标地图存储到该服务器或与该服务器通信的数据库的时候,根据预设层级数量将该目标地图分别存储到各瓦片层级中。
142.可选地,该目标地图的瓦片层级包括该起始下载层级和该关联下载层级。
143.可选地,上述各下载层级的数量可以与该瓦片层级的数量相同,也可以小于该瓦片层级的数量。
144.例如,该瓦片层级的数量为23层,也就是说,该目标地图的瓦片层级可以为第 0层至第22层,而各下载层级的数量则小于或等于23。若各下载层级的数量为23,那么就代表需要下载所有瓦片层级中的该目标地图。当然,也可以选择各瓦片层级中的一部分层级作为各下载层级,比如可以选择该目标地图的瓦片层级中的第5层至第22层作为各下载层级。这样,就不需要下载或计算第0层至第4层的瓦片的位置信息。如此,可以提高地图下载的灵活性,还可以达到降低该服务器的处理压力的效果。
145.值得注意的是,由于一般会将对应最小比例尺的瓦片层级排列在各瓦片层级中的第一层,将对应最大比例尺的瓦片层级排列在各瓦片层级中的最后一层,也就是说,排列在各瓦片层级中的第一层的瓦片层级中的地图几何精度最低且对应的瓦片最少,排列在各瓦片层级中的最后一层的瓦片层级中的地图几何精度最高且对应的瓦片最多,并且各瓦片层
级中的地图对应的瓦片数量呈指数型增长,那么该起始下载层级可以位于各瓦片层级的中间位置。这样,可以降低服务器的处理压力,同时还可以避免导致该终端设备的处理压力过大而使得该终端设备宕机的问题。
146.一种可能的实现方式中,参见图4,确定该目标地图的起始下载层级,包括:
147.步骤1021:若该边界信息所指示的地图面积小于或等于预设面积,则将该目标地图的瓦片层级中的任一层级作为该起始下载层级。
148.可选地,该边界信息所指示的地图面积可以是指该目标地图的实际面积,也就是将该目标地图指示的面积除以比例尺得到的实际面积。
149.例如,该目标地图在任一瓦片层级中的面积为0.01平方米,而与这一瓦片层级对应的比例尺为1∶50000000,那么该目标地图的实际面积为500000平方米。
150.可选地,该预设面积可以是提前进行设置,比如可以将该预设面积设置为500 亩,当然也可以将该预设面积设置为其他数值的面积。
151.值得说明的是,若该边界信息所指示的地图面积小于或等于预设面积,则可以表征该目标地图的实际面积较小,也就说明该目标地图的内容较少,各瓦片层级中的目标地图对应的瓦片较少。这样,可以将该目标地图的瓦片层级中的任一层级作为该起始下载层级,当然,也可以将位于各瓦片层级的中间位置的一个瓦片层级作为该起始下载层级。
152.步骤1022:若该边界信息所指示的地图面积大于该预设面积,则根据该目标地图的瓦片层级确定多个可选层级,并根据该目标地图各可选层级中的瓦片数量,从该多个可选层级中筛选出该起始下载层级。
153.可选地,该可选层级可以是各瓦片层级中的任意两个或两个以上的瓦片层级,也可以是位于各瓦片层级中间位置的两个或三个或四个瓦片层级。该可选层级的数量可以根据实际需要进行调整。本技术实施例对此不作限定。
154.示例性地,若该瓦片层级的数量为23层,也就是说,该目标地图的瓦片层级可以为第0层至第22层,那么,可以将第14层至第18层作为该多个可选层级。
155.具体地,根据该目标地图各可选层级中的瓦片数量,从该多个可选层级中筛选出该起始下载层级的具体操作可以是:
156.判断该目标地图各可选层级中的瓦片数量是否大于第一预设阈值,若各可选层级中任一可选层级中的瓦片数量大于或等于该第一预设阈值,则将任一可选层级作为该起始下载层级。
157.可选地,该第一预设阈值可以是根据实际需要进行设置的,一般地,可以将该第一预设阈值设置为3。
158.若各可选层级中各可选层级中的瓦片数量均小于该第一预设阈值,则断该目标地图各可选层级中的瓦片数量是否大于第二预设阈值,若各可选层级中任一可选层级中的瓦片数量大于或等于该第二预设阈值,则将任一可选层级作为该起始下载层级。
159.可选地,该第二预设阈值可以是根据实际需要进行设置的,一般地,该第二预设阈值小于该第一预设阈值。例如,可以将该第二预设阈值设置为2。
160.若各可选层级中可选层级中的瓦片数量均小于该第二预设阈值,则将各可选层级中排列在最前的一个可选层级作为该起始下载层级。
161.示例性地,该第二预设阈值设置为2,若将各瓦片层级中的第14层至第18层作为该
多个可选层级,并且该多个可选层级中的瓦片数量均小于2,则可以将第14层的瓦片层级作为该起始下载层级。
162.这样,可以降低服务器的处理压力,同时还可以避免导致该终端设备的处理压力过大而使得该终端设备宕机的问题。
163.一种可能的实现方式中,参见图5,根据该目标地图的各起始瓦片在该起始下载层级中的位置信息生成至少一个下载脚本,包括:
164.步骤1031:根据该目标地图的起始瓦片的数量,将各起始瓦片划分为至少一个瓦片组。
165.可选地,各瓦片组中可以仅仅包括一个起始瓦片,也可以包括至少两个起始瓦片。本技术实施例对此不作限定。
166.示例性地,可以将各起始瓦片分别划分为一个瓦片组。
167.示例性地,根据该目标地图的起始瓦片的数量大于预设数量阈值,则可以将根据各起始瓦片的位置信息将相邻的两个或其他数量的起始瓦片划分为至少一个瓦片组。
168.例如,继续参见图3,假设该预设数量阈值为8,且以各下载层级中的第三层为该起始下载层级,那么在该起始下载层级中的该目标地图的起始瓦片的数量为12。也就是,该目标地图的起始瓦片的数量大于预设数量阈值,则可以将各起始瓦片中位于同一行的各起始瓦片划分为一个瓦片组,或者也可以将各起始瓦片中位于同一列的各起始瓦片划分为一个瓦片组,当然还可以根据其他的规则进行划分。本技术实施例对此不作限定。
169.步骤1032:根据各瓦片组中起始瓦片的位置信息,分别生成各瓦片组对应的该下载脚本。
170.可选地,可以将各瓦片组中起始瓦片的位置信息写入预设的初始脚本,以生成与各瓦片组对应的该下载脚本。本技术实施例对此不作限定。
171.可选地,该初始脚本可以是通用的下载脚本模板。
172.示例性地,各瓦片组中若仅包括一个起始瓦片,就需要生成与该起始下载层级中起始瓦片数量相同的下载脚本。
173.这样,该服务器仅需要根据该目标地图的各起始瓦片在该起始下载层级中的位置信息来生成该下载脚本,这样就可以大幅降低该服务器的处理压力,进而可以避免因为处理压力过大导致该服务器宕机的问题。
174.一种可能的实现方式中,参见图6,根据各瓦片组中起始瓦片的位置信息,分别生成各瓦片组对应的该下载脚本,包括:
175.步骤1033:分别生成各瓦片组对应的初始脚本。
176.可选地,该初始脚本的数量可以与各瓦片组的数量相同。
177.步骤1034:将该瓦片组中的起始瓦片在该起始下载层级中的位置信息以及该起始下载层级的层级标识写入各瓦片组对应的初始脚本中,得到各起瓦片组对应的该下载脚本。
178.这样,就可以控制各下载脚本中包含的数据量,可以确保在运行各下载脚本的情况下,该终端设备的处理压力不会很大,可以避免该终端设备宕机。
179.一种可能的实现方式中,参见图7,在接收终端设备发送的第一下载请求之前,该方法还包括:
180.步骤1006:按照预设瓦片模型对地图进行切片,得到多个下载层级以及地图在各下载层级内的瓦片。
181.可选地,该预设瓦片模型可以是通用的用于对地图进行切片以获取瓦片或瓦片数据的模型。例如,该预设瓦片模型可以是瓦片地图金字塔模型,也可以是其他可能的模型。本技术实施例对此不作限定。
182.示例性地,按照该预设瓦片模型对地图进行切片的操作,可以是先将该地图按照不同的比例尺进行缩放,然后将缩放后的地图切割为大小相同的各个瓦片,并且将缩放后的地图的各瓦片分别存储到各瓦片层级中。并且,任意相邻的两层瓦片层级的比例尺的比值是相等的,比如,可以将比例尺的比值设置为4。也就是说,按照该预设瓦片模型对地图进行切片之后得到的任意相邻的两层瓦片层级中的各瓦片的数量的比例是相等的。也即,各下载层级中的地图对应的瓦片数量是呈指数型增长的。例如,若将任意相邻的两层瓦片层级的比例尺的比值设置为4,那么,任意相邻的两层瓦片层级中的各瓦片的数量的比例则为4。
183.继续参见图3,如图3所示,切片后得到的各下载层级中的第一层中的瓦片 w1、各下载层级中的第二层中的各瓦片w2、各下载层级中的第三层中的各瓦片w3 的大小或尺寸是相同的。
184.另外,如图3所示的,各下载层级中的第一层中仅有1片瓦片w1,各下载层级中的第二层中有4片瓦片w2,各下载层级中的第三层中有16片瓦片w3。这是因为在按照该预设瓦片模型对地图进行切片时,是逐层进行切片的,各下载层级中的各瓦片分别与其它下载层级中的至少一片瓦片存在对应关系,一般地,可以通过与任一下载层级相邻的下载层级中的瓦片的位置信息确定出这一下载层级中各瓦片的位置信息。
185.示例性地,继续参见图3,这4片瓦片w2对应瓦片w1,而这16片瓦片w3分别是分割这4片瓦片w2得到的。
186.例如,图3中的(c)中行列信息为(4,4)、(4,5)、(5,4)、(5,5)的这4片瓦片 w3是分割图3中的(c)中行列信息为(2,2)的瓦片w2得到的。
187.并且,在按照该预设瓦片模型对地图进行切片时,会按照切割的顺序和相邻层级之间的瓦片切割关系,生成与各瓦片层级中的各瓦片对应的行列信息。例如,首先切割的是各瓦片层级中的第一层中的瓦片w1,那么就可以将第一层中的瓦片w1 的行列信息设置为(1,1),切割瓦片w1可以得到各瓦片层级中的第二层中的各瓦片w2,也就是说,可以将第一层中的瓦片w1的行列信息得到第二层中的各瓦片 w2的行列信息。如图3所示的,各瓦片w2的行列信息分别为(2,2)、(2,3)、 (3,2)、(3,3)。
188.又例如,切割行列信息为(2,2)的瓦片w2可以得到各瓦片层级中的第三层中处于左上角的四个瓦片w3,那么当然可以将第二层中的瓦片w2的行列信息得到第三层中的这四个瓦片w3的行列信息。如图3所示的,左上角的四个瓦片w3的行列信息分别为(4,4)、(4,5)、(5,4)、(5,5)。按照这种规律,可以分别得到各瓦片层级中的各瓦片的位置信息或行列信息。
189.另外,如图3所示的,相邻的任意两层瓦片层级中的第一行第一列的瓦片的行列信息的比值均为2,每一层瓦片层级中其它瓦片的行列信息可以根据这一层瓦片层级中的第一行第一列的瓦片的行列信息计算得到。
190.并且,相邻的任一两层瓦片层级中的前一层的瓦片层级中的各瓦片的行列信息与切割后能得到的后一层的4个瓦片层级中的左上角的一个瓦片的行列信息的比值为2。
191.例如,第三层的第一行第一列的瓦片的行列信息为(4,4),第三层的第一行第二列的瓦片的行列信息为(4,5),第三层的第一行第三列的瓦片的行列信息为(4,7),第三层的第二行第一列的瓦片的行列信息为(5,4),第三层的第四行第三列的瓦片的行列信息为(7,6)。
192.又例如,第二层的第一行第一列的瓦片的行列信息为(2,2),第三层的第一行第一列的瓦片的行列信息为(4,4),第二层的第二行第二列的瓦片的行列信息为 (3,3),第三层的第三行第三列的瓦片的行列信息为(6,6)。
193.按照这样的规律,可以根据各瓦片层级中的任一层的瓦片的位置信息得到各瓦片层级中的其他层级的各瓦片的位置信息或行列信息。
194.可选地,由于图3中仅仅示出了可以将上一层的瓦片分割成下一层的4个瓦片的方案,然而在实际应用中,当然也可以将上一层的瓦片分割成下一层的任意数量的瓦片,比如可以将上一层的瓦片分割成下一层的2个瓦片或8个瓦片。若本技术实施例对此不做限定。
195.可选地,该地图可以是存储在该服务器或与该服务器通信的数据库中的任意一张地图。本技术实施例对此不作限定。
196.图8为本技术提供的一种地图下载方法的流程图,该方法可以应用于前述的终端设备,该终端设备可以电脑、智能手机、平板电脑等设备。参见图8,本技术实施例提供一种地图下载方法,包括:
197.步骤2001:向服务器发送第一下载请求。
198.可选地,该第一下载请求中包括待下载的目标地图的边界信息。
199.可选地,该边界信息基于用户的触发操作得到。
200.可选地,该第一下载请求中还可以包括符合握手协议的握手信号。
201.可选地,该边界信息可以用于指示该目标地图的尺寸和/或形状和/或边界点的坐标,该边界信息也可以用于指示该目标地图为该服务器或与该服务器通信的数据库中的任意一整张地图或该目标地图为该服务器或与该服务器通信的数据库中的任意一张地图的一部分,该边界信息还可以用于指示该目标地图处于这一整张地图中的位置。本技术实施例对此不作限定。
202.可选地,该目标地图的形状可以根据用户的选择进行调整。本技术实施例对此不作限定。
203.步骤2002:接收该服务器发送的至少一个下载脚本。
204.可选地,该下载脚本用于指示各起始瓦片在该目标地图的起始下载层级中的位置信息。
205.可选地,该起始瓦片为该目标地图在该起始下载层级中的瓦片。
206.可选地,该起始下载层级中的该目标地图的各起始瓦片可以是完全归属于该目标地图的瓦片,也可以是部分归属于该目标地图的瓦片。
207.步骤2003:根据该至少一个下载脚本,确定关联瓦片在关联下载层级中的位置信息。
208.可选地,可以同时运行各下载脚本,同时通过各下载脚本获取该目标地图的各起
始瓦片和/或该目标地图的各起始瓦片的位置信息,以根据该目标地图的各起始瓦片和/或该目标地图的各起始瓦片的位置信息确定出各关联瓦片在各关联下载层级中的位置信息。
209.可选地,该关联下载层级为除该起始下载层级之外的下载层级。
210.示例性地,若各下载层级共有第0层到第22层,而该起始下载层级为第15层,那么各下载层级中的第0层至第14层以及第16层至第22层均为关联下载层级。
211.可选地,该关联瓦片为该目标地图在该关联下载层级中的瓦片。
212.可选地,该关联瓦片在关联下载层级中的位置信息是基于各起始瓦片的位置信息计算得到的。
213.可选地,该关联瓦片在各关联下载层级中的位置信息可以包括该关联瓦片在各关联下载层级中的行列信息。
214.步骤2004:根据各起始瓦片的位置信息以及各关联瓦片的位置信息,生成第二下载请求,并向该服务器发送该第二下载请求。
215.可选地,该第二下载请求中包括:该起始瓦片的位置信息以及关联瓦片在关联下载层级中的位置信息。
216.可选地,该起始瓦片的位置信息可以包括该起始瓦片在该起始下载层级中的行列信息。
217.步骤2005:接收该服务器发送的该起始瓦片以及该关联瓦片,并根据该起始瓦片以及该关联瓦片,生成并输出该目标地图。
218.可选地,该服务器发送的可以是与该起始瓦片对应的数据以及与该关联瓦片对应的数据,该终端设备可以对与该起始瓦片对应的数据以及与该关联瓦片对应的数据进行解析或解码以生成该起始瓦片和该关联瓦片。
219.值得说明的是,该终端设备可以根据各下载脚本,确定出各关联瓦片在各关联下载层级中的位置信息,这样,就可以大幅降低该服务器的处理压力,进而可以避免因为处理压力过大导致该服务器宕机的问题。
220.另外,由于各下载层级中的地图对应的瓦片数量呈指数型增长,因此一般在生成各下载模板时,会将位于各瓦片层级的中间位置的一层作为该起始下载层级,这样该起始下载层级中的各起始瓦片对应的关联瓦片的数量就比较少,可以降低服务器的处理压力,同时还可以避免导致该终端设备的处理压力过大而使得该终端设备宕机的问题。
221.一种可能的实现方式中,参见图9,根据该至少一个下载脚本,确定关联瓦片在关联下载层级中的位置信息,包括:
222.步骤2006:根据该至少一个下载脚本,获取该起始下载层级的层级标识和各起始瓦片的位置信息,并确定该起始下载层级在各下载层级中的位置。
223.可选地,确定该起始下载层级在各下载层级中的位置的操作可以是确定该起始下载层级按照比例尺大小排列在各下载层级中的顺序。
224.例如,假设该起始下载层级的排列顺序为n,各下载层级共有23层,分别为第 0层至第22层,那么确定该起始下载层级在各下载层级中的位置就可以是指确定该n 的具体数值,进而可以确定该起始下载层级具体为第0层至第22层中的第n-1层,其中,该n大于等于1且小于等于23。
225.步骤2007:根据各起始瓦片的位置信息和该起始下载层级在下载层级中的位置,
确定各关联瓦片在各关联下载层级中的位置信息。
226.可选地,各起始瓦片的位置信息可以包括各起始瓦片在该起始下载层级中的行列信息,各起始瓦片的行列信息可以分别用各起始瓦片在该起始下载层级中的坐标表示。
227.可选地,各关联瓦片在各关联下载层级中的位置信息可以包括各关联瓦片在各关联下载层级中的行列信息,各关联瓦片的行列信息可以分别用各关联瓦片在各关联下载层级中的坐标表示。
228.这样,就可以根据各起始瓦片的位置信息和该起始下载层级在下载层级中的位置依次计算出各下载层级中排列在该起始下载层级之前的各关联下载层级中的各关联瓦片的位置信息并依次计算出各下载层级中排列在该起始下载层级之后的各关联下载层级中的各关联瓦片的位置信息,还可以清楚明了地表示出各关联瓦片在各关联瓦片层级中所处的行和列。
229.一种可能的实现方式中,参见图10,根据各起始瓦片的位置信息和该起始下载层级在下载层级中的位置,确定各关联瓦片在各关联下载层级中的位置信息,包括:
230.步骤2008:根据预设瓦片模型得到关联瓦片递归算法。
231.可选地,该预设瓦片模型可以是上述的瓦片地图金字塔模型。本技术实施例对此不做限定。
232.可选地,该关联瓦片递归算法可以用于基于预设规则对各起始瓦片的行列信息进行逆推,以得到各下载层级中排列在该起始下载层级之前的各关联下载层级中的各关联瓦片的位置信息。还可以用于基于该预设规则对各起始瓦片的行列信息进行顺推,以得到各下载层级中排列在该起始下载层级之后的各关联下载层级中的各关联瓦片的位置信息。
233.可选地,该预设规则可以是跟上述根据各瓦片层级中的任一层的瓦片的位置信息得到各瓦片层级中的其他层级的各瓦片的位置信息或行列信息的规律对应的规则。
234.步骤2009:将各所述起始瓦片的行列信息和所述起始下载层级在下载层级中的位置输入到所述关联瓦片递归算法,依次计算各所述关联下载层级中的各所述关联瓦片的行列信息。
235.示例性地,继续参见图3,以图3中的第二层作为起始下载层级为例进行说明,各瓦片w2的行列信息分别为(2,2)、(2,3)、(3,2)、(3,3),由于这4片瓦片 w2对应瓦片w1,且相邻的任意两层瓦片层级中的第一行第一列的瓦片的行列信息的比值均为2,那么可以确定瓦片w1的行列信息为(1,1),且第三层中的第一行第一列的瓦片的行列信息为(4,4)。
236.又例如,这16片瓦片w3分别是分割这4片瓦片w2得到的,相邻的任一两层瓦片层级中的前一层的瓦片层级中的各瓦片的行列信息与切割后能得到的后一层的4 个瓦片层级中的左上角的一个瓦片的行列信息的比值为2,那么可以确定与行列信息为(2,3)的瓦片w2对应的一个瓦片w3的行列信息为(4,6),与行列信息为 (3,2)的瓦片w2对应的一个瓦片w3的行列信息为(6,4),与行列信息为(3, 3)的瓦片w2对应的一个瓦片w3的行列信息为(6,6)。
237.另外,由于每一层瓦片层级中其它瓦片的行列信息可以根据这一层瓦片层级中的第一行第一列的瓦片的行列信息计算得到,那么就可以根据行列信息为(4,6) 的瓦片w3、行列信息为(6,4)的瓦片w3、行列信息为(6,6)的瓦片w3和行列信息为(4,4)的瓦片w3分别计算出位于这4个瓦片w3右方、下方和右下方的各个瓦片w3的行列信息。这样就可以计算出
第三层中所有瓦片w3的行列信息。
238.由于该关联瓦片递归算法也是根据预设瓦片模型得到的,那么,就可以根据该起始下载层级的位置和该起始下载层级中的各起始瓦片的位置信息得到各关联下载层级中的各关联瓦片的位置信息或行列信息。这样,就可以由该终端设备完成确定各关联瓦片在各关联下载层级中的位置信息的工作。如此,就可以大幅降低该服务器的处理压力,进而可以避免因为处理压力过大导致该服务器宕机的问题。
239.一种可能的实现方式中,根据该起始瓦片以及该关联瓦片,生成并输出该目标地图,包括:
240.根据各起始瓦片的位置信息将各起始瓦片拼接,生成并输出该起始下载层级的该目标地图。
241.示例性地,可以将位于相邻行或相邻列的各起始瓦片依次拼接在一起。继续参见图3,假设以第二层作为该起始下载层级,可以将行列信息(2,2)的起始瓦片作为该起始下载层级的该目标地图中左上角的第一个瓦片,然后将与行列信息(2,2) 的起始瓦片处于同一行的各起始瓦片按照行列信息中指示的起始瓦片所处列的序号的大小,依次将同一行的各起始瓦片依次拼接在行列信息(2,2)的起始瓦片的右侧。并将与行列信息(2,2)的起始瓦片处于同一列的各起始瓦片按照行列信息中指示的起始瓦片所处行的序号的大小,依次将同一列的各起始瓦片依次拼接在行列信息(2,2)的起始瓦片的下方。
242.这样,就可以生成该起始下载层级的该目标地图。
243.可选地,在生成该起始下载层级的该目标地图之后,可以将该起始下载层级的该目标地图输出到与终端设备连接的显示设备上,也可以将该起始下载层级的该目标地图输出到其他终端设备上。本技术实施例对此不做限定。
244.根据各关联瓦片的位置信息将属于同一该关联下载层级的各关联瓦片拼接,生成并输出各关联下载层级的该目标地图。
245.示例性地,可以按照和上述拼接各起始瓦片相同的方式依次拼接各关联下载层级的中的各瓦片以生成各关联下载层级的该目标地图。
246.这样,就可以生成各关联下载层级的该目标地图。
247.可选地,在生成各关联下载层级的该目标地图之后,可以将各关联下载层级的该目标地图输出到与终端设备连接的显示设备上,也可以将各关联下载层级的该目标地图输出到其他终端设备上。本技术实施例对此不做限定。
248.图11是本技术实施例提供的一种地图下载方法的流程图。参见图11,该方法包括:
249.步骤3001:该终端设备向该服务器发送该第一下载请求。
250.步骤3002:该服务器接收该终端设备发送的该第一下载请求。
251.步骤3003:该服务器根据该边界信息,获取该目标地图,并确定该目标地图的起始下载层级。
252.步骤3004:该服务器根据该目标地图的各起始瓦片在该起始下载层级中的位置信息生成至少一个下载脚本。
253.步骤3005:该服务器将该下载脚本发送给该终端设备。
254.步骤3006:该终端设备接收该服务器发送的至少一个下载脚本。
255.步骤3007:该终端设备根据该至少一个下载脚本,确定关联瓦片在关联下载层级
中的位置信息。
256.步骤3008:该终端设备根据各起始瓦片的位置信息以及各关联瓦片的位置信息,生成第二下载请求。
257.步骤3009:该终端设备向该服务器发送该第二下载请求。
258.步骤3010:该服务器根据该起始瓦片的位置信息以及该关联瓦片的位置信息,读取该起始瓦片以及该关联瓦片。
259.步骤3011:该服务器将该起始瓦片以及该关联瓦片发送给该终端设备。
260.步骤3012:该终端设备接收该服务器发送的该起始瓦片以及该关联瓦片,并根据该起始瓦片以及该关联瓦片,生成并输出该目标地图。
261.下述对用以执行的本技术所提供地图下载方法的装置、设备及计算机可读存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
262.图12是本技术实施例提供的一种地图下载装置的结构示意图,应用于上述服务器,参见图12,该装置包括:
263.第一接收模块401,用于接收终端设备发送的第一下载请求。
264.可选地,该第一下载请求中包括待下载的目标地图的边界信息。
265.可选地,该第一下载请求中还可以包括符合握手协议的握手信号。
266.获取确定模块402,用于根据所述边界信息,获取所述目标地图,并确定所述目标地图的起始下载层级。
267.生成发送模块403,用于根据所述目标地图的各起始瓦片在所述起始下载层级中的位置信息生成至少一个下载脚本,并将所述下载脚本发送给所述终端设备。
268.可选地,该下载脚本用于指示该各起始瓦片在该起始下载层级中的位置信息。
269.可选地,该下载脚本中可以包括该目标地图的各起始瓦片,也可以包括该目标地图的各起始瓦片的位置信息,还可以包括该起始下载层级在各下载层级中的位置。
270.第二接收模块404,用于接收所述终端设备发送的第二下载请求。
271.可选地,该第二下载请求中包括:该起始瓦片的位置信息以及关联瓦片在关联下载层级中的位置信息。
272.读取发送模块405,用于根据所述起始瓦片的位置信息以及所述关联瓦片的位置信息,读取所述起始瓦片以及所述关联瓦片,并将所述起始瓦片以及所述关联瓦片发送给所述终端设备。
273.图13是本技术实施例提供的一种地图下载装置的结构示意图,应用于上述终端设备,参见图13,该装置包括:
274.第一发送模块501,用于向服务器发送第一下载请求。
275.可选地,该第一下载请求中包括待下载的目标地图的边界信息。
276.可选地,该第一下载请求中还可以包括符合握手协议的握手信号。
277.第三接收模块502,用于接收所述服务器发送的至少一个下载脚本。
278.可选地,该下载脚本用于指示各起始瓦片在该目标地图的起始下载层级中的位置信息。
279.确定模块503,用于根据所述至少一个下载脚本,确定关联瓦片在关联下载层级中的位置信息。
280.可选地,该关联下载层级为除该起始下载层级之外的下载层级。
281.第二发送模块504,用于根据各起始瓦片的位置信息以及各关联瓦片的位置信息,生成第二下载请求,并向所述服务器发送所述第二下载请求。
282.可选地,该第二下载请求中包括:该起始瓦片的位置信息以及关联瓦片在关联下载层级中的位置信息。
283.接收生成模块505,用于接收所述服务器发送的所述起始瓦片以及所述关联瓦片,并根据所述起始瓦片以及所述关联瓦片,生成并输出所述目标地图。
284.上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
285.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微控制器,或,一个或者多个现场可编程门阵列(field programmable gatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
286.图14是本技术实施例提供的一种计算机设备的结构示意图。参见图14,计算机设备包括:存储器601、处理器602,存储器601中存储有可在处理器602上运行的计算机程序,计算机程序被处理器602执行时,实现上述任意各个方法实施例中的步骤。
287.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
288.可选地,本技术还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述任一地图下载方法实施例。
289.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
290.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
291.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
292.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文: processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:
read-only memory,简称:rom)、随机存取存储器 (英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
293.上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
294.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献