CN109657017A - 地图中聚合点集的展示方法及装置 - Google Patents
地图中聚合点集的展示方法及装置 Download PDFInfo
- Publication number
- CN109657017A CN109657017A CN201811307527.3A CN201811307527A CN109657017A CN 109657017 A CN109657017 A CN 109657017A CN 201811307527 A CN201811307527 A CN 201811307527A CN 109657017 A CN109657017 A CN 109657017A
- Authority
- CN
- China
- Prior art keywords
- point
- mark
- point set
- mark point
- polymerization
- 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.)
- Granted
Links
Abstract
本发明实施例提供一种地图中聚合点集的展示方法及装置,其中展示方法包括:若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;向所述数据库发送获取新增的标记点的坐标的请求;接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。本发明实施例能够大幅提高渲染效率,降低运算成本。
Description
技术领域
本发明实施例涉及地图展示技术领域,更具体地,涉及地图中聚合点集的展示方法及装置。
背景技术
在地图上查询结果通常以标记点的形式展现,但是如果标记点较多,不仅会大大增加客户端的渲染时间,让客户端变得很卡,而且会让人产生密集恐惧症。为了解决这一问题,通常需要一种手段能在用户有限的可视区域范围内,利用最小的区域展示出最全面的信息。
聚合点集呈现是解决上述问题的常用手段,聚合点集呈现是指依据点数据的坐标信息,在地图上按照一定距离进行点聚合计算,落在范围内的点进行累计,再以标注的方式在地图上呈现统计出的聚合点集合,呈现每一个点集的位置和数量。
现有的某款知名地图软件采用的格网均分的方式进行点聚合分组,该地图软件呈现的效果并不符合自然分布,聚合点的大小和间距几乎看不出差别,显示效果并不理想。此外,现有技术常采用的ArcGIS JavaScript API实现的显示效果也与该知名地图软件的显示效果类似,并且,两种方式都未实现点数据的获取过程的封装和优化,需要使用者自己事先获取点集,因此没法结合聚合分组过程实现缓存和效率优化。百度地图数据量较大的时候(超过5000)呈现就比较卡。ArcGIS JS API内部的方法则使用起来较为不便,效率也有待优化。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的地图中聚合点集的展示方法及装置。
第一个方面,本发明实施例提供一种地图中聚合点集的展示方法,包括:
若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;
接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;
若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求;
接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
第二个方面,本发明实施例提供一种地图中聚合点集的展示装置,包括:
ID获取模块,用于若获知地图显示范围发生变化,向数据库发送获取当前地图显示范围内所有标记点的ID的请求;
ID比较模块,用于接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;
坐标请求模块,用于若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求;
渲染模块,用于接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的地图中聚合点集的展示方法及装置,通过从数据库中获取地图显示范围内的标记点的ID,减少了内存的占用,并且通过比较当前地图显示范围内的标记点与历次变化的地图显示范围内的标记点,在增长标记点的个数较少时采用直接追加至已渲染的聚合点集,更新现有的聚合点集,能够节省大量的时间和处理量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的地图中聚合点集的展示方法的流程示意图;
图2为本发明实施例提供的地图中聚合点集的展示装置的结构示意图;
图3为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
为了克服现有技术的上述问题,本发明实施例提供了一种地图中聚合点集的展示方法,其发明构思为:在每次地图显示范围发生变化时,通过从数据库获取当前显示范围内所有标记点的ID,并与变化前的地图显示范围内的标记点的ID进行比较,若当前地图显示范围内存在新增或减少的标记点,且新增和减少的标记点的个数较少,则只需要借助变化前的渲染结果,对新增的标记点进行聚合点集计算,相比现有技术中每次地图显示范围变化均需要重新全量聚合点集计算和渲染绘制,本发明实施例的展示方法能够大幅降低了运算成本。
图1为本发明实施例提供的地图中聚合点集的展示方法的流程示意图,如图1所示,包括:
S101、若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求。
具体地,本发明实施例的展示方法适用于在手机、平板电脑、计算机、PDA等具有显示屏幕,并可展示地图的终端上运行,可以理解的是,以手机为例,当使用者在屏幕上滑动时,地图显示区域会发生平移,或者当使用者点击缩放按钮或者用预先设置的、代表对地图进行缩放的手势与屏幕交互时,地图显示区域会相应的进行缩放,本领域技术人员熟知判断地图显示范围发生变化的方式和方法,本发明实施例对此不作进一步的限定。
在本发明实施例中,地图上所有标记点的信息均存储在数据库中,而不需要预先存储在终端中,这样能够大大降低终端中内存的占用。在地图中,最常见的标记点就是地名,以地名为例,北京市可能有数万个标记点,包括学校、商场、医院、地铁站等等,当地图的显示范围为整个中国时,虽然在显示时不可能具体显示出北京市的所有标记点,常常只会显示一个标记点:北京,但在向数据库发送当前地图显示范围内所有标记点的ID的请求时,数据库仍然会返回那些无法具体显示的标记点,即仍然会将北京市的数万个标记点的ID返回至终端。标记点的ID即标记点的唯一标识,通过设置ID,能够有效地区分出不同的标记点。
S102、接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较。
具体地,本发明实施例在每次接收到数据库返回的标记点的ID时,都会进行缓存,需要注意的是,本发明实施例会保留历次数据库返回的标记点的ID,以保证每次接收到新的标记点的ID时可以有比较的对象。显然,随着展示次数的增多,缓存的标记点的ID也在增多。本发明实施例通过将当前的标记点的ID和历次变化的标记点的ID进行比较,即可获知当前地图显示范围内相比历史上的显示范围多了哪些标记点、少了哪些标记点、增多了或者减少了多少标记点。
S103、若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求。
地图显示范围发生变化通常有三种情况:平移、放大地图和缩小地图。在当前地图显示范围内新增标记点时,既可能是进行平移操作,也可能是缩小地图操作。本发明实施例在每次展示时,都会缓存当前地图显示范围内的所有标记点的坐标,因此,在当前地图显示范围内新增标记点时,只会向数据库发送获取新增的标记点的坐标的请求,这样就减少了与数据库进行交互所需的时间和内存。
本发明实施例通过对新增和减少的标记点的个数与第一预设阈值进行比较,可以获知地图显示范围变化的程度,通过设置第一预设阈值来判断新增标记点的增长程度,如果新增的标记点的个数小于第一预设阈值,表示当前地图显示的范围与之前显示的范围区别较小,因此可以将新增的标记点直接追加至当前已渲染的聚合点集中,直接更新现有的聚合点集。可以理解的是,第一预设阈值的取值可以通过经验或者多次试验获取,本发明实施例对第一阈值的大小、获取方法以及修正方法不做进一步的限定。
S104、接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
本发明实施例的展示方法通过从数据库中获取地图显示范围内的标记点的ID,减少了内存的占用,并且通过比较当前地图显示范围内的标记点与缓存的历次变化的地图显示范围内的标记点,在增长和减少标记点的个数较少时采用直接追加至已渲染的聚合点集,更新现有的聚合点集,能够节省大量的时间和处理量。
在上述实施例的基础上,作为一种可选实施例,若当前地图显示范围发生变化的方式为平移,且新增的标记点的个数不小于第一预设阈值,则删除变化前渲染结果中的聚合点集;根据本地缓存的当前地图显示范围的标记点的坐标,遍历当前地图显示范围内的所有标记点重新进行聚合点集计算;若新增或减少的标记点个数小于第一预设阈值,则遍历新增标记点,对前一渲染结果的聚合点集进行更新,更新的内容包括聚合点集的中心坐标和数值。能够有效避免聚合点集重新计算的大量计算,从而提高渲染效率。
需要说明的是,若当前地图显示范围发生变化的方式为平移,且新增的标记点的个数不小于第一预设阈值,可以认为当前地图显示的范围与变化前的地图显示的范围具有较大区别。在这种情况下,本发明实施例会将变化前的渲染结果中的聚合点集清空,并重新进行点击聚合分组,重新渲染绘制。
在上述实施例的基础上,作为一种可选实施例,若当前地图显示范围发生变化的方式为缩小比例尺,则向所述数据库发送获取所述新增的标记点的坐标的请求,并删除变化前渲染结果中的聚合点集;接收并缓存所述新增的标记的坐标,遍历当前地图显示范围内的所有标记点重新进行聚合点集计算。
在上述实施例的基础上,作为一种可选实施例,若当前地图显示范围发生变化的方式为放大比例尺,则删除变化前渲染结果中的聚合点集,并遍历当前地图显示范围内的所有标记点重新进行聚合点集计算。
需要说明的是,当地图进行缩放时,由于比例尺发生了变化,势必引起地图分辨率的变化,因此为了渲染结果的正确性,需要将当前地图显示范围内所有标记点重新进行渲染。需要注意的是,如果是因为缩小比例尺导致的地图显示范围变大,势必触发新增标记点,这时候仍然需要向数据发送获取新增标记点的坐标的请求;但如果是因为比例尺放大导致的显示范围变小,由于本发明实施例会缓存之前标记点的坐标,若显示范围包含于最大缓存范围内,此时就不需要再向数据库发送获取坐标的请求,直接利用缓存标记点数据进行渲染,进一步提高了显示效率。
现有聚合点集的方式,例如格网均分方法聚合的结果就是各聚合点集成规则排布,每个聚合点集的大小一致,同时相邻聚合点集的间距也一致,显示效果很差,无法直观地分辩出不同聚合点集包含的标记点的多少。因此,为了克服上述问题,在上述各实施例的基础上,本发明实施例中聚合点集计算的方法在每次更新聚合点集时,根据聚合点集中各标记点的分布,更新聚合点集的中心。
对于任意一个新增的标记点,遍历聚合点集计算所述标记点与聚合点集的中心的距离,若所述距离不大于预设距离阈值,则将所述标记点划归至所述聚合点集,并更新所述聚合点集的中心坐标和标记点总数值;若遍历所有聚合点集未找到标记点归属的聚合点集,则将所述标记点作为新的聚合点集;
其中,更新所述聚合点集的中心坐标和标记点总数值,具体为:计算所述聚合点集中所有标记点的坐标的平均值,将所述平均值更新为所述聚合点集的中心,并对聚合点集的标记点的总数值进行累加。
在一个可选实施例中,对于遍历所述新增的标记点进行聚合点集计算来说,包括:对于任意一个新增的标记点,计算所述标记点与聚合点集的中心的距离,若所述距离不大于预设距离阈值,则将所述标记点划归至所述聚合点集,并更新所述聚合点集的中心;若遍历所有聚合点集未找到标记点归属的聚合点集,则将所述标记点作为新的聚合点集。
在一个可选实施例中,对于遍历所有标记点进行聚合点集计算来说,包括:对于任意一个标记点,计算所述标记点与聚合点集的中心的距离,若所述距离不大于预设距离阈值,则将所述标记点划归至所述聚合点集,并更新所述聚合点集的中心;若遍历所有聚合点集未找到标记点归属的聚合点集,则将所述标记点作为新的聚合点集。
由上述实施例可知,在获取标记点的ID之后,还需要进一步获取标记点的坐标才能进行聚合计算,在本发明实施例中,每次渲染都会缓存标记点的坐标,对于存在新增标记点,显然终端还没有这些标记点的坐标,因此终端还需要向服务器发送获取这些标记点的坐标的请求。
在现有技术中,通常终端会一次性将获取标记点的坐标的请求一个数据请求的方式发送至数据库,显然,由于数据库接收的是一个数据请求,数据库也会在汇总到所需的所有标记点的坐标后发送一个回复,这样操作无论是请求数据包还是回复数据包所占用的内存都较大,很容易引发延迟的问题,甚至引发异常导致请求失败。因此,为了克服现有技术的上述问题,在上述各实施例的基础上,作为一种可选实施例,本发明实施例采用ID分段同时异步请求的方式加快请求速度。具体地,上述ID分段同时异步请求的方式,具体包括:
对新增的标记点进行分组,获得若干个标记点分组,同时向所述数据库发送多个数据请求,其中每个数据请求用于请求一个标记点分组中的标记点的坐标,通过异步算法,汇总每个数据请求的反馈结果,获得所述新增的标记点的坐标。
需要说明的是,由于本发明实施例会缓存上一次标记点的ID和坐标,因此,只需要发送针对新增的标记点的坐标的请求,即地图范围内所有标记点的ID与缓存的标记点的ID的差集,避免了同一ID的重复请求,将新增的标记点进行分组,并通过多个数据请求进行发送,能够减少请求数据的网络延迟,相应地,由于数据库在查询每个数据请求所请求的坐标时耗时可能不同,因此终端以异步算法汇总每个数据请求的反馈结果,获得所有新增的标记点的坐标。显然,如果是放大地图,即使在放大前的地图中由于部分标记点因为地图比例尺的原因并未显示出来,但由于本发明实施例每次缓存的是地图显示范围内所有的标记点(无论其是否显示或未显示),因此当放大地图时用上的还是已经缓存的数据,无须再向数据库发送获取坐标的请求,还可以进一步减少网络请求造成的渲染延时。
由于数据库中存储的是标记点的坐标是标记点的地理坐标,而在地图中显示时,标记点又以像素点的形式进行体现,因此,在上述各实施例的基础上,作为一种可选实施例,计算所述标记点与聚合点集的中心的距离,具体为:
根据标记点与聚合点集的中心的坐标,获得标记点与聚合点集的中心的地理距离;根据所述地理距离以及当前地图的分辨率获得标记点与聚合点集的中心的像素距离,将所述像素距离作为所述标记点与聚合点集的中心的距离。具体地,像素距离与地理距离有个简单的换算方式,分辨率=地图物理宽度/地图元素的像素宽度;像素距离=物理距离/分辨率。
现有技术中聚合点集的大小和间距几乎看不出差别,为了克服该缺陷,在上述各实施例的基础上,作为一种可选实施例,更新所述聚合点集的中心,具体为:计算所述聚合点集中所有标记点的坐标的平均值,将所述平均值更新为所述聚合点集的中心。
需要说明的是,本发明实施例中每一次加入一个标记点到聚合分组里面,聚合分组的坐标立即更新为最新的平均坐标,随着点的添加,聚合分组的中心点的坐标也在变化,中心点的坐标变化后,吸附的周边范围也发生变化,吸附的点影响着聚合分组的坐标,使聚合分组有向标记点较多的区域移动的趋势,最终实现了聚合点集动态变化的目的。
图2为本发明实施例提供的地图中聚合点集的展示装置的结构示意图,如图2所示,该展示装置包括:ID获取模块201和ID比较模块202,坐标请求模块203,渲染模块204,其中:
ID获取模块201用于若获知地图显示范围发生变化,向数据库发送获取当前地图显示范围内所有标记点的ID的请求。
具体地,在本发明实施例中,地图上所有标记点的信息均存储在数据库中,而不需要预先存储在展示装置中,这样能够大大降低展示装置中内存的占用。在地图中,最常见的标记点就是地名,以地名为例,北京市可能有数万个标记点,包括学校、商场、医院、地铁站等等,当地图的显示范围为整个中国时,虽然在显示时不可能具体显示出北京市的所有标记点,常常只会显示一个标记点:北京,但在向数据库发送当前地图显示范围内所有标记点的ID的请求时,数据库仍然会返回那些无法具体显示的标记点,即仍然会将北京市的数万个标记点的ID返回至展示装置。标记点的ID即标记点的唯一标识,通过设置ID,能够有效地区分出不同的标记点。
ID比较模块202用于接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较。
具体地,本发明实施例的ID比较模块在每次接收到数据库返回的标记点的ID时,都会进行缓存,需要注意的是,本发明实施例的ID比较模块会保留历次数据库返回的标记点的ID,以保证每次接收到新的标记点的ID时可以有比较的对象。显然,随着展示次数的增多,缓存的标记点的ID也在增多。本发明实施例通过将当前的标记点的ID和历次变化的标记点的ID进行比较,即可获知当前地图显示范围内相比历史上的显示范围多了哪些标记点、少了哪些标记点、增多了或者减少了多少标记点。
坐标请求模块203,用于若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求。
地图显示范围发生变化通常有三种情况:平移、放大地图和缩小地图。在当前地图显示范围内新增标记点时,既可能是进行平移操作,也可能是缩小地图操作。本发明实施例在每次展示时,都会缓存当前地图显示范围内的所有标记点的坐标,因此,在当前地图显示范围内新增标记点时,只会向数据库发送获取新增的标记点的坐标的请求,这样就减少了与数据库进行交互所需的时间和内存。
本发明实施例通过对新增的标记点的个数与第一预设阈值进行比较,可以获知地图显示范围变化的程度,通过设置第一预设阈值来判断新增标记点的增长程度,如果新增的标记点的个数小于第一预设阈值,表示当前地图显示的范围与之前显示的范围区别较小,因此可以将新增的标记点直接追加至当前已渲染的聚合点集中,直接更新现有的聚合点集。可以理解的是,第一预设阈值的取值可以通过经验或者多次试验获取,本发明实施例对第一阈值的大小、获取方法以及修正方法不做进一步的限定。
渲染模块204,用于接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
本发明实施例提供的展示装置,具体执行上述各展示方法实施例流程,具体请详见上述各展示方法实施例的内容,在此不再赘述。本发明实施例提供的展示装置通过从数据库中获取地图显示范围内的标记点的ID,减少了内存的占用,并且通过比较当前地图显示范围内的标记点与缓存的历次变化的地图显示范围内的标记点,在增长标记点的个数较少时采用直接追加至已渲染的聚合点集,更新现有的聚合点集,能够节省大量的时间和处理量。
图3为本发明实施例提供的电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器T30通过通信总线340完成相互间的通信。处理器310可以调用存储在存储器330上并可在处理器310上运行的计算机程序,以执行上述各实施例提供的展示方法,例如包括:若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求;接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的展示方法,例如包括:若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;向所述数据库发送获取新增的标记点的坐标的请求;若当前地图显示范围内新增标记点,则接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种地图中聚合点集的展示方法,其特征在于,包括:
若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;
接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;
若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点ID的坐标的请求;
接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
2.根据权利要求1所述的展示方法,其特征在于,所述获取当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较,之后还包括:
若当前地图显示范围发生变化的方式为缩小比例尺,则向所述数据库发送获取所述新增的标记点的坐标的请求,并删除变化前渲染结果中的聚合点集;
接收并缓存所述新增的标记点的坐标,遍历当前地图显示范围内的所有标记点重新进行聚合点集计算。
3.根据权利要求1所述的展示方法,其特征在于,所述获取当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较,之后还包括:
若当前地图显示范围发生变化的方式为放大比例尺,则删除变化前渲染结果中的聚合点集,并遍历当前地图显示范围内的所有标记点重新进行聚合点集计算。
4.根据权利要求1所述的展示方法,其特征在于,所述获取当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较,之后还包括:
若当前地图显示范围发生变化的方式为平移,且新增的标记点的个数不小于第一预设阈值,则删除变化前渲染结果中的聚合点集;根据本地缓存的当前地图显示范围的标记点的坐标,遍历当前地图显示范围内的所有标记点重新进行聚合点集计算;
若新增的标记点个数小于第一预设阈值,则遍历新增标记点,对前一渲染结果的聚合点集进行更新,更新的内容包括聚合点集的中心坐标和数值。
5.根据权利要求1所述的展示方法,其特征在于,所述遍历所述新增的标记点进行聚合点集计算,具体为:
对于任意一个新增的标记点,遍历聚合点集计算所述标记点与聚合点集的中心的距离,若所述距离不大于预设距离阈值,则将所述标记点划归至所述聚合点集,并更新所述聚合点集的中心坐标和标记点总数值;若遍历所有聚合点集未找到标记点归属的聚合点集,则将所述标记点作为新的聚合点集;
其中,更新所述聚合点集的中心坐标和标记点总数值,具体为:计算所述聚合点集中所有标记点的坐标的平均值,将所述平均值更新为所述聚合点集的中心,并对聚合点集的标记点的总数值进行累加。
6.根据权利要求1所述的展示方法,其特征在于,所述遍历所述新增的标记点进行聚合点集计算,之前还包括:
对所述新增的标记点的ID进行分组,获得若干个标记点ID分组;
同时向所述数据库发送多个数据请求,其中每个数据请求用于请求一个标记点ID分组中的标记点的坐标;
通过异步算法,汇总每个数据请求的反馈结果,获得所述新增的标记点的坐标。
7.根据权利要求4所述的展示方法,其特征在于,所述计算所述标记点与聚合点集的中心的距离,具体为:
根据标记点与聚合点集的中心坐标,获得标记点与聚合点集的中心的地理距离;
根据所述地理距离以及当前地图的分辨率获得标记点与聚合点集的中心点的像素距离,将所述像素距离作为所述标记点与聚合点集的中心的距离。
8.一种地图中聚合点集的展示装置,其特征在于,包括:
ID获取模块,用于若获知地图显示范围发生变化,向数据库发送获取当前地图显示范围内所有标记点的ID的请求;
ID比较模块,用于接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;
坐标请求模块,用于若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求;
渲染模块,用于接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7中任意一项所述的展示方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7中任意一项所述的展示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811307527.3A CN109657017B (zh) | 2018-11-05 | 2018-11-05 | 地图中聚合点集的展示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811307527.3A CN109657017B (zh) | 2018-11-05 | 2018-11-05 | 地图中聚合点集的展示方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657017A true CN109657017A (zh) | 2019-04-19 |
CN109657017B CN109657017B (zh) | 2021-03-23 |
Family
ID=66110131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811307527.3A Active CN109657017B (zh) | 2018-11-05 | 2018-11-05 | 地图中聚合点集的展示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657017B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555088A (zh) * | 2019-08-30 | 2019-12-10 | 高新兴科技集团股份有限公司 | 一种电子地图标签聚合方法 |
CN111460765A (zh) * | 2020-03-30 | 2020-07-28 | 掌阅科技股份有限公司 | 电子书籍标注处理方法、电子设备及存储介质 |
CN115658779A (zh) * | 2022-09-28 | 2023-01-31 | 广州市规划和自然资源自动化中心 | 一种人口数据显示方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020888A (zh) * | 2012-12-05 | 2013-04-03 | 广东威创视讯科技股份有限公司 | 图像平移更新显示方法和系统 |
CN104252529A (zh) * | 2014-09-04 | 2014-12-31 | 百度在线网络技术(北京)有限公司 | 一种地图标注的加载方法和装置 |
CN105550199A (zh) * | 2015-11-28 | 2016-05-04 | 浙江宇视科技有限公司 | 一种基于多源地图的点位聚合方法及装置 |
CN106293357A (zh) * | 2016-08-02 | 2017-01-04 | 网易(杭州)网络有限公司 | 地图标记图片的显示方法及装置 |
CN108681453A (zh) * | 2018-05-21 | 2018-10-19 | 京东方科技集团股份有限公司 | 地图引擎的实现方法及装置 |
-
2018
- 2018-11-05 CN CN201811307527.3A patent/CN109657017B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020888A (zh) * | 2012-12-05 | 2013-04-03 | 广东威创视讯科技股份有限公司 | 图像平移更新显示方法和系统 |
CN104252529A (zh) * | 2014-09-04 | 2014-12-31 | 百度在线网络技术(北京)有限公司 | 一种地图标注的加载方法和装置 |
CN105550199A (zh) * | 2015-11-28 | 2016-05-04 | 浙江宇视科技有限公司 | 一种基于多源地图的点位聚合方法及装置 |
CN106293357A (zh) * | 2016-08-02 | 2017-01-04 | 网易(杭州)网络有限公司 | 地图标记图片的显示方法及装置 |
CN108681453A (zh) * | 2018-05-21 | 2018-10-19 | 京东方科技集团股份有限公司 | 地图引擎的实现方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555088A (zh) * | 2019-08-30 | 2019-12-10 | 高新兴科技集团股份有限公司 | 一种电子地图标签聚合方法 |
CN111460765A (zh) * | 2020-03-30 | 2020-07-28 | 掌阅科技股份有限公司 | 电子书籍标注处理方法、电子设备及存储介质 |
CN115658779A (zh) * | 2022-09-28 | 2023-01-31 | 广州市规划和自然资源自动化中心 | 一种人口数据显示方法和装置 |
CN115658779B (zh) * | 2022-09-28 | 2023-08-18 | 广州市规划和自然资源自动化中心 | 一种人口数据显示方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109657017B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363602B (zh) | 智能ui界面布局方法、装置、终端设备及存储介质 | |
CN110675728B (zh) | 热力图的生成方法、装置、设备及计算机可读存储介质 | |
CN109657017A (zh) | 地图中聚合点集的展示方法及装置 | |
CN106484693B (zh) | 地图显示方法、图片块存储方法以及图片显示终端 | |
CN106528154A (zh) | 一种在线选座的方法、系统及设备 | |
CN114297206B (zh) | 精细化高效动态瓦片地图服务发布方法、介质及电子设备 | |
CN107085600B (zh) | Poi推荐方法、装置、设备及计算机可读存储介质 | |
CN103699534B (zh) | 系统目录中数据对象的显示方法及装置 | |
US10586358B1 (en) | System and method for visualization of beacon clusters on the web | |
CN110019622A (zh) | 一种实时海量地图点位聚合方法及装置 | |
CN107291874A (zh) | 地图点位聚合方法及装置 | |
CN107315753B (zh) | 跨多数据库的分页方法和装置 | |
CN107491549A (zh) | 一种数据处理方法及系统 | |
US10019735B2 (en) | Advertisement distribution apparatus, distribution method, and distribution program | |
CN108009205B (zh) | 基于位置的搜索结果缓存方法、搜索方法、客户端及系统 | |
CN105653550B (zh) | 网页过滤方法和装置 | |
CN108566411A (zh) | 静态资源获取方法、电子设备和存储介质 | |
WO2017036409A1 (zh) | 地点获取方法、服务器、客户端以及系统 | |
CN106020732A (zh) | 节点的磁盘空间确定方法及系统 | |
CN104391898B (zh) | 数据展示方法和装置 | |
CN110895591A (zh) | 一种定位自提点的方法和装置 | |
US11907283B2 (en) | Multi-resolution raster data access method, apparatus, electronic device, and computer storage medium | |
CN105933178A (zh) | 用于检测通信链路的方法、装置和终端设备 | |
DE102022002707A1 (de) | Maschinell lernende Konzepte zur Schnittstellenmerkmalseinführung über Zeitzonen oder grafische Bereiche hinweg | |
CN103458032A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |