CN109684426A - 一种地图切片方法及装置 - Google Patents
一种地图切片方法及装置 Download PDFInfo
- Publication number
- CN109684426A CN109684426A CN201811475617.3A CN201811475617A CN109684426A CN 109684426 A CN109684426 A CN 109684426A CN 201811475617 A CN201811475617 A CN 201811475617A CN 109684426 A CN109684426 A CN 109684426A
- Authority
- CN
- China
- Prior art keywords
- map
- data
- layer
- tile
- target tile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明实施例公开了一种地图切片方法及装置,涉及地理信息领域,解决了在进行地图切片时切片效率较低的问题。具体方案为:根据输入的地图样式标识,从应用服务器处获取地图样式文件,根据输入的区域位置的信息和切片等级,计算区域位置对应的至少一个瓦片的编号,根据目标瓦片的编号,从数据库服务器处获取目标瓦片包含的数据,目标瓦片为至少一个瓦片中的任意一个,根据地图样式文件,使用GPU绘制目标瓦片包含的数据,得到绘制后的纹理图片,向数据库服务器发送该纹理图片。本发明实施例用于地图切片的过程中。
Description
技术领域
本发明实施例涉及地理信息领域,尤其涉及一种地图切片方法及装置。
背景技术
地图切片是指预先对地图数据进行切片,并以瓦片金字塔形式保存在服务器中,以便在接收到用户提交的请求后,将相应的地图瓦片发送给客户端,这样可以提高地图在客户端的浏览速度。
现有技术中,地理信息系统(Geographic Information System,GlS)平台,如ArcGlS平台的服务端(Server)进行地图切片的过程为:先获取切片的起点位置、图片宽度、图片高度等切片信息,然后根据用户设置的比例尺来计算地图数据所在整个网格中的行列号,最后根据该行列号以及切片信息,使用中央处理器(Central Processing Unit,CPU)将地图原图进行切分。
现有技术中至少存在以下技术问题:由于地图切片时采用的是CPU,会导致大数据量的进行切片时,切片效率较低,时间较长。
发明内容
本发明提供一种地图切片方法及装置,解决了在进行地图切片时切片效率较低的问题。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种地图切片方法,该方法可以包括:根据输入的地图样式标识,从应用服务器处获取地图样式文件;根据输入的区域位置的信息和切片等级,计算区域位置对应的至少一个瓦片的编号;根据目标瓦片的编号,从数据库服务器处获取目标瓦片包含的数据;目标瓦片为至少一个瓦片中的任意一个;根据地图样式文件,使用图形处理器(Graphics Processing Unit,GPU)绘制目标瓦片包含的数据,得到绘制后的纹理图片;向数据库服务器发送纹理图片。
结合第一方面,在一种可能的实现方式中,根据输入的地图样式标识,从应用服务器处获取地图样式文件,具体的可以包括:向应用服务器发送包含有地图样式标识的第一请求消息;接收应用服务器发送的地图样式文件。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,根据目标瓦片的编号,从数据库服务器处获取目标瓦片包含的数据,具体的可以包括:向数据库服务器发送包含有目标瓦片的编号的第二请求消息;接收数据库服务器发送的目标瓦片包含的数据。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,接收数据库服务器发送的目标瓦片包含的数据,具体的可以包括:接收数据库服务器发送的与目标瓦片的编号对应的数据源图层,以及与数据源图层一一对应的数据。此时,目标瓦片包含的数据为所有与数据源图层对应的数据。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,根据地图样式文件,使用GPU绘制目标瓦片包含的数据,得到绘制后的纹理图片,具体的可以包括:获取地图样式文件包括的至少一个数据源图层,以及与至少一个数据源图层一一对应的样式参数;根据与数据源图层一一对应的数据,将至少一个数据源图层中,存在对应的数据的图层确定为候选图层,得到候选图层集合;根据与候选图层对应的样式参数,使用GPU,将候选图层对应的数据绘制在帧缓冲区中,得到候选图层的图片;将候选图层集合包括的所有候选图层的图片进行叠加,得到纹理图片。
第二方面,本发明提供一种地图切片装置,该地图切片装置可以包括:获取单元、计算单元、绘制单元和发送单元。获取单元,用于根据输入的地图样式标识,从应用服务器处获取地图样式文件。计算单元,用于根据输入的区域位置的信息和切片等级,计算区域位置对应的至少一个瓦片的编号。获取单元,还用于根据计算单元得到的目标瓦片的编号,从数据库服务器处获取目标瓦片包含的数据;目标瓦片为至少一个瓦片中的任意一个。绘制单元,用于根据地图样式文件,使用GPU绘制目标瓦片包含的数据,得到绘制后的纹理图片。发送单元,用于向数据库服务器发送纹理图片。
结合第二方面,在一种可能的实现方式中,获取单元,具体用于:向应用服务器发送包含有地图样式标识的第一请求消息;接收应用服务器发送的地图样式文件。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,获取单元,具体用于:向数据库服务器发送包含有目标瓦片的编号的第二请求消息;接收数据库服务器发送的目标瓦片包含的数据。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,获取单元,具体用于:接收数据库服务器发送的与目标瓦片的编号对应的数据源图层,以及与数据源图层一一对应的数据;目标瓦片包含的数据为所有与数据源图层对应的数据。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,绘制单元,具体用于:获取地图样式文件包括的至少一个数据源图层,以及与至少一个数据源图层一一对应的样式参数;根据与数据源图层一一对应的数据,将至少一个数据源图层中,存在对应的数据的图层确定为候选图层,得到候选图层集合;根据与候选图层对应的样式参数,使用GPU,将候选图层对应的数据绘制在帧缓冲区中,得到候选图层的图片;将候选图层集合包括的所有候选图层的图片进行叠加,得到纹理图片。
具体的实现方式可以参考第一方面或第一方面的可能的实现方式提供的地图切片方法中地图切片装置的行为功能。
第三方面,提供一种地图切片装置,该地图切片装置包括:至少一个处理器、存储器、通信接口和通信总线。处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当地图切片装置运行时,处理器执行存储器存储的计算机执行指令,以使地图切片装置执行如第一方面或第一方面的可能的实现方式中任意一项的地图切片方法。
第四方面,提供一种计算机存储介质,其上存储有计算机执行指令,当计算机执行指令在地图切片装置上运行时,使得地图切片装置执行如第一方面或第一方面的可能的实现方式中任意一项的地图切片方法。
本发明提供的地图切片方法,在获取到地图样式文件,计算出区域位置对应的至少一个瓦片的编号之后,根据至少一个瓦片中的任意一个瓦片,如目标瓦片的编号,获取该目标瓦片包含的数据,并根据地图样式文件,使用GPU绘制目标瓦片包含的数据,得到绘制后的纹理图片,并将其发送至数据库服务器。这样,由于在绘制目标瓦片包含的数据时使用的是GPU,在GPU和CPU能力相当的情况下GPU渲染数据比CPU渲染数据快,因此提高了地图切片的效率,减少了切片所用的时间。
附图说明
图1为本发明实施例提供的一种可以应用本发明实施例的系统架构的简化示意图;
图2为本发明实施例提供的一种地图切片装置的组成示意图;
图3为本发明实施例提供的一种地图切片方法的流程图;
图4为本发明实施例提供的另一种地图切片装置的组成示意图;
图5为本发明实施例提供的另一种地图切片装置的组成示意图;
图6为本发明实施例提供的另一种地图切片装置的组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种可以应用本发明实施例的系统架构的简化示意图,如图1所示,该系统架构可以包括:地图切片装置11、应用服务器12和数据库服务器13。
其中,地图切片装置11分别与应用服务器12、数据库服务器13进行数据的交互。
应用服务器12,用于存储地图样式标识与地图样式文件的对应关系。
数据库服务器13,可以包括Redis数据库,Redis数据库用于存储瓦片的编号、数据源图层、数据之间的对应关系,该数据是协议缓冲的二进制格式(Protocol buffer BinaryFormat,PBF)的数据;Redis数据库是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型的键值数据库。数据库服务器13,还用于存储地图切片装置11绘制得到的纹理图片。且数据库服务器13还可以包括HBase数据库,HBase数据库是一个分布式的、面向列的开源数据库。
地图切片装置11,用于根据地图样式文件,使用GPU绘制瓦片包含的数据,得到绘制后的纹理图片,并向数据库服务器13发送纹理图片。
在具体的实现中,如图2所示,地图切片装置11可以包括:服务端模块21、多个工作(Worker)模块22和GPU集群23。
其中,服务端模块21,用于管理协调多个工作模块22,可以包括传输控制协议(Transmission Control Protocol,TCP)服务模块211和瓦片管理模块212。其中,TCP服务模块211,用于调度工作模块22,以使得工作模块22进行瓦片的渲染。瓦片管理模块212,用于根据地图样式标识,获取地图样式文件;还用于根据区域位置的信息和切片等级,计算区域位置对应的至少一个瓦片的编号;还用于分别向工作模块22发送瓦片的编号和地图样式文件,一个工作模块22对应一个瓦片的编号。
工作模块22可以包括用户界面(User Interface,UI)层和业务数据层。Ul层可以包括TCP客户端(Client)模块221、Redis客户端模块222、绘制模块223,业务数据层可以包括:数据解析模块224和叠加模块225。其中,TCP客户端模块221,用于接收瓦片管理模块212发送的瓦片的编号和地图样式文件。Redis客户端模块222,用于根据瓦片的编号,获取该瓦片包含的数据。绘制模块223,用于调用图形程序接口,如开放图形库(Open GraphicsLibrary,OpenGL)接口,根据地图样式文件,使用GPU 23绘制瓦片包含的数据。数据解析模块224,用于解析地图样式文件包括的至少一个数据源图层,以及与至少一个数据源图层一一对应的样式参数,还用于解析瓦片包含的数据。叠加模块225,用于将数据源图层的图片进行叠加,得到纹理图片。
为了解决在进行地图切片时切片效率较低的问题,本发明实施例提供了一种地图切片方法,基于图1和图2,如图3所示,该方法可以包括:
301、根据输入的地图样式标识,从应用服务器处获取地图样式文件。
其中,地图样式标识用于唯一标识地图样式文件,该地图样式文件可以包括绘制所用的线、颜色等内容。当需要进行地图切片时,地图切片装置的瓦片管理模块,可以获取用户输入的地图样式标识,并向应用服务器发送包含有地图样式标识的第一请求消息,以便应用服务器根据该地图样式标识,查找对应的ison格式的地图样式文件,并向地图切片装置返回该地图样式文件。
需要说明的是,在本发明实施例中,进行应用服务器中的地图样式文件的配置时花费了较长时间,增加了更多的用户需求,使得该地图样式文件中的内容较现有技术更加丰富,从而使得绘制得到的纹理图片更加形象,提高了用户体验。
302、根据输入的区域位置的信息和切片等级,计算区域位置对应的至少一个瓦片的编号。
其中,地图可以按照不同的切片等级被分割成多个瓦块,可以对多个瓦块进行编号,并在地图切片装置中预存不同切片等级下,每个瓦块的编号以及对应的该瓦块的范围。
瓦片管理模块可以根据用户输入的区域位置的信息和切片等级,如该区域位置的信息可以为省、市、县的信息,计算该切片等级下,区域位置所处的至少一个瓦片的编号,并分别向TCP客户端模块发送瓦片的编号和地图样式文件,且通过TCP服务模块对TCP客户端模块所处的工作模块进行调度,使该工作模块执行以下步骤303-步骤305。其中,一个TCP客户端模块接收一个瓦片的编号。
需要说明的是,在本发明实施例中,瓦片管理模块可以同时调用多个工作模块,调用工作模块的数量由用户输入的进程数来决定。且瓦片管理模块可以对工作模块进行合理调度,避免重复渲染相同的瓦片。
303、根据目标瓦片的编号,从数据库服务器处获取目标瓦片包含的数据。
其中,瓦片管理模块在计算出区域位置对应的至少一个瓦片的编号之后,可以获取至少一个瓦片中的任意一个,如目标瓦片包含的数据。具体的,TCP客户端模块在接收到瓦片管理模块发送的目标瓦片的编号和地图样式文件之后,可以向Redis客户端模块发送目标瓦片的编号,Redis客户端模块便可以向数据库服务器发送包含有目标瓦片的编号的第二请求消息,以便数据库服务器从Redis数据库中查找与目标瓦片的编号对应的数据源图层,以及与该数据源图层一一对应的PBF格式的数据,此时,目标瓦片包含的数据为所有与数据源图层对应的数据。其中,数据源图层可以为道路、兴趣点、建筑物图层等。
304、根据地图样式文件,使用GPU绘制目标瓦片包含的数据,得到绘制后的纹理图片。
其中,Redis客户端模块在接收到目标瓦片包含的数据之后,可以由绘制模块来进行数据的渲染。具体的,TCP客户端模块可以向数据解析模块发送地图样式文件,数据解析模块便可以解析得到该地图样式文件包括的至少一个数据源图层,以及与至少一个数据源图层一一对应的样式参数。然后数据解析模块可以根据Redis客户端模块接收到的与目标瓦片的编号对应的数据源图层,以及与数据源图层一一对应的数据,遍历地图样式文件中的至少一个数据源图层,如果某个图层存在对应的数据,则将该图层确定为候选图层,如果某个图层不存在对应的数据,则跳过该图层,从而得到候选图层集合。对于任意一个候选图层,数据解析模块可以解析该候选图层对应的数据,以便绘制模块可以根据该候选图层对应的样式参数,使用GPU,将候选图层对应的数据绘制在帧缓冲区(Frame Buffer)中,得到该候选图层的图片。在绘制模块得到候选图层集合包括的每个候选图层的图片之后,叠加模块可以将所有候选图层的图片进行叠加,得到便携式网络图形(Portable NetworkGraphics,PNG)格式的纹理图片。
需要说明的是,在本发明实施例中,当瓦片管理模块同时调用多个工作模块同时渲染多个瓦片时,可以同时使用GPU集群中的多个GPU,从而加快瓦片渲染速度,提高地图切片效率。
305、向数据库服务器发送纹理图片。
其中,地图切片装置在得到绘制后的纹理图片后,可以向数据库服务器发送该纹理图片。且数据库服务器可以将接收到的纹理图片,以Redis数据库文件(Redis DataBase,RDB)的格式保存在Redis数据库中,这样,在地图切片装置进行本地部署,即地图切片装置向数据库服务器请求该纹理图片时,数据库服务器可以直接返回RDB格式的纹理图片。
但是,现有技术中数据库服务器是直接保存PNG格式的纹理图片的,这样当地图切片装置请求该纹理图片时,数据库服务器需要先压缩该纹理图片,并将压缩后的图片发送至地图切片装置,地图切片装置需要在解压后才能查看该纹理图片。本发明与之相比,通过以RDB的格式保存纹理图片,避免了图片的压缩和解压缩的过程,从来减少了本地部署的时间,在请求大量的纹理图片时更为明显。
需要说明的是,在本发明实施例中,由于纹理图片是保存在Redis数据库中的,Redis数据库运行在内存中,可以加快纹理图片的读写速度。但是,在数据库服务器的硬件条件不支持大数量级内存时,可以支持Redis数据库与HBase数据库相互切换,也可以将纹理图片存储在HBase数据库中作为硬盘存储。
本发明提供的地图切片方法,在获取到地图样式文件,计算出区域位置对应的至少一个瓦片的编号之后,根据至少一个瓦片中的任意一个瓦片,如目标瓦片的编号,获取该目标瓦片包含的数据,并根据地图样式文件,使用GPU绘制目标瓦片包含的数据,得到绘制后的纹理图片,并将其发送至数据库服务器。这样,由于在绘制目标瓦片包含的数据时使用的是GPU,在GPU和CPU能力相当的情况下GPU渲染数据比CPU渲染数据快,因此提高了地图切片的效率,减少了切片所用的时间。
上述主要从地图切片装置的角度对本发明实施例提供的方案进行了介绍。可以理解的是,地图切片装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对地图切片装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中涉及的地图切片装置的另一种可能的组成示意图,如图4所示,该地图切片装置可以包括:获取单元41、计算单元42、绘制单元43和发送单元44。
其中,获取单元41,用于支持地图切片装置执行图3所示的地图切片方法中的步骤301、步骤303。
计算单元42,用于支持地图切片装置执行图3所示的地图切片方法中的步骤302。
绘制单元43,用于支持地图切片装置执行图3所示的地图切片方法中的步骤304。
发送单元44,用于支持地图切片装置执行图3所示的地图切片方法中的步骤305。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本发明实施例提供的地图切片装置,用于执行上述地图切片方法,因此可以达到与上述地图切片方法相同的效果。
在采用集成的单元的情况下,图5示出了上述实施例中所涉及的地图切片装置的另一种可能的组成示意图。如图5所示,该地图切片装置包括:处理模块51、通信模块52和存储模块53。
处理模块51用于对地图切片装置的动作进行控制管理,例如,处理模块51用于支持地图切片装置执行图3中的步骤301、步骤302、步骤303、步骤304、步骤305,和/或用于本文所描述的技术的其它过程。通信模块52用于支持地图切片装置与其他网络实体,如应用服务器、数据库服务器的通信。存储模块53,用于存储地图切片装置的程序代码和数据。
其中,处理模块51可以是处理器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,GPU、DSP和微处理器的组合等等。通信模块52可以是通信接口。存储模块53可以是存储器。
当处理模块51为处理器,通信模块52为通信接口,存储模块53为存储器时,本发明实施例所涉及的地图切片装置可以为图6所示的地图切片装置。
图6本发明实施例提供的一种地图切片装置的组成示意图,如图6所示,该地图切片装置可以包括:至少一个处理器61、存储器62、通信接口63和通信总线64。
下面结合图6对地图切片装置的各个构成部件进行具体的介绍:
其中,处理器61是地图切片装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器61是一个CPU,也可以是一个GPU,也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(Digital Signal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
在具体的实现中,作为一种实施例,处理器61可以包括一个或多个CPU,以及多个GPU,例如图6中所示的CPU0、CPU1和GPU集群。且,作为一种实施例,地图切片装置可以包括多个处理器,例如图6中所示的处理器61和处理器65。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器62可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器62可以是独立存在,通过通信总线64与处理器61相连接。存储器62也可以和处理器61集成在一起。
在具体的实现中,存储器62,用于存储本发明中的数据和执行本发明的软件程序。处理器61可以通过运行或执行存储在存储器62内的软件程序,以及调用存储在存储器62内的数据,执行地图切片装置的各种功能。
通信接口63,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)、应用服务器等。通信接口63可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线64,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended lndustry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种地图切片方法,其特征在于,所述方法包括:
根据输入的地图样式标识,从应用服务器处获取地图样式文件;
根据输入的区域位置的信息和切片等级,计算所述区域位置对应的至少一个瓦片的编号;
根据目标瓦片的编号,从数据库服务器处获取所述目标瓦片包含的数据;所述目标瓦片为所述至少一个瓦片中的任意一个;
根据所述地图样式文件,使用图形处理器GPU绘制所述目标瓦片包含的数据,得到绘制后的纹理图片;
向所述数据库服务器发送所述纹理图片。
2.根据权利要求1所述的地图切片方法,其特征在于,所述根据输入的地图样式标识,从应用服务器处获取地图样式文件,包括:
向所述应用服务器发送包含有所述地图样式标识的第一请求消息;
接收所述应用服务器发送的所述地图样式文件。
3.根据权利要求1或2所述的地图切片方法,其特征在于,所述根据目标瓦片的编号,从数据库服务器处获取所述目标瓦片包含的数据,包括:
向所述数据库服务器发送包含有所述目标瓦片的编号的第二请求消息;
接收所述数据库服务器发送的所述目标瓦片包含的数据。
4.根据权利要求3所述的地图切片方法,其特征在于,所述接收所述数据库服务器发送的所述目标瓦片包含的数据,包括:
接收所述数据库服务器发送的与所述目标瓦片的编号对应的数据源图层,以及与所述数据源图层一一对应的数据;所述目标瓦片包含的数据为所有与数据源图层对应的数据。
5.根据权利要求4所述的地图切片方法,其特征在于,所述根据所述地图样式文件,使用GPU绘制所述目标瓦片包含的数据,得到绘制后的纹理图片,包括:
获取所述地图样式文件包括的至少一个数据源图层,以及与所述至少一个数据源图层一一对应的样式参数;
根据与所述数据源图层一一对应的数据,将所述至少一个数据源图层中,存在对应的数据的图层确定为候选图层,得到候选图层集合;
根据与所述候选图层对应的样式参数,使用所述GPU,将所述候选图层对应的数据绘制在帧缓冲区中,得到所述候选图层的图片;
将所述候选图层集合包括的所有候选图层的图片进行叠加,得到所述纹理图片。
6.一种地图切片装置,其特征在于,所述地图切片装置包括:获取单元、计算单元、绘制单元和发送单元;
所述获取单元,用于根据输入的地图样式标识,从应用服务器处获取地图样式文件;
所述计算单元,用于根据输入的区域位置的信息和切片等级,计算所述区域位置对应的至少一个瓦片的编号;
所述获取单元,还用于根据所述计算单元得到的目标瓦片的编号,从数据库服务器处获取所述目标瓦片包含的数据;所述目标瓦片为所述至少一个瓦片中的任意一个;
所述绘制单元,用于根据所述地图样式文件,使用图形处理器GPU绘制所述目标瓦片包含的数据,得到绘制后的纹理图片;
所述发送单元,用于向所述数据库服务器发送所述纹理图片。
7.根据权利要求6所述的地图切片装置,其特征在于,所述获取单元,具体用于:
向所述应用服务器发送包含有所述地图样式标识的第一请求消息;
接收所述应用服务器发送的所述地图样式文件。
8.根据权利要求6或7所述的地图切片装置,其特征在于,所述获取单元,具体用于:
向所述数据库服务器发送包含有所述目标瓦片的编号的第二请求消息;
接收所述数据库服务器发送的所述目标瓦片包含的数据。
9.根据权利要求8所述的地图切片装置,其特征在于,所述获取单元,具体用于:
接收所述数据库服务器发送的与所述目标瓦片的编号对应的数据源图层,以及与所述数据源图层一一对应的数据;所述目标瓦片包含的数据为所有与数据源图层对应的数据。
10.根据权利要求9所述的地图切片装置,其特征在于,所述绘制单元,具体用于:
获取所述地图样式文件包括的至少一个数据源图层,以及与所述至少一个数据源图层一一对应的样式参数;
根据与所述数据源图层一一对应的数据,将所述至少一个数据源图层中,存在对应的数据的图层确定为候选图层,得到候选图层集合;
根据与所述候选图层对应的样式参数,使用所述GPU,将所述候选图层对应的数据绘制在帧缓冲区中,得到所述候选图层的图片;
将所述候选图层集合包括的所有候选图层的图片进行叠加,得到所述纹理图片。
11.一种地图切片装置,其特征在于,所述地图切片装置包括:处理器、存储器、通信接口和通信总线;
所述处理器与所述存储器、所述通信接口通过所述通信总线连接,所述存储器用于存储计算机执行指令,当所述地图切片装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述地图切片装置执行如权利要求1-5中任一项所述的地图切片方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机执行指令,当所述计算机执行指令在地图切片装置上运行时,使得所述地图切片装置执行如权利要求1-5中任一项所述的地图切片方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475617.3A CN109684426A (zh) | 2018-12-04 | 2018-12-04 | 一种地图切片方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475617.3A CN109684426A (zh) | 2018-12-04 | 2018-12-04 | 一种地图切片方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684426A true CN109684426A (zh) | 2019-04-26 |
Family
ID=66187060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811475617.3A Pending CN109684426A (zh) | 2018-12-04 | 2018-12-04 | 一种地图切片方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684426A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909094A (zh) * | 2019-10-17 | 2020-03-24 | 苏宁云计算有限公司 | 一种地图中目标区块的标注方法、设备及系统 |
CN112035209A (zh) * | 2020-09-29 | 2020-12-04 | 北京百度网讯科技有限公司 | 地图数据处理方法、装置、设备及计算机存储介质 |
CN112307146A (zh) * | 2020-10-29 | 2021-02-02 | 中交公路规划设计院有限公司 | Gis路线数据展示系统及方法 |
CN112818276A (zh) * | 2019-11-18 | 2021-05-18 | 百度在线网络技术(北京)有限公司 | 兴趣点图片处理方法、装置、电子设备及存储介质 |
CN113010622A (zh) * | 2021-03-08 | 2021-06-22 | 智道网联科技(北京)有限公司 | 实时交通数据的处理方法、装置及电子设备 |
CN114170360A (zh) * | 2021-11-30 | 2022-03-11 | 埃洛克航空科技(北京)有限公司 | 适用于多种地形数据的合并渲染方法、系统及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942338A (zh) * | 2014-05-08 | 2014-07-23 | 百度在线网络技术(北京)有限公司 | 地图绘制方法、服务器及终端 |
CN104267940A (zh) * | 2014-09-17 | 2015-01-07 | 武汉狮图空间信息技术有限公司 | 一种基于cpu+gpu的地图切片的快速生成方法 |
US20150262398A1 (en) * | 2014-03-17 | 2015-09-17 | Apple Inc. | System and method of tile management |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
-
2018
- 2018-12-04 CN CN201811475617.3A patent/CN109684426A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150262398A1 (en) * | 2014-03-17 | 2015-09-17 | Apple Inc. | System and method of tile management |
CN103942338A (zh) * | 2014-05-08 | 2014-07-23 | 百度在线网络技术(北京)有限公司 | 地图绘制方法、服务器及终端 |
CN104267940A (zh) * | 2014-09-17 | 2015-01-07 | 武汉狮图空间信息技术有限公司 | 一种基于cpu+gpu的地图切片的快速生成方法 |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
Non-Patent Citations (4)
Title |
---|
宋磊等: "矢量瓦片支持下的在线交互可视化工具设计与实现", 《测绘通报》 * |
李浩: "基于GPU的全球地形数据加速绘制技术研究", 《山东国土资源》 * |
王冬: "一种基于GPU的瓦片块四叉树地形绘制算法", 《系统仿真学报》 * |
赵健: "海岸带遥感影像与海图融合显示技术研究", 《海洋测绘》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909094A (zh) * | 2019-10-17 | 2020-03-24 | 苏宁云计算有限公司 | 一种地图中目标区块的标注方法、设备及系统 |
CN112818276A (zh) * | 2019-11-18 | 2021-05-18 | 百度在线网络技术(北京)有限公司 | 兴趣点图片处理方法、装置、电子设备及存储介质 |
CN112818276B (zh) * | 2019-11-18 | 2023-12-15 | 百度在线网络技术(北京)有限公司 | 兴趣点图片处理方法、装置、电子设备及存储介质 |
CN112035209A (zh) * | 2020-09-29 | 2020-12-04 | 北京百度网讯科技有限公司 | 地图数据处理方法、装置、设备及计算机存储介质 |
CN112307146A (zh) * | 2020-10-29 | 2021-02-02 | 中交公路规划设计院有限公司 | Gis路线数据展示系统及方法 |
CN112307146B (zh) * | 2020-10-29 | 2024-04-02 | 中交公路规划设计院有限公司 | Gis路线数据展示系统及方法 |
CN113010622A (zh) * | 2021-03-08 | 2021-06-22 | 智道网联科技(北京)有限公司 | 实时交通数据的处理方法、装置及电子设备 |
CN114170360A (zh) * | 2021-11-30 | 2022-03-11 | 埃洛克航空科技(北京)有限公司 | 适用于多种地形数据的合并渲染方法、系统及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684426A (zh) | 一种地图切片方法及装置 | |
CN109260708A (zh) | 地图渲染方法、装置以及计算机设备 | |
KR100956416B1 (ko) | 3차원 지리 정보 클라이언트 장치와 서버 장치 및 이를포함한 3차원 지리 정보 시스템 | |
CN109741436B (zh) | 一种渲染矢量数据的方法及装置 | |
CN110597900B (zh) | 一种gdb数据实时按需生成矢量切片的方法 | |
JP5433538B2 (ja) | 通信量削減方法 | |
CN105139641A (zh) | 一种基于WiFi中继站的车辆调度方法及系统 | |
CN110830580B (zh) | 一种存储数据同步方法及装置 | |
CN101466082A (zh) | 矢量地图数据的多级切片处理方法 | |
CN113096246B (zh) | 一种三维地图数据更新方法 | |
CN108491445A (zh) | 区域内指标数据的展示方法及系统 | |
CN105975627A (zh) | 选房方法及装置 | |
CN101719148A (zh) | 三维空间信息的存储方法、装置、系统及调度系统 | |
CN109727070A (zh) | 一种潜在活跃用户的确定方法及装置 | |
CN110223216A (zh) | 一种基于并行plb的数据处理方法、装置及计算机存储介质 | |
US20170118286A1 (en) | Non-transitory computer-readable storage medium, exclusive switching method and exclusive switching apparatus | |
CN105786941A (zh) | 一种信息挖掘方法和装置 | |
CN116325705A (zh) | 边缘计算环境中的管理任务流 | |
CN110930101B (zh) | 确定订单的配送时间的方法、装置、电子设备和可读介质 | |
CN114637499B (zh) | 可视化组件处理方法、装置、设备及介质 | |
CN115495519A (zh) | 报表数据加工方法及装置 | |
CN114003388A (zh) | 大数据计算引擎任务参数确定方法及装置 | |
CN109615159B (zh) | 请求处理方法和装置 | |
CN112948517A (zh) | 区域位置标定方法、装置及电子设备 | |
CN107491446A (zh) | 三维对象搜索方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |