CN107291874B - 地图点位聚合方法及装置 - Google Patents
地图点位聚合方法及装置 Download PDFInfo
- Publication number
- CN107291874B CN107291874B CN201710458982.2A CN201710458982A CN107291874B CN 107291874 B CN107291874 B CN 107291874B CN 201710458982 A CN201710458982 A CN 201710458982A CN 107291874 B CN107291874 B CN 107291874B
- Authority
- CN
- China
- Prior art keywords
- point location
- location information
- map
- aggregated
- group
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种地图点位聚合方法及装置,其中方法包括:接收客户端发送的地图点位聚合请求;根据请求中待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息,并进行哈希计算获取对应的哈希值;根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值;将对应的哈希值前N位相同的点位信息聚合到一个小组中,将各个小组的点位信息发送给客户端进行显示。本实施例中,服务端通过结合层级信息对应的N值以及待添加到待聚合的地图中的点位信息对应的哈希值,对点位信息进行聚合分组并提供给客户端,降低了客户端的计算量,避免了客户端的崩溃或卡顿,提高了客户端用户的使用体验。
Description
技术领域
本发明涉及电子地图技术领域,尤其涉及一种地图点位聚合方法及装置。
背景技术
在电子地图上通常用一个几何点来表示一个真实空间中的地理位置,该几何点叫做地理点位或者点位要素,简称点位。在某个区域上常常包含成千上万个点位。如果将所有的点位直接显示出来,这些点位会覆盖掉地图底图,让用户感觉电子地图非常纷乱。因此,需要将多个普通的点位聚合成一个代表性的聚合点位,然后将代表性的聚合点位显示给用户。
目前大部分电子地图厂商均提供了包含点位聚合功能的地图应用程序编程接口API,它们基本上都采用了JavaScript语言来实现,而这种语言是一种前端语言技术,因此在面临较大数量的点位要素的情况下,聚合算法的计算量十分巨大,会给客户端造成很大的负荷,有可能引发客户端的崩溃或者卡顿,系统的稳定性较差,严重影响了用户体验。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种地图点位聚合方法,用于解决现有技术中聚合算法计算量大,导致客户端稳定性差,用户体验差的问题。
本发明的第二个目的在于提出一种地图点位聚合装置。
本发明的第三个目的在于提出另一种地图点位聚合装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种地图点位聚合方法,包括:
接收客户端发送的地图点位聚合请求,所述地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;
根据所述待聚合的地图的标识查询预设的点位数据库,获取待添加到所述待聚合的地图中的点位信息;所述点位信息包括:点位的经纬度坐标;
对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值;
根据所述层级信息查询预设的地图层级映射表,确定与所述层级信息对应的N值;
将对应的哈希值前N位相同的点位信息聚合到一个小组中,所述小组的标识为所述前N位;所述小组的点位信息为根据所述前N位计算得到的点位信息;
将所述各个小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示所述各个小组的点位信息。
本发明实施例的地图点位聚合方法,通过接收客户端发送的地图点位聚合请求,地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;根据待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息,并进行哈希计算获取对应的哈希值;根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值;将对应的哈希值前N位相同的点位信息聚合到一个小组中并计算小组的点位信息,将各个小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个小组的点位信息。本实施例中,服务端通过结合层级信息对应的N值以及待添加到待聚合的地图中的点位信息对应的哈希值,对添加到待聚合的地图中的点位信息进行聚合分组并提供给客户端,降低了客户端的计算量,提高了计算速度,避免了客户端的崩溃或卡顿,降低了传输数据量,提高了客户端用户的使用体验。
为达上述目的,本发明第二方面实施例提出了一种地图点位聚合装置,包括:
接收模块,用于接收客户端发送的地图点位聚合请求,所述地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;
第一查询模块,用于根据所述待聚合的地图的标识查询预设的点位数据库,获取待添加到所述待聚合的地图中的点位信息;所述点位信息包括:点位的经纬度坐标;
第一计算模块,用于对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值;
第二查询模块,用于根据所述层级信息查询预设的地图层级映射表,确定与所述层级信息对应的N值;
聚合模块,用于将对应的哈希值前N位相同的点位信息聚合到一个小组中,所述小组的标识为所述前N位;所述小组的点位信息为根据所述前N位计算得到的点位信息;
发送模块,用于将所述各个小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示所述各个小组的点位信息。
本发明实施例的地图点位聚合装置,通过接收客户端发送的地图点位聚合请求,地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;根据待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息,并进行哈希计算获取对应的哈希值;根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值;将对应的哈希值前N位相同的点位信息聚合到一个小组中并计算小组的点位信息,将各个小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个小组的点位信息。本实施例中,服务端通过结合层级信息对应的N值以及待添加到待聚合的地图中的点位信息对应的哈希值,对添加到待聚合的地图中的点位信息进行聚合分组并提供给客户端,降低了客户端的计算量,提高了计算速度,避免了客户端的崩溃或卡顿,降低了传输数据量,提高了客户端用户的使用体验。
为达上述目的,本发明第三方面实施例提出了另一种地图点位聚合装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的地图点位聚合方法。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令被处理器执行时,实现如上所述的方法。
为达上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种地图点位聚合方法,所述方法包括:
接收客户端发送的地图点位聚合请求,所述地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;
根据所述待聚合的地图的标识查询预设的点位数据库,获取待添加到所述待聚合的地图中的点位信息;所述点位信息包括:点位的经纬度坐标;
对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值;
根据所述层级信息查询预设的地图层级映射表,确定与所述层级信息对应的N值;
将对应的哈希值前N位相同的点位信息聚合到一个小组中,所述小组的标识为所述前N位;所述小组的点位信息为根据所述前N位计算得到的点位信息;
将所述各个小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示所述各个小组的点位信息。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种地图点位聚合方法的流程示意图;
图2为本发明实施例提供的另一种地图点位聚合方法的流程示意图;
图3为本发明实施例提供的一种地图点位聚合装置的结构示意图;
图4为本发明实施例提供的另一种地图点位聚合装置的结构示意图;
图5为本发明实施例提供的另一种地图点位聚合装置的结构示意图;
图6为本发明实施例提供的另一种地图点位聚合装置的结构示意图;
图7为本发明实施例提供的另一种地图点位聚合装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的地图点位聚合方法及装置。
图1为本发明实施例提供的一种地图点位聚合方法的流程示意图。如图1所示,该地图点位聚合方法包括以下步骤:
S101、接收客户端发送的地图点位聚合请求,地图点位聚合请求中携带:待聚合的地图的标识以及层级信息。
本发明提供的地图点位聚合方法的执行主体为地图点位聚合装置,地图点位聚合装置具体可以为与客户端对应的服务端或者服务端上的软件或者硬件。客户端例如手机、PAD、触摸显示屏等,或者其他可以显示地图的终端或者显示屏等。
本实施例中,客户端用户在打开地图软件或者在浏览器中浏览地图,以查询附近的美食、超市或者其他信息时,客户端获取当前地图的标识,以及当前地图的层级信息,将当前地图的标识和层级信息发送给服务端。
其中,一般情况下,地图的层级可以分为1至18级。
S102、根据待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息;点位信息包括:点位的经纬度坐标。
本实施例中,预设的点位数据库中可以包括各个实体的点位信息,例如人、车、建筑物等物理实体的点位信息。地图点位聚合装置根据待聚合的地图的标识可以确定待聚合的地图上点位所需要满足的条件,采用所述条件查询预设的点位数据库,就可以获取到待添加到待聚合的地图中的点位信息。点位数据库可以预先保存在服务端或者其他硬件设备上,以便查询。
S103、对点位的经纬度坐标进行哈希计算,获取点位信息对应的哈希值。
其中,进行哈希计算的算法可以为GeoHash算法。GeoHash算法可以将二维的经纬度坐标转换成字符串,比如北京几个城区的字符串可以为WX4ER、WX4G2、WX4G3等等,每一个字符串代表了某一矩形区域。也就是说,这个矩形区域内所有的点位都共享相同的GeoHash字符串,这样比较容易做缓存。
S104、根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值。
其中,N值指的是点位信息对应的哈希值的前N位相同位数。
本实施例中,预设的地图层级映射表可以如表1所示。
表1
S105、将对应的哈希值前N位相同的点位信息聚合到一个小组中,小组的标识为前N位;小组的点位信息为根据前N位计算得到的点位信息。
本实施例中,将对应的哈希值前N位相同的点位信息聚合到一个小组中,在待聚合的地图上只显示小组的点位信息,而不显示小组中的各个点位信息,从而减少电子地图中显示的点位的数量。
S106、将各个小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个小组的点位信息。
进一步地,在图1所示实施例的基础上,地图点位聚合请求中还携带:客户端当前的视窗范围。步骤106之前,所述的方法还可以包括:根据客户端当前的视窗范围,确定可以显示到视窗范围中的待显示的小组。对应的,步骤106具体可以为,将待显示的小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个待显示的小组的点位信息。
本实施例中,当前的视窗范围中可以包括:客户端当前视窗的四个角的经纬度坐标。根据四个角的经纬度坐标,地图点位聚合装置就可以根据点位信息中的经纬度坐标确定可以显示到视窗范围中的待显示的小组,并发送给客户端进行显示。
另外,还需要进行说明的是,为了提高服务端的处理速度,还可以对点位信息等的处理进行分布式处理,即将点位信息分成几个大组,由不同的处理器进行分布式处理,提高处理速度。因此,步骤103之前,所述的方法还可以包括:对待添加到待聚合的地图中的点位信息进行分组,得到至少一个大组;对所述至少一个大组依次执行步骤103至步骤105,针对每个大组中的点位信息进行聚合处理,得到对应标识为前N位的各个小组的点位信息。对应的,步骤105之后,所述的方法还可以包括:对各个大组中具备相同标识的小组进行合并。然后再执行步骤106。
本发明实施例的地图点位聚合方法,通过接收客户端发送的地图点位聚合请求,地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;根据待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息,并进行哈希计算获取对应的哈希值;根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值;将对应的哈希值前N位相同的点位信息聚合到一个小组中并计算小组的点位信息,将各个小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个小组的点位信息。本实施例中,服务端通过结合层级信息对应的N值以及待添加到待聚合的地图中的点位信息对应的哈希值,对添加到待聚合的地图中的点位信息进行聚合分组并提供给客户端,降低了客户端的计算量,提高了计算速度,避免了客户端的崩溃或卡顿,降低了传输数据量,提高了客户端用户的使用体验。
图2为本发明实施例提供的另一种地图点位聚合方法的流程示意图,如图2所示,在图1所示实施例的基础上,步骤101之前,还可以包括:
S107、获取待聚合的地图的所有层级信息以及点位信息样本。
其中,点位信息样本中可以包括提前收集的部分点位信息。
S108、针对待聚合的地图的各个层级信息,获取待聚合的地图的各个区域的点位信息。
本实施例中,针对待聚合的地图,层级不同,划分得到的区域不同。例如,层级较低时,可能划分得到北京市、上海市、广州市等等。层级较高时,可能划分得到大兴区、丰台区、海淀区、朝阳区等等。层级越高,划分越详细,划分得到的区域越小。
S109、计算点位信息样本中各个点位信息与各个区域的点位信息之间的误差。
本实施例中,步骤109具体可以包括:计算获取点位信息样本中各点位信息对应的哈希值;计算获取各个区域的点位信息对应的哈希值;由于哈希值为多位二维码,将点位信息样本中点位信息对应的哈希值与区域的样本信息对应的哈希值做差值处理,得到点位信息样本中各个点位信息与各个区域的点位信息之间的误差。
S110、根据误差确定各个点位信息所属的区域。
其中,若某个点位信息与区域的点位信息之间的误差小于预设的误差值,则确定该点位信息属于该区域;若某个点位信息与区域的点位信息之间的误差大于或等于预设的误差值,则确定该点位信息不属于该区域。
S111、根据点位信息样本中的各个点位信息以及点位信息所属的区域,确定各个层级信息对应的待聚合的地图中各个点位信息与所属区域的点位信息的前N位相同位数。
本实施例中,针对各个层级信息,将点位信息样本中的点位信息的哈希值与所属区域的点位信息的哈希值进行比对,确定从哈希值前部开始完全且连续相同的位数,综合点位信息样本中的各个点位信息得到的该位数,确定各个层级信息对应的N值。具体的,可以将点位信息样本中的各个点位信息得到的该位数中,最小的位数确定为N值。
S112、将层级信息与N值的映射关系存储到地图层级映射表中。
本发明实施例的地图点位聚合方法,通过先结合待聚合的地图的所有层级信息以及点位信息样本,获取地图层级映射表;然后接收客户端发送的地图点位聚合请求,地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;根据待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息,并进行哈希计算获取对应的哈希值;根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值;将对应的哈希值前N位相同的点位信息聚合到一个小组中并计算小组的点位信息,将各个小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个小组的点位信息。本实施例中,服务端通过结合层级信息对应的N值以及待添加到待聚合的地图中的点位信息对应的哈希值,对添加到待聚合的地图中的点位信息进行聚合分组并提供给客户端,降低了客户端的计算量,提高了计算速度,避免了客户端的崩溃或卡顿,降低了传输数据量,提高了客户端用户的使用体验。
图3为本发明实施例提供的一种地图点位聚合装置的结构示意图。如图3所示,包括:接收模块31、第一查询模块32、第一计算模块33、第二查询模块34、聚合模块35和发送模块36。
其中,接收模块31,用于接收客户端发送的地图点位聚合请求,所述地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;
第一查询模块32,用于根据所述待聚合的地图的标识查询预设的点位数据库,获取待添加到所述待聚合的地图中的点位信息;所述点位信息包括:点位的经纬度坐标;
第一计算模块33,用于对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值;
第二查询模块34,用于根据所述层级信息查询预设的地图层级映射表,确定与所述层级信息对应的N值;
聚合模块35,用于将对应的哈希值前N位相同的点位信息聚合到一个小组中,所述小组的标识为所述前N位;所述小组的点位信息为根据所述前N位计算得到的点位信息;
发送模块36,用于将所述各个小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示所述各个小组的点位信息。
本发明提供的地图点位聚合装置具体可以为与客户端对应的服务端或者服务端上的软件或者硬件。客户端例如手机、PAD、触摸显示屏等,或者其他可以显示地图的终端或者显示屏等。
本实施例中,预设的点位数据库中可以包括各个实体的点位信息,例如人、车、建筑物等物理实体的点位信息。地图点位聚合装置根据待聚合的地图的标识可以确定待聚合的地图上点位所需要满足的条件,采用所述条件查询预设的点位数据库,就可以获取到待添加到待聚合的地图中的点位信息。点位数据库可以预先保存在服务端或者其他硬件设备上,以便查询。
其中,进行哈希计算的算法可以为GeoHash算法。GeoHash算法可以将二维的经纬度坐标转换成字符串,比如北京几个城区的字符串可以为WX4ER、WX4G2、WX4G3等等,每一个字符串代表了某一矩形区域。也就是说,这个矩形区域内所有的点位都共享相同的GeoHash字符串,这样比较容易做缓存。
本发明实施例的地图点位聚合装置,通过接收客户端发送的地图点位聚合请求,地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;根据待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息,并进行哈希计算获取对应的哈希值;根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值;将对应的哈希值前N位相同的点位信息聚合到一个小组中并计算小组的点位信息,将各个小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个小组的点位信息。本实施例中,服务端通过结合层级信息对应的N值以及待添加到待聚合的地图中的点位信息对应的哈希值,对添加到待聚合的地图中的点位信息进行聚合分组并提供给客户端,降低了客户端的计算量,提高了计算速度,避免了客户端的崩溃或卡顿,降低了传输数据量,提高了客户端用户的使用体验。
进一步地,结合参考图4,在图3所示实施例的基础上,所述的装置还可以包括:分组模块37、处理模块38和合并模块39。
其中,分组模块37,用于对待添加到所述待聚合的地图中的点位信息进行分组,得到至少一个大组;
处理模块38,用于针对每个大组中的点位信息进行聚合处理,得到对应标识为前N位的各个小组的点位信息;
合并模块39,用于对所述各个大组中具备相同标识的小组进行合并。
进一步地,结合参考图5,在图3所示实施例的基础上,所述的装置还可以包括:第一获取模块40、第二获取模块41、第二计算模块42、第一确定模块43、第二确定模块44和存储模块45。
其中,第一获取模块40,用于获取待聚合的地图的所有层级信息以及点位信息样本;
第二获取模块41,用于针对所述待聚合的地图的各个层级信息,获取所述待聚合的地图的各个区域的点位信息;
第二计算模块42,用于计算点位信息样本中各个点位信息与各个区域的点位信息之间的误差;
第一确定模块43,用于根据所述误差确定各个点位信息所属的区域;
第二确定模块44,用于根据点位信息样本中的各个点位信息以及点位信息所属的区域,确定各个层级信息对应的待聚合的地图中各个点位信息与所属区域的点位信息的前N位相同位数;
存储模块45,用于将所述层级信息与所述N值的映射关系存储到所述地图层级映射表中。
本实施例中,第二计算模块42具体用于,计算获取点位信息样本中各点位信息对应的哈希值;计算获取各个区域的点位信息对应的哈希值;由于哈希值为多位二维码,将点位信息样本中点位信息对应的哈希值与区域的样本信息对应的哈希值做差值处理,得到点位信息样本中各个点位信息与各个区域的点位信息之间的误差。
本实施例中,针对各个层级信息,将点位信息样本中的点位信息的哈希值与所属区域的点位信息的哈希值进行比对,确定从哈希值前部开始完全且连续相同的位数,综合点位信息样本中的各个点位信息得到的该位数,确定各个层级信息对应的N值。具体的,可以将点位信息样本中的各个点位信息得到的该位数中,最小的位数确定为N值。
本发明实施例的地图点位聚合装置,通过先结合待聚合的地图的所有层级信息以及点位信息样本,获取地图层级映射表;然后接收客户端发送的地图点位聚合请求,地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;根据待聚合的地图的标识查询预设的点位数据库,获取待添加到待聚合的地图中的点位信息,并进行哈希计算获取对应的哈希值;根据层级信息查询预设的地图层级映射表,确定与层级信息对应的N值;将对应的哈希值前N位相同的点位信息聚合到一个小组中并计算小组的点位信息,将各个小组的点位信息发送给客户端,以使客户端在待聚合的地图上显示各个小组的点位信息。本实施例中,服务端通过结合层级信息对应的N值以及待添加到待聚合的地图中的点位信息对应的哈希值,对添加到待聚合的地图中的点位信息进行聚合分组并提供给客户端,降低了客户端的计算量,提高了计算速度,避免了客户端的崩溃或卡顿,降低了传输数据量,提高了客户端用户的使用体验。
进一步地,结合参考图6,在图3所示实施例的基础上,所述地图点位聚合请求中还携带:所述客户端当前的视窗范围。
对应的,所述的装置还可以包括:第三确定模块46,用于根据所述客户端当前的视窗范围,确定可以显示到所述视窗范围中的待显示的小组;
所述发送模块36,具体用于将所述待显示的小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示各个待显示的小组的点位信息。
本实施例中,当前的视窗范围中可以包括:客户端当前视窗的四个角的经纬度坐标。根据四个角的经纬度坐标,地图点位聚合装置就可以根据点位信息中的经纬度坐标确定可以显示到视窗范围中的待显示的小组,并发送给客户端进行显示。
图7为本发明实施例提供的另一种地图点位聚合装置的结构示意图。该地图点位聚合装置包括:
存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
处理器1002执行所述程序时实现上述实施例中提供的地图点位聚合方法。
进一步地,地图点位聚合装置还包括:
通信接口1003,用于存储器1001和处理器1002之间的通信。
存储器1001,用于存放可在处理器1002上运行的计算机程序。
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序时实现上述实施例所述的地图点位聚合方法。
如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上所述的地图点位聚合方法。
本实施例还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种地图点位聚合方法,所述方法包括:
接收客户端发送的地图点位聚合请求,所述地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;
根据所述待聚合的地图的标识查询预设的点位数据库,获取待添加到所述待聚合的地图中的点位信息;所述点位信息包括:点位的经纬度坐标;
对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值;
根据所述层级信息查询预设的地图层级映射表,确定与所述层级信息对应的N值;
将对应的哈希值前N位相同的点位信息聚合到一个小组中,所述小组的标识为所述前N位;所述小组的点位信息为根据所述前N位计算得到的点位信息;
将所述各个小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示所述各个小组的点位信息。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种地图点位聚合方法,其特征在于,包括:
接收客户端发送的地图点位聚合请求,所述地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;
根据所述待聚合的地图的标识查询预设的点位数据库,获取待添加到所述待聚合的地图中的点位信息;所述点位信息包括:点位的经纬度坐标;
对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值;
根据所述层级信息查询预设的地图层级映射表,确定与所述层级信息对应的N值;其中,所述N值指的是所述点位信息对应的哈希值的前N位相同位数;
将对应的哈希值前N位相同的点位信息聚合到一个小组中,所述小组的标识为所述前N位;所述小组的点位信息为根据所述前N位计算得到的点位信息;
将所述各个小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示所述各个小组的点位信息。
2.根据权利要求1所述的方法,其特征在于,所述对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值之前,还包括:
对待添加到所述待聚合的地图中的点位信息进行分组,得到至少一个大组;
针对每个大组中的点位信息进行聚合处理,得到对应标识为前N位的各个小组的点位信息;
对应的,将对应的哈希值前N位相同的点位信息聚合到一个小组中之后,还包括:
对所述各个大组中具备相同标识的小组进行合并。
3.根据权利要求1或2所述的方法,其特征在于,所述接收客户端发送的地图点位聚合请求之前,还包括:
获取待聚合的地图的所有层级信息以及点位信息样本;
针对所述待聚合的地图的各个层级信息,获取所述待聚合的地图的各个区域的点位信息;
计算点位信息样本中各个点位信息与各个区域的点位信息之间的误差;
根据所述误差确定各个点位信息所属的区域;
根据点位信息样本中的各个点位信息以及点位信息所属的区域,确定各个层级信息对应的待聚合的地图中各个点位信息与所属区域的点位信息的前N位相同位数;
将所述层级信息与所述N值的映射关系存储到所述地图层级映射表中。
4.根据权利要求1所述的方法,其特征在于,所述地图点位聚合请求中还携带:所述客户端当前的视窗范围;
所述将所述各个小组的点位信息发送给所述客户端之前,还包括:
根据所述客户端当前的视窗范围,确定可以显示到所述视窗范围中的待显示的小组;
对应的,将所述各个小组的点位信息发送给所述客户端,包括:
将所述待显示的小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示各个待显示的小组的点位信息。
5.根据权利要求1所述的方法,其特征在于,所述进行哈希计算的算法为GeoHash算法。
6.一种地图点位聚合装置,其特征在于,包括:
接收模块,用于接收客户端发送的地图点位聚合请求,所述地图点位聚合请求中携带:待聚合的地图的标识以及层级信息;
第一查询模块,用于根据所述待聚合的地图的标识查询预设的点位数据库,获取待添加到所述待聚合的地图中的点位信息;所述点位信息包括:点位的经纬度坐标;
第一计算模块,用于对所述点位的经纬度坐标进行哈希计算,获取所述点位信息对应的哈希值;
第二查询模块,用于根据所述层级信息查询预设的地图层级映射表,确定与所述层级信息对应的N值;其中,所述N值指的是所述点位信息对应的哈希值的前N位相同位数;
聚合模块,用于将对应的哈希值前N位相同的点位信息聚合到一个小组中,所述小组的标识为所述前N位;所述小组的点位信息为根据所述前N位计算得到的点位信息;
发送模块,用于将所述各个小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示所述各个小组的点位信息。
7.根据权利要求6所述的装置,其特征在于,还包括:
分组模块,用于对待添加到所述待聚合的地图中的点位信息进行分组,得到至少一个大组;
处理模块,用于针对每个大组中的点位信息进行聚合处理,得到对应标识为前N位的各个小组的点位信息;
合并模块,用于对所述各个大组中具备相同标识的小组进行合并。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
第一获取模块,用于获取待聚合的地图的所有层级信息以及点位信息样本;
第二获取模块,用于针对所述待聚合的地图的各个层级信息,获取所述待聚合的地图的各个区域的点位信息;
第二计算模块,用于计算点位信息样本中各个点位信息与各个区域的点位信息之间的误差;
第一确定模块,用于根据所述误差确定各个点位信息所属的区域;
第二确定模块,用于根据点位信息样本中的各个点位信息以及点位信息所属的区域,确定各个层级信息对应的待聚合的地图中各个点位信息与所属区域的点位信息的前N位相同位数;
存储模块,用于将所述层级信息与所述N值的映射关系存储到所述地图层级映射表中。
9.根据权利要求6所述的装置,其特征在于,所述地图点位聚合请求中还携带:所述客户端当前的视窗范围;
对应的,所述的装置还包括:
第三确定模块,用于根据所述客户端当前的视窗范围,确定可以显示到所述视窗范围中的待显示的小组;
所述发送模块,具体用于将所述待显示的小组的点位信息发送给所述客户端,以使所述客户端在所述待聚合的地图上显示各个待显示的小组的点位信息。
10.根据权利要求6所述的装置,其特征在于,所述进行哈希计算的算法为GeoHash算法。
11.一种地图点位聚合装置,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一所述的地图点位聚合方法。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的地图点位聚合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710458982.2A CN107291874B (zh) | 2017-06-16 | 2017-06-16 | 地图点位聚合方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710458982.2A CN107291874B (zh) | 2017-06-16 | 2017-06-16 | 地图点位聚合方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291874A CN107291874A (zh) | 2017-10-24 |
CN107291874B true CN107291874B (zh) | 2020-04-14 |
Family
ID=60097659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710458982.2A Active CN107291874B (zh) | 2017-06-16 | 2017-06-16 | 地图点位聚合方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291874B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647597B (zh) * | 2018-06-11 | 2022-04-08 | 百度在线网络技术(北京)有限公司 | 电子地图的渲染方法和装置 |
CN109241213B (zh) * | 2018-07-26 | 2021-08-06 | 汉华易美(天津)图像技术有限公司 | 一种电子地图点位聚合方法及装置 |
CN111813875B (zh) * | 2019-04-11 | 2024-04-05 | 浙江宇视科技有限公司 | 地图点位信息处理方法、装置及服务器 |
CN112214562B (zh) * | 2019-07-12 | 2024-02-27 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、电子设备及机器可读存储介质 |
CN110674237B (zh) * | 2019-09-25 | 2022-06-28 | 福建榕基软件股份有限公司 | 一种提高二维区域定位准确性的方法及终端 |
CN112764859A (zh) * | 2021-01-22 | 2021-05-07 | 泰华智慧产业集团股份有限公司 | 网格化平台地图在移动端中网格员位置显示方法及系统 |
CN117573781A (zh) * | 2024-01-17 | 2024-02-20 | 成都小步创想慧联科技有限公司 | 一种基于哈希算法的地图多层级数据展示方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424261A (zh) * | 2013-08-29 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 基于电子地图的信息展示方法及装置 |
CN104699709A (zh) * | 2013-12-09 | 2015-06-10 | 方正国际软件(北京)有限公司 | 一种多个定位点合并分级显示的方法及系统 |
CN105373543A (zh) * | 2014-08-25 | 2016-03-02 | 上海睿芬信息科技有限公司 | 一种电子地图中海量点位聚合的新方法 |
CN105550199A (zh) * | 2015-11-28 | 2016-05-04 | 浙江宇视科技有限公司 | 一种基于多源地图的点位聚合方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672759B2 (en) * | 2015-05-11 | 2017-06-06 | Here Global B.V. | Probe based identification and validation of roundabout junctions |
-
2017
- 2017-06-16 CN CN201710458982.2A patent/CN107291874B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424261A (zh) * | 2013-08-29 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 基于电子地图的信息展示方法及装置 |
CN104699709A (zh) * | 2013-12-09 | 2015-06-10 | 方正国际软件(北京)有限公司 | 一种多个定位点合并分级显示的方法及系统 |
CN105373543A (zh) * | 2014-08-25 | 2016-03-02 | 上海睿芬信息科技有限公司 | 一种电子地图中海量点位聚合的新方法 |
CN105550199A (zh) * | 2015-11-28 | 2016-05-04 | 浙江宇视科技有限公司 | 一种基于多源地图的点位聚合方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于百度地图的标记点聚合算法研究;戴凤娇 等;《中国科技信息》;20131120(第23期);第82-85页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107291874A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291874B (zh) | 地图点位聚合方法及装置 | |
WO2021218314A1 (zh) | 基于位置定位的事件识别方法、装置、设备及存储介质 | |
CN107239794B (zh) | 点云数据分割方法和终端 | |
US20140310299A1 (en) | Map tile data pre-fetching based on mobile device generated event analysis | |
WO2015154438A1 (zh) | 定位方法及装置 | |
CN109685092B (zh) | 基于大数据的聚类方法、设备、存储介质及装置 | |
CN116910290B (zh) | 免切片遥感影像加载的方法、装置、设备和介质 | |
CN108174350B (zh) | 一种定位方法和装置 | |
CN112526470A (zh) | 标定雷达参数的方法和装置、电子设备、存储介质 | |
CN107688189B (zh) | 一种gps经纬度坐标的校准方法、装置和移动运动设备 | |
CN107784073B (zh) | 一种本地缓存的数据查询方法、存储介质和服务器 | |
CN114166312A (zh) | 一种车辆油量测量方法、装置、计算机设备及存储介质 | |
CN111858624A (zh) | 一种车辆使用情况更新方法及装置 | |
CN110647597B (zh) | 电子地图的渲染方法和装置 | |
CN116912556A (zh) | 图片分类方法、装置、电子设备及存储介质 | |
CN107341196B (zh) | 关系图谱展示方法及装置 | |
CN114205455B (zh) | 应用定位处理方法和装置 | |
CN113989454B (zh) | 适用于地质数据和地理信息数据的融合方法、装置及系统 | |
CN112304281A (zh) | 一种道路坡度测量方法、终端设备及存储介质 | |
CN111405463B (zh) | 信息获取方法、装置、电子设备和存储介质 | |
US20190102354A1 (en) | Allocation of shareable item via dynamic exponentiation | |
CN116295466A (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN112633143B (zh) | 图像处理系统、方法、头戴设备、处理设备及存储介质 | |
CN106933850B (zh) | 网络数据查询方法、装置和系统 | |
US20150189465A1 (en) | System and Method for Optimizing Battery Power and Data Access Costs During Fetching of Data |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190830 Address after: 100192 Dongsheng Science Park, Zhongguancun, 66 Xixiaokou Road, Haidian District, Beijing Applicant after: Green Bay Network Technology Co., Ltd. Address before: 100089 Beijing Haidian District Xixiaokou Road 66 Zhongguancun Dongsheng Science Park B-6 Building B 5 floors Applicant before: Grass count language (Beijing) Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |