地图访问方法、装置、服务器及存储介质与流程

文档序号:32056762发布日期:2022-11-04 21:49阅读:45来源:国知局
地图访问方法、装置、服务器及存储介质与流程

1.本发明涉及电子地图技术领域,具体而言,涉及一种地图访问方法、装置、服务器及存储介质。


背景技术:

2.地图缓存技术是一种非常有效的提高地图访问效率的方式,通常将地图文件预先存储在服务器中,当用户在客户端发起地图访问请求时,服务器将地图文件发送给客户端,客户端根据地图文件对地图进行显示。
3.上述方法往往时延较高,用户无法在客户端快速地进行地图访问,并且在客户端显示的地图色彩风格单一,无法根据用户的需求进行显示。


技术实现要素:

4.本发明的目的包括,例如,提供了一种地图访问方法、装置、服务器及存储介质,通过将地图的图层进行划分并存储为栅格瓦片,并根据用户在客户端选择的目标色彩对每个栅格瓦片进行色彩转换,将完成色彩转换后的栅格瓦片发送至客户端进行显示,从而实现快速进行地图在线访问,并且可以根据用户的需求显示不同色彩的地图。
5.为了实现上述目的,本发明实施例采用的技术方案如下:
6.第一方面,本发明实施例提供了一种地图访问方法,应用于服务器,所述服务器和客户端通信;所述服务器预先存储有至少一个栅格瓦片和色彩转换库,所述至少一个栅格瓦片是对地图的图层进行切分得到的,所述色彩转换库表征色彩和色彩数据的对应关系;
7.所述方法包括:
8.接收所述客户端发送的地图访问请求;
9.若所述地图访问请求包括所述用户在所述客户端选择的目标色彩,则针对每个所述栅格瓦片,根据所述目标色彩和所述色彩转换库中所述目标色彩对应的色彩数据,对所述栅格瓦片进行色彩转换;
10.将每个完成色彩转换后的栅格瓦片发送至所述客户端,以使所述客户端根据每个完成色彩转换后的栅格瓦片显示所述地图。
11.在一种可能的实施方式中,所述根据所述目标色彩和所述色彩转换库中所述目标色彩对应的色彩数据,对所述栅格瓦片进行色彩转换的步骤,包括:
12.针对所述栅格瓦片的每个像素点,若所述像素点的颜色为黑白灰,则根据所述目标色彩对所述像素点进行色彩转换;
13.若所述像素点的颜色不为黑白灰,则根据所述目标色彩从所述色彩转换库中确定出所述目标色彩对应的色彩数据,并根据所述目标色彩和所述目标色彩对应的色彩数据对所述像素点进行色彩转换,以完成对所述栅格瓦片的色彩转换。
14.在一种可能的实施方式中,所述根据所述目标色彩对所述像素点进行色彩转换的步骤,包括:
15.获得所述像素点的第一hsv数据;
16.若所述目标色彩为黑色,则将所述第一hsv数据进行翻转得到第二hsv数据;
17.若所述目标色彩不为所述黑色,则将所述第一hsv数据作为所述第二hsv数据;
18.将所述像素点从所述第一hsv数据调整为所述第二hsv数据,以完成所述像素点的色彩转换。
19.在一种可能的实施方式中,所述第一hsv数据包括第一色调数据、第一饱和度数据和第一明度数据;
20.所述将所述第一hsv数据进行翻转得到第二hsv数据的步骤,包括:
21.根据所述第一色调数据,利用公式h2=255-h1,计算得到第二色调数据;
22.根据所述第一饱和度数据,利用公式s2=255-s1,计算得到第二饱和度数据;
23.根据第一明度数据,利用公式v2=255-v1,计算得到第二明度数据,得到所述第二hsv数据,所述第二hsv数据包括所述第二色调数据,所述第二饱和度数据和所述第二明度数据;
24.其中,h2为所述第二色调数据,s2为所述第二饱和度数据,v2为所述第二明度数据,h1为所述第一色调数据,s1为所述第一饱和度数据,v1为所述第一明度数据。
25.在一种可能的实施方式中,所述目标色彩对应的色彩数据包括所述目标色彩对应的色调范围;
26.所述根据所述目标色彩和所述目标色彩对应的色彩数据对所述像素点进行色彩转换的步骤,包括:
27.获得所述像素点的第一hsv数据,其中,所述第一hsv数据包括第一色调数据、第一饱和度数据和第一明度数据;
28.若所述目标色彩为黑色,则根据所述目标色彩对应的色调范围确定第二色调数据,并分别对所述第一饱和度数据和所述第一明度数据进行翻转得到第二饱和度数据和第二明度数据,得到第二hsv数据,所述第二hsv数据包括所述第二色调数据、所述第二饱和度数据和所述第二明度数据;
29.若所述目标色彩不为所述黑色,则根据所述目标色彩对应的色调范围确定所述第二色调数据,并将所述第一饱和度数据和所述第一明度数据分别作为所述第二饱和度数据和所述第二明度数据,得到所述第二hsv数据;
30.将所述像素点从所述第一hsv数据调整为所述第二hsv数据,以完成所述像素点的色彩转换。
31.在一种可能的实施方式中,所述分别对所述第一饱和度数据和所述第一明度数据进行翻转得到第二饱和度数据和第二明度数据的步骤,包括:
32.根据所述第一饱和度数据,利用公式s2=255-s1,计算得到第二饱和度数据;
33.根据所述第一明度数据,利用公式v2=255-v1,计算得到第二明度数据,得到所述第二hsv数据;
34.其中,s2为所述第二饱和度数据,v2为所述第二明度数据,s1为所述第一饱和度数据,v1为所述第一明度数据。
35.在一种可能的实施方式中,在所述接收所述客户端发送的地图访问请求的步骤之后,所述方法还包括:
36.若所述地图访问请求不包括所述目标色彩,则将所述至少一个栅格瓦片发送至所述客户端,以使所述客户端根据所述至少一个栅格瓦片显示所述地图。
37.第二方面,本发明实施例还提供了一种地图访问装置,应用于服务器,所述服务器和客户端通信;所述服务器预先存储有至少一个栅格瓦片和色彩转换库,所述至少一个栅格瓦片是对地图的图层进行切分得到的,所述色彩转换库表征地图色彩风格和色彩数据的对应关系,所述地图色彩风格为用户根据所述客户端的显示风格自定义的;
38.所述地图访问装置包括:
39.接收模块,用于接收所述客户端发送的地图访问请求;
40.转换模块,用于若所述地图访问请求包括用户在所述客户端选择的目标地图色彩风格,则根据所述目标地图色彩风格从所述色彩转换库中确定出对应的色彩数据对每个所述栅格瓦片进行色彩转换;
41.发送模块,用于将每个完成色彩转换后的栅格瓦片发送至所述客户端,以使所述客户端根据每个完成色彩转换后的栅格瓦片显示所述地图。
42.第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
43.一个或多个处理器;
44.存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的地图访问方法。
45.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的地图访问方法。
46.相对现有技术,本发明实施例提供的一种地图访问方法、装置、服务器及存储介质,方法包括:接收客户端发送的地图访问请求,若地图访问请求包括用户在客户端选择的目标色彩,则针对每个栅格瓦片,根据目标色彩和色彩转换库中目标色彩对应的色彩数据,对栅格瓦片进行色彩转换;并将每个完成色彩转换后的栅格瓦片发送至客户端,以使客户端根据每个完成色彩转换后的栅格瓦片显示地图。由于服务器将地图的图层预先切分成了栅格瓦片,客户端无需进行解析渲染,提高了地图的访问速度,并且服务器根据用户的需求对每个栅格瓦片进行了色彩转换,使得客户端显示的地图色彩能够符合用户的需求,提升了用户体验。
附图说明
47.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
48.图1为本发明实施例提供的地图访问方法的应用场景示意图。
49.图2为本发明实施例提供的服务器的方框示意图。
50.图3为本发明实施例提供的地图访问方法的一种流程示意图。
51.图4为本发明实施例提供的栅格瓦片示意图。
52.图5为本发明实施例提供的地图显示界面示意图。
53.图6为本发明实施例提供的地图访问方法的另一种流程示意图。
54.图7为本发明实施例提供的色彩转换库的示意图。
55.图8为本发明实施例提供的地图访问装置的方框示意图。
56.图标:100-服务器;101-存储器;102-处理器;103-总线;200-地图访问装置;201-接收模块;202-转换模块;203-发送模块。
具体实施方式
57.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
58.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
59.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
60.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
61.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
62.现有技术中,地图缓存技术是一种非常有效的提高在线地图访问效率的方式,通常,地图缓存技术分为矢量瓦片技术和栅格瓦片技术。
63.矢量瓦片是将地图的矢量图层以矢量瓦片的形式进行切分并存储在服务器中的地图瓦片。当用户进行地图访问时,服务器将矢量瓦片发送至客户端,客户端对矢量瓦片进行实时解析渲染,以显示完整的地图,在进行解析渲染时,用户可以自定义地图的色彩。
64.但是采用矢量瓦片的方式进行地图缓存对前端技术要求较高,一些老旧地图平台无法兼容支撑这种格式的瓦片,在通用性和兼容性方面有一定的限制。
65.而栅格瓦片是将所有图层切分并存储为栅格格式的地图瓦片,栅格瓦片技术是目前使用最广及技术成熟的地图技术,当用户进行地图访问时,客户端无需对栅格瓦片进行解析渲染,通用性和兼容性较好,且显示速度快。
66.但是,采用栅格瓦片的方式进行地图缓存,在对地图的图层完成切图后,就已经决定了地图的渲染风格,客户端无法根据用户的色彩需求对地图进行显示,用户体验较差。
67.针对上述采用矢量瓦片的方式导致的通用性和兼容性较差,以及采用栅格瓦片的方式导致的客户端无法根据用户的色彩需求对地图进行显示的问题,本实施提供一种地图访问方法,通过将地图的图层进行划分并存储为栅格瓦片,并根据用户在客户端选择的目标色彩对每个栅格瓦片进行色彩转换,将完成色彩转换后的栅格瓦片发送至客户端进行显示,从而实现快速进行地图在线访问,并且可以根据用户的需求显示不同色彩的地图。
68.请参考图1,图1示出了本实施例提供的地图访问方法的应用场景图,包括服务器100和与服务器100通信的n个客户端。
69.服务器100预先存储有至少一个栅格瓦片和色彩转换库,至少一个栅格瓦片是对
地图的图层进行切分得到的,所述色彩转换库表征色彩和色彩数据的对应关系。
70.客户端用于根据用户在客户端的操作界面进行的地图访问操作生成地图访问请求,并将地图访问请求发送至服务器100。在接收到服务器100返回的栅格瓦片之后,根据栅格瓦片显示地图。
71.请参考图2,图2示出了本实施例提供的一种服务器100的方框示意图,服务器100可以是,但不限于,服务器或其它具有处理能力的服务器,也可以是通用计算机或特殊用途的计算机。服务器100包括存储器101、处理器102及总线103。该存储器101和处理器102通过总线103连接,例如,磁盘、rom、或ram,或其任意组合。示例性地,服务器100还可以包括存储在rom、ram、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本发明的方法。
72.存储器101用于存储程序,例如地图访问装置200。地图访问装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器101中的软件功能模块,处理器102在接收到执行指令后,执行所述程序以实现本实施例中的地图访问方法。
73.其中,存储器101可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-onlymemory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
74.处理器102可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,本实施例中的地图访问方法的各步骤可以通过处理器102中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器102可以是通用处理器,包括中央处理器(central processing unit,cpu)、微控制单元(microcontroller unit,mcu)、复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程门阵列(field programmable gate array,fpga)、嵌入式arm等芯片。
75.为了便于说明,在服务器100中仅描述了一个处理器。然而,应当注意,本发明中的服务器100还可以包括多个处理器,因此本发明中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若服务器100的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。
76.下面以图1中的服务器100和客户端1为例,对本实施例提供的地图访问方法进行介绍,地图访问方法应用于服务器100。请参考图3,图3示出了本实施例提供的地图访问方法的流程示意图,该方法包括以下步骤s110-s130。
77.s110,接收客户端发送的地图访问请求。
78.在本实施例中,地图访问请求是客户端根据用户在客户端的显示界面上的操作生成的,并通过nginx代理服务器转发至服务器100。
79.s120,若地图访问请求包括用户在客户端选择的目标色彩,则针对每个栅格瓦片,根据目标色彩和色彩转换库中目标色彩对应的色彩数据,对栅格瓦片进行色彩转换。
80.在本实施例中,服务器预先存储有至少一个栅格瓦片和色彩转换库,栅格瓦片如
图4所示,至少一个栅格瓦片是对地图的图层进行切分得到的,栅格瓦片为栅格格式的地图瓦片,色彩转换库表征色彩和色彩数据的对应关系。
81.当用户在客户端的显示界面选择了显示的地图的目标色彩时,生成的地图访问请求包括目标色彩。服务器根据目标色彩和色彩转换库中目标色彩对应的色彩数据,对栅格瓦片进行色彩转换,以将栅格瓦片的色彩转换为目标色彩。
82.s130,将每个完成色彩转换后的栅格瓦片发送至客户端,以使客户端根据每个完成色彩转换后的栅格瓦片显示地图。
83.在本实施例中,客户端的显示界面可以如图5所示,用户在进行地图访问的同时还可以选择显示的地图的色彩,例如,黑色、蓝色和灰色等,当用户不进行色彩选择时,则客户端显示默认的地图色彩。
84.用户可以根据显示地图的客户端的界面的色彩风格,选择相匹配的地图色彩进行显示。例如,在大屏可视化场景中,网页页面为科技风的蓝色风格,若地图的色彩为默认的浅色系,则影响整体的视觉效果。用户可以在客户端的地图显示界面选择地图的底图主题色为蓝色,以和网页页面的色彩风格进行匹配,极大地提升了视觉效果。
85.服务器100在完成栅格瓦片的色彩转换之后,将完成色彩转换的栅格瓦片进行缓存,若其他客户端进行地图访问时,服务器100判断是否缓存有与用户所选择的目标色彩相同的栅格瓦片,若存在,则将栅格瓦片发送至客户端,以使客户端根据栅格瓦片显示地图,若不存在,则按照上述步骤s110-s130对栅格瓦片进行色彩转换。
86.相对于现有技术,本实施例提供的地图访问方法将地图的图层切分为栅格瓦片,并根据用户在客户端选择的目标色彩对每个栅格瓦片进行色彩转换,客户端根据完成色彩转换的栅格瓦片显示符合用户需求的地图。由于栅格瓦片为栅格格式的地图瓦片,客户端无需进行解析渲染,提高了地图的访问速度,并且服务器根据用户的需求对每个栅格瓦片进行了色彩转换,使得客户端显示的地图色彩能够符合用户的需求,提升了用户体验。
87.可选的,当用户对地图的显示色彩没有要求时,则客户端显示地图的默认色彩。
88.因此,在图3的基础上,请参考图6,在步骤s110之后,地图访问方法还包括下述与步骤s110-s130并列的步骤s111。
89.s111,若地图访问请求不包括目标色彩,则将至少一个栅格瓦片发送至客户端,以使客户端根据至少一个栅格瓦片显示地图。
90.可选的,步骤s120中的根据目标色彩和色彩转换库中目标色彩对应的色彩数据,对栅格瓦片进行色彩转换包括下述子步骤s1201-s1202。
91.s1201,针对栅格瓦片的每个像素点,若像素点的颜色为黑白灰,则根据目标色彩对像素点进行色彩转换。
92.在本实施例中,色彩转换库可以如图7所示,包括黑、白、灰、红、橙、黄、绿、青、蓝、紫10种颜色和每种颜色对应的色彩数据,色彩数据包括色调数据范围、饱和度数据范围和明度数据范围。其中,hmin为色调最小值,hmax为色调最大值,smin为饱和度最小值,smax为饱和度最大值,vmin为明度最小值,vmax为明度最大值。
93.可以通过下述方式判断像素点的颜色是否为黑白灰。
94.获取像素点的hsv数据,判断hsv数据的色调数据范围、饱和度数据范围和明度数据范围是否属于黑、白、灰对应的色调数据范围、饱和度数据范围和明度数据范围。若是,则
像素点的颜色为黑白灰;若否,则像素点的颜色不为黑白灰。
95.s1202,若像素点的颜色不为黑白灰,则根据目标色彩从色彩转换库中确定出目标色彩对应的色彩数据,并根据目标色彩和目标色彩对应的色彩数据对像素点进行色彩转换,以完成对栅格瓦片的色彩转换。
96.可选的,子步骤s1201可以包括下述详细步骤s11-s14。
97.s11,获得像素点的第一hsv数据。
98.在本实施例中,可以通过下述方式获取第一hsv数据。
99.获得像素点的第一rgb数据,第一rgb数据包括第一红色数据、第一绿色数据和第一蓝色数据。
100.利用下述公式,将第一rgb数据转换为第一hsv数据,第一hsv数据包括第一色调数据、第一饱和度数据和第一明度数据。
[0101][0102][0103][0104]
其中,r1为所述第一红色数据,g1为所述第一绿色数据,b1为所述第一蓝色数据,v1为所述第一明度数据,s1为所述第一饱和度数据,h1为所述第一色调数据。
[0105]
s12,若目标色彩为黑色,则将第一hsv数据进行翻转得到第二hsv数据。
[0106]
s13,若目标色彩不为黑色,则将第一hsv数据作为第二hsv数据。
[0107]
s14,将像素点从第一hsv数据调整为第二hsv数据,以完成像素点的色彩转换。
[0108]
在本实施例中,为了使色彩转换更加平滑,可以将第二hsv数据转换为第二rgb数据之后,再将第一rgb数据调整为第二rgb数据。
[0109]
第二hsv数据包括第二色调数据、第二饱和度数据和第二明度数据,第二rgb数据包括第二红色数据、第二绿色数据和第二蓝色数据。可以按照下述公式,将第二hsv数据转换为第二rgb数据,以完成像素点的色彩转换。
[0110]
[0111]
其中,p=v2
×
(1-s2);q=v2
×
(1-f
×
s2);t=v2
×
(1-(1-f)
×
s2);r2为第二红色数据,g2为第二绿色数据,b2为第二蓝色数据;v2为第二明度数据,s2为第二饱和度数据,h2为第二色调数据。
[0112]
可选的,步骤s2可以包括下述详细步骤。
[0113]
第一步,根据第一色调数据,利用公式h2=255-h1,计算得到第二色调数据。
[0114]
第二步,根据第一饱和度数据,利用公式s2=255-s1,计算得到第二饱和度数据。
[0115]
第三步,根据第一明度数据,利用公式v2=255-v1,计算得到第二明度数据,得到第二hsv数据,第二hsv数据包括第二色调数据,第二饱和度数据和第二明度数据。
[0116]
其中,h2为第二色调数据,s2为第二饱和度数据,v2为第二明度数据,h1为第一色调数据,s1为第一饱和度数据,v1为第一明度数据。
[0117]
在本实施例中,若像素点的颜色为黑白灰,例如,像素点的hsv数据分别为(1,1,1),为黑色,当目标色彩为黑色时,对第一hsv数据进行翻转得到第二hsv数据。分别为:第二色调数据h2=255-h1=255-1=254;第二饱和度数据s2=255-s1=255-1=254;第二明度数据v2=255-v1=255-1=254。第二hsv数据为(254,254,254)。
[0118]
可选的,目标色彩对应的色彩数据包括目标色彩对应的色调范围。s1202中的根据目标色彩和目标色彩对应的色彩数据对像素点进行色彩转换的步骤,可以包括下述步骤s21-s24。
[0119]
s21,获得像素点的第一hsv数据,其中,第一hsv数据包括第一色调数据、第一饱和度数据和第一明度数据。
[0120]
s22,若目标色彩为黑色,则根据目标色彩对应的色调范围确定第二色调数据,并分别对第一饱和度数据和第一明度数据进行翻转得到第二饱和度数据和第二明度数据,得到第二hsv数据,第二hsv数据包括第二色调数据、第二饱和度数据和第二明度数据。
[0121]
s23,若目标色彩不为黑色,则根据目标色彩对应的色调范围确定第二色调数据,并将第一饱和度数据和第一明度数据分别作为第二饱和度数据和第二明度数据,得到第二hsv数据。
[0122]
在本实施例中,若目标色彩为黑色,则从如图7所示的色彩转换库中确定出黑色对应的色调数据范围,并将色调数据范围中的任意一个色调数据作为第二色调数据。例如,从黑色对应的色调数据范围[0,180]中确定出的第二色调数据为8。
[0123]
若目标色彩不为黑色,则从色彩转换库中确定出目标色彩对应的色调范围,并将色调数据范围中的任意一个色调数据作为第二色调数据。
[0124]
例如,像素点的第一hsv数据为(130,100,100),目标色彩为绿色,则从色彩转换库中确定出的绿色对应的色调范围为[35,77],则可以确定第二色调数据为55,第二饱和度数据为100,第二明度数据为100。
[0125]
s24,将像素点从第一hsv数据调整为第二hsv数据,以完成像素点的色彩转换。
[0126]
在本实施例中,为了使色彩转换更加平滑,可以将第二hsv数据转换为第二rgb数据之后,再将第一rgb数据调整为第二rgb数据。
[0127]
可选的,步骤s22中的分别对第一饱和度数据和第一明度数据进行翻转得到第二饱和度数据和第二明度数据的步骤,可以包括下述详细步骤。
[0128]
第一步,根据第一饱和度数据,利用公式s2=255-s1,计算得到第二饱和度数据;
[0129]
第二步,根据第一明度数据,利用公式v2=255-v1,计算得到第二明度数据,得到第二hsv数据;
[0130]
其中,s2为第二饱和度数据,v2为第二明度数据,s1为第一饱和度数据,v1为第一明度数据。
[0131]
在本实施例中,例如,像素点的颜色为蓝色,其第一hsv数据为(110,88,88),则根据色彩转换库确定出的第二色调数据可以为55,将第一饱和度数据翻转得到的第二饱和度数据为s2=255-s1=255-88=167,将第一明度数据翻转得到的第二明度数据为v2=255-v1=255-88=167。得到的第二hsv数据为(55,167,167)。
[0132]
与现有技术相比,本实施例具有以下有益效果:
[0133]
首先,本实施例提供的地图访问方法,由于将地图的图层划分为了至少一个栅格瓦片,栅格瓦片为栅格格式的地图瓦片,客户端无需进行解析渲染,提高了地图的访问速度,并且服务器根据用户的需求对每个栅格瓦片进行了色彩转换,使得客户端显示的地图色彩能够符合用户的需求,提升了用户体验。
[0134]
然后,本实施例提供的地图访问方法,在对栅格瓦片进行色彩转换时,使用每个像素点的hsv数据进行转换,使得色彩的转换更为平滑。
[0135]
请参考图8,图8示出了本实施例提供的地图访问装置200的方框示意图。地图访问装置200应用于服务器100,服务器100和客户端通信;服务器100预先存储有至少一个栅格瓦片和色彩转换库,至少一个栅格瓦片是对地图的图层进行切分得到的,色彩转换库表征地图色彩风格和色彩数据的对应关系,地图色彩风格为用户根据客户端的显示风格自定义的。地图访问装置200包括:接收模块201,转换模块202和发送模块203。
[0136]
接收模块201,用于接收客户端发送的地图访问请求。
[0137]
转换模块202,用于若地图访问请求包括用户在客户端选择的目标地图色彩风格,则根据目标地图色彩风格从色彩转换库中确定出对应的色彩数据对每个栅格瓦片进行色彩转换。
[0138]
发送模块203,用于将每个完成色彩转换后的栅格瓦片发送至客户端,以使客户端根据每个完成色彩转换后的栅格瓦片显示地图。
[0139]
可选的,转换模块202还用于:
[0140]
针对所述栅格瓦片的每个像素点,若所述像素点的颜色为黑白灰,则根据所述目标色彩对所述像素点进行色彩转换。
[0141]
若所述像素点的颜色不为黑白灰,则根据所述目标色彩从所述色彩转换库中确定出所述目标色彩对应的色彩数据,并根据所述目标色彩和所述目标色彩对应的色彩数据对所述像素点进行色彩转换,以完成对所述栅格瓦片的色彩转换。
[0142]
可选的,转换模块202还用于:
[0143]
获得像素点的第一hsv数据。
[0144]
若目标色彩为黑色,则将第一hsv数据进行翻转得到第二hsv数据。
[0145]
若目标色彩不为黑色,则将第一hsv数据作为第二hsv数据。
[0146]
将像素点从第一hsv数据调整为第二hsv数据,以完成像素点的色彩转换。
[0147]
可选的,第一hsv数据包括第一色调数据、第一饱和度数据和第一明度数据。
[0148]
转换模块202还用于:
[0149]
根据第一色调数据,利用公式h2=255-h1,计算得到第二色调数据。
[0150]
根据第一饱和度数据,利用公式s2=255-s1,计算得到第二饱和度数据。
[0151]
根据第一明度数据,利用公式v2=255-v1,计算得到第二明度数据,得到第二hsv数据,第二hsv数据包括第二色调数据,第二饱和度数据和第二明度数据。
[0152]
其中,h2为第二色调数据,s2为第二饱和度数据,v2为第二明度数据,h1为第一色调数据,s1为第一饱和度数据,v1为第一明度数据。
[0153]
可选的,目标色彩对应的色彩数据包括目标色彩对应的色调范围。
[0154]
转换模块202还用于:
[0155]
获得像素点的第一hsv数据,其中,第一hsv数据包括第一色调数据、第一饱和度数据和第一明度数据。
[0156]
若目标色彩为黑色,则根据目标色彩对应的色调范围确定第二色调数据,并分别对第一饱和度数据和第一明度数据进行翻转得到第二饱和度数据和第二明度数据,得到第二hsv数据,第二hsv数据包括第二色调数据、第二饱和度数据和第二明度数据。
[0157]
若目标色彩不为黑色,则根据目标色彩对应的色调范围确定第二色调数据,并将第一饱和度数据和第一明度数据分别作为第二饱和度数据和第二明度数据,得到第二hsv数据。
[0158]
将像素点从第一hsv数据调整为第二hsv数据,以完成像素点的色彩转换。
[0159]
可选的,转换模块202还用于:
[0160]
根据第一饱和度数据,利用公式s2=255-s1,计算得到第二饱和度数据;
[0161]
根据第一明度数据,利用公式v2=255-v1,计算得到第二明度数据,得到第二hsv数据。
[0162]
其中,s2为第二饱和度数据,v2为第二明度数据,s1为第一饱和度数据,v1为第一明度数据。
[0163]
可选的,发送模块203还用于:
[0164]
若地图访问请求不包括目标色彩,则将至少一个栅格瓦片发送至客户端,以使客户端根据至少一个栅格瓦片显示地图。
[0165]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的地图访问装置200的具体工作过程。可以参考前述方法实施例中的对应过程,在此不再赘述。
[0166]
本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器102执行时实现上述实施例揭示的地图访问方法。
[0167]
综上所述,本发明实施例提供的一种地图访问方法、装置、服务器及存储介质,方法包括:接收客户端发送的地图访问请求,若地图访问请求包括用户在客户端选择的目标色彩,则针对每个栅格瓦片,根据目标色彩和色彩转换库中目标色彩对应的色彩数据,对栅格瓦片进行色彩转换;并将每个完成色彩转换后的栅格瓦片发送至客户端,以使客户端根据每个完成色彩转换后的栅格瓦片显示地图。由于服务器将地图的图层预先切分成了栅格瓦片,客户端无需进行解析渲染,提高了地图的访问速度,并且服务器根据用户的需求对每个栅格瓦片进行了色彩转换,使得客户端显示的地图色彩能够符合用户的需求,提升了用户体验。
[0168]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1