掌桥专利:专业的专利平台
掌桥专利
首页

一种人口数据显示方法和装置

文献发布时间:2023-06-19 18:27:32


一种人口数据显示方法和装置

技术领域

本申请涉及数据处理技术领域,具体涉及一种人口数据显示方法和装置。

背景技术

在城市建设、城市规划、城市管理等应用中,通常需要宏观查看区域内各类人口的分布情况,从而辅助相关部门快速制定更加合理的决策。其中,由于市域人口数据量一般达到千万级,通常可以采用数值或表格的方式,统计各区域的人口数量、人口属性等,据此绘制对应的条形图、趋势图、饼图等图例进行展示。

但这种人口数据的图例展示方式,都是针对不同的人口数据分布要求,分别对大量人口数据进行统计处理,绘制对应的图例进行展示,数据统计量非常大,降低了图例展示效率,还可能需要观看者对多个图例展示内容进行分析,才能够得到所需人口数据分布情况,影响了辅助决策直观性。

发明内容

为了解决上述问题,本申请实施例提供如下技术方案:

一方面,本申请提出了一种人口数据显示方法,所述方法包括:

响应客户端发送的人口数据展示请求,得到所述客户端当前输出的人口数据展示页面的目标地图缩放层级和目标显示地图范围;

从多个地图缩放层级各自对应的数据缓存表中,查询所述目标地图缩放层级对应的目标数据缓存表;其中,所述数据缓存表中记录有对应地图缩放层级的人口聚合点和对应的聚类信息,所述聚类信息包括对应人口聚合点的聚类坐标和各聚类属性信息的总人口数量;所述多个地图缩放层级各自的人口聚合点是基于屏幕搜索范围以及所在地图缩放层级,对来自至少一个数据源的人口数据进行层级聚类处理得到;

基于所述目标显示地图范围,对所述目标数据缓存表记录的多个所述聚类坐标进行匹配处理,确定相匹配的多个目标聚类坐标各自对应的目标人口聚合点;

将所述目标人口聚合点对应的目标人口数据反馈至所述客户端,由所述客户端对所述目标人口数据进行热力图渲染,以在所述人口数据展示页面中显示人口热力图,所述人口热力图能够表示所述目标显示地图范围内的不同属性下的人口数据分布情况。

可选的,所述多个地图缩放层级各自对应的数据缓存表的确定方法包括:

获取屏幕搜索范围以及多个地图缩放层级;所述屏幕搜索范围是基于客户端显示屏的像素单位确定;所述多个地图缩放层级基于天地图标准确定,且所述地图缩放层级越高,对应显示地图范围越小;

从所述多个地图缩放层级中最大地图缩放层级开始,基于所述屏幕搜索范围,对来自至少一个数据源的人口数据进行层级聚类处理,得到所述多个地图缩放层级各自对应的多个待聚合点集;

对所述多个待聚合点集各自包含的来自上一地图缩放层级的人口数据进行聚类处理,得到当前地图缩放层级对应的人口聚合点以及该人口聚合点的聚类信息;

将所述聚类信息写入对应所述地图缩放层级的数据缓存表进行存储。

可选的,所述方法还包括:

获取来自至少一个数据源的多条人口数据;每条人口数据包括地理坐标以及至少一种属性信息;

按照所述地理坐标对所述多条人口数据进行排序,得到对应的人口排序结果;

依据所述人口排序结果以及预设人口分组数量,对所述多条人口数据进行分区处理,得到多个人口数据集,以利用所述多个人口数据集各自包含的多条人口数据,更新确定所述多个地图缩放层级各自对应的数据缓存表。

可选的,所述从所述多个地图缩放层级中最大地图缩放层级开始,基于所述屏幕搜索范围,对来自至少一个数据源的人口数据进行层级聚类处理,得到所述多个地图缩放层级各自对应的多个待聚合点集,包括:

针对每一个所述人口数据集包含的多条人口数据,确定所述多个地图缩放层级各自对应的待搜索人口数据;

基于所述屏幕搜索范围,确定所述多个地图缩放层级各自的地图搜索范围;

从最大地图缩放层级逐层开始,利用对应的所述地图搜索范围,遍历上一地图缩放层级对应的待搜索人口数据,得到多个待聚合点集。

可选的,所述对所述多个待聚合点集对应的来自上一地图缩放层级的人口数据进行聚类处理,得到当前地图缩放层级对应的人口聚合点以及该人口聚合点的聚类信息,包括:

对每个所述待聚合点集包含的来自上一地图缩放层级的多条人口数据各自的地理坐标进行平均值运算,得到对应人口聚合点的聚类坐标;

对每个所述待聚合点集包含的来自上一地图缩放层级的多条人口数据中同一属性信息的人口数量进行求和,得到对应人口聚合点的各聚类属性信息的总人口数量;

利用所得到的当前地图缩放层级上同一所述人口聚合点的所述聚类坐标和各所述聚类属性信息的总人口数量,构成该人口聚合点的聚类信息。

可选的,所述方法还包括:

响应人口数据更新事件,更新所述多个地图缩放层级各自的人口聚类点;

获得更新后的人口聚合点对应的聚类信息,将该聚类信息写入对应人口聚合点所在地图缩放层级的待定缓存表;

将当前的所述待定缓存表更新为对应地图缩放层级的数据缓存表,再将该地图缩放层级的原数据缓存表确定为新的待定缓存表;

清除所述多个地图缩放层级各自新的待定缓存表记录的聚类信息;

其中,所述将当前的所述待定缓存表更新为对应地图缩放层级的数据缓存表,再将该地图缩放层级的原数据缓存表确定为新的待定缓存表,包括:

将当前所述多个地图缩放层级各自对应的数据缓存表确定为过渡缓存表;

将所述多个地图缩放层级各自对应的待定缓存表确定为新的数据缓存表;

将所述过渡缓存表确定为对应所述地图缩放层级的新的待定缓存表。

又一方面,本申请还提出了一种人口数据显示方法,所述方法包括:

输出人口数据展示页面,在所述人口数据展示页面上显示具有目标地图缩放层级和目标显示地图范围的地图;

向业务服务器包含所述目标地图缩放层级和所述目标显示地图范围的人口数据展示请求;

接收所述业务服务器响应所述人口数据展示请求反馈的目标人口数据;所述目标人口数据是所述目标地图缩放层级的目标人口聚合点对应的人口数据;所述目标人口聚合点基于所述目标显示地图范围,对所述目标地图缩放层级对应的目标数据缓存表记录的多个聚类坐标进行匹配处理确定;所述目标人口数据包括多个所述目标人口聚合点各自的聚类信息,所述聚类信息包括聚类坐标和各聚类属性信息的总人口数量;

对所述目标人口数据进行热力图渲染,在所述人口展示页面的地图上显示人口热力图;所述人口热力图能够表示所述目标显示地图范围内的不同属性下的人口数据分布情况。

可选的,所述方法还包括:

响应针对所述人口热力图的任一属性的选择操作,依据所述目标地图缩放层级的具有所选择属性的目标人口聚合点的人口数量,更新所述人口热力图显示所选择属性下的人口数量分布;

监听到针对所述目标显示地图范围和/或所述目标地图缩放层级的更新事件,依据所述业务服务器重新反馈的目标人口数据,更新所述人口数据展示页面显示的人口热力图。

又一方面,本申请还提出了一种人口数据显示装置,所述装置包括:

人口数据展示请求响应模块,用于响应客户端发送的人口数据展示请求,得到所述客户端当前输出的人口数据展示页面的目标地图缩放层级和目标显示地图范围;

目标数据缓存表查询模块,用于从多个地图缩放层级各自对应的数据缓存表中,查询所述目标地图缩放层级对应的目标数据缓存表;其中,所述数据缓存表中记录有对应地图缩放层级的人口聚合点和对应的聚类信息,所述聚类信息包括对应人口聚合点的聚类坐标和各聚类属性信息的总人口数量;所述多个地图缩放层级各自的人口聚合点是基于屏幕搜索范围以及所在地图缩放层级,对来自至少一个数据源的人口数据进行层级聚类处理得到;

目标人口聚合点确定模块,用于基于所述目标显示地图范围,对所述目标数据缓存表记录的多个所述聚类坐标进行匹配处理,确定相匹配的多个目标聚类坐标各自对应的目标人口聚合点;

目标人口数据反馈模块,用于将所述目标人口聚合点对应的目标人口数据反馈至所述客户端,由所述客户端对所述目标人口数据进行热力图渲染,以在所述人口数据展示页面中显示人口热力图,所述人口热力图能够表示所述目标显示地图范围内的不同属性下的人口数据分布情况。

又一方面,本申请还提出了一种人口数据显示装置,所述装置包括:

人口数据展示页面输出模块,用于输出人口数据展示页面,在所述人口数据展示页面上显示具有目标地图缩放层级和目标显示地图范围的地图;

人口数据展示请求发送模块,用于向业务服务器包含所述目标地图缩放层级和所述目标显示地图范围的人口数据展示请求;

目标人口数据接收模块,用于接收所述业务服务器响应所述人口数据展示请求反馈的目标人口数据;所述目标人口数据是所述目标地图缩放层级的目标人口聚合点对应的人口数据;所述目标人口聚合点基于所述目标显示地图范围,对所述目标地图缩放层级对应的目标数据缓存表记录的多个聚类坐标进行匹配处理确定;所述目标人口数据包括多个所述目标人口聚合点各自的聚类信息,所述聚类信息包括聚类坐标和各聚类属性信息的总人口数量;

人口热力图显示模块,用于对所述目标人口数据进行热力图渲染,在所述人口展示页面的地图上显示人口热力图;所述人口热力图能够表示所述目标显示地图范围内的不同属性下的人口数据分布情况。

又一方面,本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器加载执行,实现对应侧执行的人口数据显示方法。

可见,在用户使用客户端查看某区域的人口数据分布情况时,客户端输出人口数据展示页面时,可以获取该人口数据展示页面的目标地图缩放层级以及目标显示地图范围,向业务服务器发送包含该信息的人口数据展示请求,这样,业务服务器响应该人口数据展示请求时,可以直接查询目标地图缩放层级对应的目标数据缓存表,之后再从该数据缓存表中记录的数据中,快速且准确查询位于目标显示地图范围内的目标聚类坐标对应的目标人口聚合点,将其对应的目标人口数据反馈至客户端进行热力图渲染显示,相对于对海量人口数据直接进行图例统计输出,本申请只需要对位于当前地图缩放层级上的目标人口聚合点的目标人口数据进行热力图渲染输出,大大减少了渲染工作量,提高了人口数据分布展示响应效率和直观性,实现了大数据量高效展示。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提出的基于手势交互的业务办理方法的一可选示例的流程示意图;

图2为本申请提出的人口数据显示方法的又一可选示例的流程示意图;

图3为本申请提出的人口数据显示方法中,各地图缩放层级的数据缓存表示意图;

图4为本申请提出的人口数据显示方法的又一可选示例的流程示意图;

图5为本申请提出的人口数据显示方法中,对海量人口数据进行区块化处理流程示意图;

图6为本申请提出的人口数据显示方法中,多个地图缩放层级的人口数据的金字塔结构示意图;

图7为本申请提出的人口数据显示方法的又一可选示例的流程示意图;

图8为本申请提出的人口数据显示方法的又一可选示例的流程示意图;

图9为本申请提出的人口数据显示方法中,人口热力图的一可选示例示意图;

图10为本申请提出的人口数据显示装置的一可选示例的结构示意图;

图11为本申请提出的人口数据显示装置的又一可选示例的结构示意图;

图12为本申请提出的人口数据显示装置的又一可选示例的结构示意图;

图13为本申请提出的人口数据显示装置的又一可选示例的结构示意图;

图14为适用于本申请提出的人口数据显示方法的计算机设备的一可选示例的硬件结构示意图;

图15为适用于本申请提出的人口数据显示方法的计算机设备的又一可选示例的硬件结构示意图。

具体实施方式

针对背景技术部分的描述内容,本申请希望可以在地图上对应显示各区域的人口数据量,以直观展示人口分布及差异;还可以在需要时,操作者可以通过对显示地图上任一区域进行触控操作,以展示该区域的人口数据详情,增加互动性,对此,本申请提出人口密度热力图这种图表统计方式,直观展示各区域人口分布情况。然而,由于电子设备的屏幕区域,无法承受渲染压力,使得视觉可识别的点的密集程度是有限的,希望可以对展示点进行数据降级,实现大数据量高效展示。

基于此,本申请提出可以从数据源(如地图服务、地理数据库等)中分区读取数据,将一定范围内相邻展示点(其可以表示人口数据)进行聚合,生成聚合点后,再按照显示层级,依次根据上一层级的聚合点,生成当前层级的聚合点,缓存到数据表中。在前端电子设备显示屏上进行展示时,可以根据当前显示范围、层级,从数据表中直接查询对应的展示点,通过热力图的方式进行渲染展示。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,可以理解的是,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参照图1,为本申请提出的人口数据显示方法的一可选示例的流程示意图,该方法可以由计算机设备执行,该计算机设备可以是支持人口数据统计和显示等业务的业务服务器,以使用户可以使用相匹配的客户端以热力图方式,查看人口数据分布情况。基于此,如图1所示,本实施例提出的人口数据显示方法可以包括但并不局限于以下步骤:

步骤S11,响应客户端发送的人口数据展示请求,得到客户端当前输出的人口数据展示页面的目标地图缩放层级和目标显示地图范围;

在用户(如城市规划、管理者等)希望通过地图直观查看某区域(如一个城市、省份或全国等)内的人口数据分布情况,可以启动支持人口数据查询功能的客户端,输出人口数据展示页面呈现地图,等待展示人口数据,之后,可以触发该人口数据展示页面中的人口数据查看功能按钮/图标等入口标识,向后台业务服务器发送人口数据展示请求,或者是在输出人口数据展示页面时,生成人口数据展示请求,以请求获得用于在该人口数据展示页面以热力图方式展示人口数据分布情况的人口数据展示请求等,本申请对客户端发送人口数据展示请求的实现方法不做限制,可视情况而定。

可以理解的是,由于客户端显示屏的显示区域有限,在保证视觉可识别人口数据点的基础上,使得显示屏所能够展示的人口数据点的密集程度有限,所以说,客户端所能够展示的人口数据点数与显示屏显示区域的像素数、所输出地图具有的地图缩放层级等信息相关。

因此,客户端生成人口数据展示请求时,可以先获取人口数据展示页面所显示或将要显示的地图所处的目标地图缩放层级,以及所显示的地图范围(记为目标显示地图范围,在显示区域不变的情况下,随着地图缩放层级的变化而改变),也就是在人口数据展示页面需要显示人口数据分布情况的各地图区域。之后,可以生成包含所获得的目标地图缩放层级和目标显示地图范围等信息的人口数据展示请求。需要说明,该人口数据展示请求包括但并不局限于该信息内容,根据需要还可以包括客户端标识等信息。

业务服务器接收到任一匹配的客户端发送的人口数据展示请求后,可以解析该人口数据展示请求,确定该客户端当前输出的人口数据展示页面的目标地图缩放层级和目标显示地图范围,由此确定该客户端希望以什么人口数据点密集程度,展示哪些区域的人口数据分布情况。

其中,在本申请实施例中,地图缩放层级是基于天地图标准确定,天地图是测绘地理信息管理部分提供的切片服务,所确定的多个地图缩放层级i可以分为1~20级,对应的显示屏所显示地图与实际地理地图之间的比例尺寸(图上距离:实际距离)可以是1:295829355.4545656~1:564.2497166720688,但并不局限于该数值,可以依据天地图的切片服务确定。可见,在显示屏显示区域不变的情况下,随着地图缩放层级的增加,所能够显示的地图区域范围减少,但所显示区域更详细。可选的,对于本申请实施例中的多个地图缩放层级中,第i个地图缩放层级的比例尺寸可以是第i-1个地图缩放层级的比例尺寸的一倍,这样,在显示屏显示区域不变的情况下,第i-1个地图缩放层级的显示地图范围是第i个地图缩放层级的显示地图范围的一倍。

基于此,在本申请实施例中,客户端输出的人口数据显示页面所呈现的地图,可以依据实际需要显示的比例尺寸,确定该地图以什么地图缩放层级进行展示,据此在该人口数据显示页面中展示具有所确定的地图缩放层级的地图,本申请对如何动态调整地图缩放层级的实现方法不做详述。需要说明,用户每次调整所展示地图的显示比例尺寸或者地图缩放层级,均可以执行本申请实施例描述的方法,以使客户端重新获得所需显示人口数据,及时更新所输出的人口热力图,本申请对该动态调整的实现过程不做详述。

步骤S12,从多个地图缩放层级各自对应的数据缓存表中,查询目标地图缩放层级对应的目标数据缓存表;

在本申请实施例中,结合上文对地图缩放层级的描述可知,人口数据展示页面处于不同地图缩放层级下,视觉可识别范围内所显示的区域不同,位于各区域的人口数据点的数量不同。因此,为了提高展示人口数据的响应效率,实现大数据量高效展示,对于来自至少一个数据源的人口数据,可以基于针对客户端显示屏的预设搜索范围进行层级聚类(即基于机器学习的层次聚类算法)处理,确定每一个(如第i个)地图缩放层级上的人口聚合点(即人口数据的展示点),再依据各人口聚合点包含的人口数据,即来自上一个(如第i-1个)地图缩放层级的人口数据点的地理坐标、属性信息,经过平均或求和运算,得到当前地图缩放层级上对应人口聚合点的聚类信息,实现方法本申请不做详述。

之后,可以将每一地图缩放层级上的人口聚合点的聚类信息等,写入该地图缩放层级对应的数据缓存表中存储,以供后续展示对应地图缩放层级的人口数据分布情况时,直接读取对应数据缓存表记录的人口数据。本申请对上述数据缓存表的创建方法及其记录的数据内容、该数据内容的获取过程不做限制,可以随着人口数据的变化而实时或周期性更新,更新实现过程可以参照下文实施例对应部分的描述,本实施例在此不做详述。

基于上述分析,业务服务器按照上述方法获得客户端输出人口数据展示页面的目标地图缩放层级后,可以从预先配置的多个地图缩放层级各自的数据缓存表中,查询与该目标地图缩放层级对应的数据缓存表,记为目标数据缓存表。关于多个地图缩放层级与多个数据缓存表之间的一一对应关系的表示方式及其构建方法,包括但并不局限于上下文描述的实现方法,可视情况而定。

对于上述人口聚合点可以基于屏幕搜索范围和所在地图缩放层级,对来自至少一个数据源的人口数据进行层级聚类处理得到。可选的,预设的该屏幕搜索范围可以是基于客户端显示屏的像素单位确定,如由n个显示屏像素构成屏幕搜索半径,再依据显示地图与实际地理地图之间的地图比例尺寸,计算相应地图搜索层级的地图搜索半径,进而遍历上一地图缩放层级上的各人口数据点的地理坐标(如经纬度坐标等),确定针对当前地图缩放层级的待聚合点集,构成当前地图缩放层级的人口聚合点,即当前地图缩放层级上的人口展示点,实现过程可以结合层级聚类算法的运算原理确定,本实施例在此不做详述。应该理解的是,由于不同地图搜索层级之间的比例尺寸和显示地图范围具有一定倍数关系,因此,在确定某一地图缩放层级的实际搜索半径(或其他搜索范围表示方式)后,可以依据该倍数关系,快速计算其他地图缩放层级的实际搜索半径。

另外,为了方便计算人口聚合点的聚类坐标,对于每一条人口数据包含的基于大地坐标系/经纬度坐标系确定的人口数据点的经纬度坐标,可以采用但并不局限于采用的开源技术GeoTools,先转换为墨卡托坐标,之后,可以据此计算不同人口数据点之间的距离,以确定两个人口数据点(其是未被聚合的人口数据点)是否为待聚合的人口数据点。因此,上述人口数据的地理坐标可以是经纬度坐标或其转换后的墨卡托坐标等,人口聚合点的聚类坐标可以是墨卡托坐标,获取过程本实施例不做详述。

步骤S13,基于目标显示地图范围,对目标数据缓存表记录的多个聚类坐标进行匹配处理,确定相匹配的多个目标聚类坐标各自对应的目标人口聚合点;

步骤S14,将目标人口聚合点对应的目标人口数据反馈至客户端,由客户端对目标人口数据进行热力图渲染,以在人口数据展示页面中显示人口热力图,该人口热力图能够表示目标显示地图范围内的不同属性下的人口数据分布情况。

依据上文对数据缓存表的描述内容可知,数据缓存表具有坐标字段以及各种属性的属性字段,该坐标字段可以用于记录对应地图缩放层级上的各人口聚合点的字段内容,如对应的聚类坐标,该属性字段可以用于记录对应人口聚合点的聚类属性信息等,这样,业务服务器确定客户端所需要展示的目标地图缩放层级对应的目标数据缓存表后,可以将该目标数据缓存表的坐标字段对应的各聚类坐标与目标显示地图范围进行比较,确定位于该目标显示地图范围内的目标聚类坐标,将具有该目标聚类坐标的人口聚合点确定为待展示的目标人口聚合点。

之后,可以直接将所得到的目标人口聚合点对应的聚类坐标、各聚类属性信息等目标人口数据反馈至客户端进行热力图渲染,或对该目标人口数据进行热力图渲染处理后再反馈至客户端,输出所得到的人口热力图,由该热力图显示目标显示地图范围内的至少一个属性下的人口数据分布情况,如显示该目标显示地图范围内流动人口数量分布情况,可由颜色深浅表征流动人口数量多少,但并不局限于此,可以灵活调整人口热力图显示方式。

综上,在本申请实施例中,为了减轻渲染压力,可以基于针对客户端显示屏的屏幕搜索范围以及层级聚类算法,对来自至少一个数据源的人口数据进行层级聚合处理,确定不同地图缩放层级对应的人口聚合点即人口展示点及其对应的聚类坐标、各聚类属性信息等聚类信息,将该聚类信息写入针对该地图缩放层级构建的数据缓存表进行存储,这样,用户使用客户端查看某区域的人口数据分布情况,客户端输出人口数据展示页面时,可以获取该人口数据展示页面的目标地图缩放层级以及目标显示地图范围,向业务服务器发送包含该信息的人口数据展示请求,这样,业务服务器响应该人口数据展示请求时,可以直接查询目标地图缩放层级对应的目标数据缓存表,之后再从该数据缓存表中记录的数据中,快速且准确查询位于目标显示地图范围内的目标聚类坐标对应的目标人口聚合点,将其对应的目标人口数据反馈至客户端进行热力图渲染显示,相对于对海量人口数据直接进行图例统计输出,本申请只需要对位于当前地图缩放层级上的目标人口聚合点的目标人口数据进行热力图渲染输出,大大减少了渲染工作量,提高了人口数据分布展示响应效率和直观性,实现了大数据量高效展示。

参照图2,为本申请提出的人口数据显示方法的一可选示例的流程示意图,本实施例可以对人口数据的缓存过程进行描述,具体可以对多个地图缩放层级各自对应的数据缓存表的获取过程进行细化描述,但并不局限于本实施例描述的细化实现方法,且关于对该数据缓存表的使用过程,可以参照上下文实施例对应部分的描述,本实施例不做详述。如图2所示,该多个地图缩放层级各自对应的数据缓存表的获取方法可以包括但并不局限于:

步骤S21,获取屏幕搜索范围以及多个地图缩放层级;

结合上文对本申请技术方案的相关描述可知,该屏幕搜索范围可以是基于客户端显示屏的像素单位确定,可以为屏幕搜索半径,即将多少像素(如40像素等,可以依据实际显示效果进行灵活调整,本申请对屏幕搜索半径的数值不做限制)内显示/对应的人口数据点聚集在一起,为一个人口数据聚合点。

多个地图缩放层级可以基于天地图标准确定,在实际应用中,可以依据电子设备所输出的人口数据展示页面的显示比例尺寸(即显示地图的比例尺寸),确定采用哪个地图缩放层级,关于不同地图缩放层级与地图的显示比例尺寸之间的对应关系,可以依据天地图标准确定,本申请在此不做详述。本申请实施例中地图缩放层级越高,对应的地图比例尺寸越大,对应显示地图范围越小。

步骤S22,从多个地图缩放层级中最大地图缩放层级开始,基于屏幕搜索范围,对来自至少一个数据源的人口数据进行层级聚类处理,得到多个地图缩放层级各自对应的多个待聚合点集;

在实际应用中,人口数据的数据形式可以是基于arcgis、supermap或者符合ogc标准的地图服务,也可以是存在shp、gdb、mdb、sde等地理数据库等,也就是说,人口数据的数据源可以包括能够提供地图服务的各GIS(Geographic Information System或Geo-Information system,地理信息系统)平台,如上述arcgis、supermap等,还可以包括各地理数据库等,本申请对提供人口数据的数据源类型不做限制,且计算机设备可以实时或周期性从至少一个数据源读取新的人口数据,即动态获取人口数据,以更新人口分布情况。

其中,对于上述地图服务可以包括至少一个子服务,如按照用户输入的查询条件进行查询、导出所查询到的图形的属性信息和坐标信息等,可以依据实际情况灵活配置或调整地图服务包含的各子服务,本申请在此不做详述。

基于上述分析,计算机设备在读取人口数据过程中,可以通过地图服务的查询接口获取人口数据,还可以通过ArcEngine连接地理数据库,查询地理数据库所存储的人口数据。本申请实施例中,该直接读取到的人口数据可以是点数据,通常可以包括人口数量、地理坐标以及至少一种属性的属性信息等,该地理坐标可以是基于大地坐标系/经纬度坐标系。

综上分析,在本申请实施例中,确定最大地图缩放层级(如第20级的地图缩放层级)对应的地图比例尺寸,利用该地图比例尺寸以及预设的屏幕搜索范围(如40像素的屏幕搜索半径),计算在该最大地图缩放层级上的地图搜索范围(即实际搜索范围),之后,可以将位于上一地图缩放层级(如第19级的地图缩放层级)上的多条人口数据中,位于该地图搜索范围内的人口数据点确定为待聚合点集,构成对应的人口聚合点,即得到该最大地图缩放层级上的多个人口聚合点。

之后,在确定次大地图缩放层级(如第19级的地图缩放层级)的人口聚合点时,可以按照上述方法确定该次大地图缩放层级的地图搜索范围,如上述分析,其是上一地图缩放层级的地图搜索范围的一倍,即当前地图缩放层级的地图搜索范围=上一地图缩放层级的地图搜索范围×2,再据此对上一个地图缩放层级(如第18级的地图缩放层级)上的人口数据点之间的距离进行计算,确定位于该次大地图缩放层级的地图搜索范围内的待聚合的点集,得到该次大地图缩放层级的人口数据聚合点,如此进行层级聚类处理,直至得到最小缩放层级的人口数据聚合点。

可见,在本申请提出的层级聚类处理过程中,是将上一地图缩放层级对应的人口数据确定为用于获取当前地图缩放层级的人口聚合点的待搜索人口数据,以上一地图缩放层级的地图搜索范围的2倍为当前地图缩放层级的地图搜索范围,遍历这些待搜索人口数据,依次确定待聚合点集(如上一地图缩放层级对应的至少两个人口数据点,已被聚合的人口数据点不再参与本次遍历搜索),对其进行聚合处理,得到当前地图缩放层级上的人口展示点即人口聚合点。

步骤S23,对人口聚合点对应的来自上一地图缩放层级的多个待聚合的人口聚合点各自的人口数据进行聚类处理,得到当前地图缩放层级的该人口聚合点的聚类信息;

结合上文描述的层级聚类处理过程可知,构成当前地图缩放层级上的任一人口聚合点的待聚合点,是来自上一地图缩放层级(即显示地图范围更大的地图缩放层级)上的人口数据点,因此,在确定当前地图缩放层级的人口聚合点的聚类信息时,可以对构成该人口聚合点的多个待聚合的人口数据点各自的人口数据进行聚类处理,如对这多个待聚合的人口数据点各自的地理坐标进行平均运算,将得到的平均坐标确定为当前地图缩放层级上对应人口聚合点的聚类坐标;对这多个待聚合点各自的同一属性信息下的人口数量进行求和,如对各流动人口或常住人口等数量进行求和,得到当前地图缩放层级上对应人口聚合点的总流动人口数量或总常住人口数量等,可以依据人口数据包含的属性类别及其统计方式确定,本申请在此不做一一举例详述。

步骤S24,将聚类信息写入对应地图缩放层级的数据缓存表进行存储。

为了方便后续查询所需显示的人口数据,按照上述层次聚类方式获得各地图缩放层级对应的各人口聚合点的聚类信息后,可以将其写入对应的数据缓存表中存储。关于数据缓存表对聚类信息的存储方式及其使用方式可以参照上下文相应部分的描述,本实施例在此不做详述。

示例性的,如图3所示的数据缓存表的一可选示意图,各地图缩放层级的数据缓存表中可以包括:所确定的对应地图缩放层级上的多个人口聚合点的聚类坐标所在的坐标字段,以及多个聚类属性信息各自对应的属性字段,如图3所示的常住人口、流动人口、境外人口、劳动人口等不同人口类型字段对应的人口数量,根据需要还可以依据人口年龄确定的幼儿、儿童、青少年、青年、中年、老年等字段对应的人口数量;根据人口性别确定的男性字段、男性字段各自对应的人口数量等,图3并未示出各属性字段内容,可以依据实际人口数据显示需求灵活调整。另外,为了区分各人口聚合点,在数据缓存表中可以记录各人口聚合点所处的门牌号dzqc,还可以记录所在区域代码xzqdm、地理代码dzdm等,本申请对数据缓存表所包含的字段类型不做限制,可视情况而定。

参照图4,为本申请提出的人口数据显示方法的又一可选示例的流程示意图,本实施例可以对上文描述的人口数据显示方法的一可选细化实现方式进行描述,如图4所示,该方法可以包括:

步骤S41,获取来自至少一个数据源的多条人口数据;每条人口数据包括地理坐标以及至少一种属性信息;

结合上文对人口数据的多个数据源的相关描述,可以通过地图服务查询人口数据,也可以连接地理数据库查询人口数据,本申请对人口数据的获取方法不做限制。对于每一条人口数据包含的至少一种属性信息,如上述分析,可以依据人口类型、人口年龄段、人口性别或其他方式确定,以便统计不同属性信息各自的人口数量。

步骤S42,按照地理坐标对多条人口数据进行排序,得到对应的人口排序结果;

步骤S43,依据人口排序结果以及预设人口分组数量,对多条人口数据进行分区处理,得到多个人口数据集;

在实际应用中,由于来自一个或多个数据源的人口数据的数据量往往非常大,计算机设备所具有的资源很难支持对海量人口数据进行处理(即全量计算),因此,在计算机设备的资源不足于支持全量计算方式时,可以采用分布式计算方式实现海量人口数据的缓存,所以,本申请可以将获取的各人口数据,可以写入数据库(如关系型数据库)中进行存储,再对这些人口数据进行分区,以便后续每次可以查询一个分区内的多条人口数据进行处理,关于每一分区人口数据的处理方式类似,本申请不做一一详述。

可选的,如图5所示的流程人口数据区块化处理流程示意图,本申请可以构建数据网络的方式对海量人口数据进行区块化处理,如可以依据人口数据包含的地理坐标(如人口数据点的经纬度坐标)以及预设人口分组数量(如10万等)进行分区,得到多个待计算数据网络,即得到多个人口数据集,之后,对于每一个待计算数据网格(即对应的一个人口数据集)对应的多条人口数据,均可以按照本实施例提出的方法进行处理,也就是说,在完成对一个待计算数据网格内的多条人口数据(即对应的人口数据集包含的多条人口数据)进行处理,得到不同地图缩放层级对应的数据缓存表后,可以读取下一个待计算数据网格内的多条人口数据,按照本实施例描述的方法,继续对不同地图缩放层级对应的数据缓存表进行更新,即将新获得的聚类信息写入对应的数据缓存表,如此对各分区的人口数据进行层次聚类处理,以使得不同地图缩放层级对应的数据缓存表记录对应地图缩放层级中所有人口聚合点的聚类信息。

步骤S44,针对每一个人口数据集包含的多条人口数据,确定多个地图缩放层级各自对应的待搜索人口数据;

继上述分析,在对来自多个数据源的多条人口数据进行区块化、依据多个地图缩放层级进行分层分级处理后,每一次可以获取一个人口数据集包含的多条人口数据,如每次查询10万条人口数据,对其采用贪心聚类算法进行层级聚类处理。其中,对于一个人口数据集包含的多条人口数据,可以构建类模型,记录这多条人口数据各自的地理坐标和至少一个属性信息,以便后续据此进行统计分析。

由于不同地图缩放层级的显示地图范围不同(即地图上能够显示的数据点不同),使得不同地图缩放层级对应的人口数据不同,且地图缩放层级越高,对应的显示地图范围越小,所对应的人口数据量可能越小,但人口数据点越详细。相邻地图缩放层级对应的人口数据中可能会存在至少一条人口数据,可以依据不同地图缩放层级对应的显示地图范围,确定位于该显示地图范围内各人口数据点的人口数据,记为对应地图缩放层级的待搜索人口数据。

步骤S45,基于屏幕搜索范围,确定多个地图缩放层级各自的地图搜索范围;

步骤S46,从最大地图缩放层级逐层开始,利用对应的地图搜索范围,遍历上一地图缩放层级对应的待搜索人口数据,得到多个待聚合点集;

关于步骤S45和步骤S46的实现过程,可以参照上文实施例对应部分的描述,本申请实施例在此不做详述。其中,屏幕搜索范围可以是屏幕搜索半径,可以依据客户端输出的人口数据展示页面所显示地图对应的屏幕显示尺寸确定,本申请对其数值不做限制,相应确定的地图搜索范围可以是实际地理空间中的搜索半径。这样,在计算得到两个人口数据点之间的地理距离后,若其小于或等于该搜索半径,可以将这两个人口数据点确定为待聚合的数据点,如此类推,遍历上一地图缩放层级上的所有待搜索人口数据,得到针对当前地图缩放层级的多个待聚合点集。

依据上文对多个地图缩放层级的相关描述可知,1-20级别等多个地图缩放层级中,级别越高对应的显示地图范围越小,但其地图区域越详细,因此,多个地图缩放层级上的人口数据的数量可以呈如图6所示的数据金字塔结构。

步骤S47,对每个待聚合点集包含的来自上一地图缩放层级的多条人口数据各自的地理坐标进行平均值运算,得到对应人口聚合点的聚类坐标;

步骤S48,对每个待聚合点集包含的来自上一地图缩放层级的多条人口数据中同一属性信息的人口数量进行求和,得到对应人口聚合点的各聚类属性信息的总人口数量;

步骤S49,利用所得到的当前地图缩放层级上同一人口聚合点的聚类坐标和各聚类属性信息的总人口数量,构成该人口聚合点的聚类信息;

步骤S410,将各人口聚合点的聚类信息写入对应地图缩放层级的数据缓存表进行存储。

结合上文对数据缓存表的相关描述,本申请可以依次对所有待聚合点集,计算平均坐标作为对应人口聚合点的聚类坐标,统一同一属性信息下的人口总数量作为该人口聚合点的该属性信息(可以称为聚类属性信息)下的人口属性,如此推进处理,直至针对当前的一个人口数据集包含的多条人口数据,获得相应地图范围内多个地图缩放层级各自的人口聚合点及其聚类信息,之后,再查询下一个人口数据集,按照上述方法继续对其包含的多条人口数据进行层级聚类处理,确定相应地图范围内多个地图缩放层级各自的人口聚合点及其聚类信息,实现过程类似本申请不做详述。可见,本申请可以利用多个人口数据集各自包含的多条人口数据,逐渐更新确定多个地图缩放层级各自对应的数据缓存表,相对于直接对海量人口数据进行统计处理,本申请对区块化的人口数据进行分层分级的聚类处理,降低了对计算机设备的数据处理能力的要求,提高了数据处理效率。

参照图7,为本申请提出的人口数据显示方法的又一可选示例的流程示意图,本实施例仍可以从业务服务器侧进行描述,关于人口数据的层级聚类实现过程,可以参照上文实施例对应部分的描述,本实施例可以对所得到的各地图缩放层级的人口聚类点及其聚类信息的存储过程(即数据缓存过程),以及人口数据更新的情况下,在不影响使用者查询人口数据分布显示的基础上,如何实现数据缓存表的更新过程进行描述,如图7所示,该方法可以包括:

步骤S71,响应人口数据更新事件,更新多个地图缩放层级各自的人口聚类点;

在人口数据有变化,需要重新进行聚类的情况下,希望能够在不影响当前人口数据查询业务的正常运行,使用者仍可以在客户端查看某区域内某一属性信息下的人口数量分布情况的基础下,快速更新业务服务器的数据缓存表记录内容。因此,业务服务器响应人口数据更新事件后,可以按照上文实施例描述的方法,更新多个地图缩放层级各自的人口聚合点及其聚类信息,将该聚类信息更新至多个地图缩放层级对应的数据缓存表。

步骤S72,获得更新后的人口聚合点对应的聚类信息,将该聚类信息写入对应人口聚合点所在地图缩放层级的待定缓存表;

关于更新后的人口聚合点的聚类信息的获取方法可以参照上文实施例对应部分的描述,本实施例在此不做详述。对于多个地图缩放层级各自的待定缓存表table2_zoom,可以位于关系型数据库中,可以在首次获得来自至少一个数据源的人口数据时,创建对应不同地图缩放层级的待定缓存表table2_zoom,这样,按照上文描述的方法,获得每一人口数据分区对应不同地图缩放层级的人口聚合点的聚类信息后,可以先插入对应的待定缓存表table2_zoom进行缓存。同理,对于更新后的聚类信息也可以插入对应地图缩放层级的待定缓存表table2_zoom。

步骤S73,将当前多个地图缩放层级各自对应的数据缓存表确定为过渡缓存表;

步骤S74,将多个地图缩放层级各自对应的待定缓存表确定为新的数据缓存表;

步骤S75,将过渡缓存表确定为对应地图缩放层级的新的待定缓存表;

本申请实施例中,为了避免干扰当前用户对任一地图缩放层级的数据缓存表的使用,导致向用户客户端反馈错误人口数据,可以将当前的待定缓存表更新为对应地图缩放层级的数据缓存表,再将该地图缩放层级的原数据缓存表确定为新的待定缓存表,以使得用户后续可以使用新的数据缓存表,获得所需目标人口聚合点的目标人口数据,提高渲染输出的人口热力图的可靠性和准确性。

基于此,在一些实施例中,可以采用耗时极短的重命名方式,将同一地图缩放层级的待定缓存表与数据缓存表之间的交换使用,如上文描述步骤,可以将各地图缩放层级当前使用的数据缓存表table_zoom依次重命名为table1_zoom,即将各地图缩放层级当前使用的数据缓存表table_zoom确定为过渡缓存表table1_zoom使用,之后,将当前各地图缩放层级的待定缓存表table2_zoom重命名为table_zoom,即将各地图缩放层级的待定缓存表table2_zoom确定为新的数据缓存表table_zoom使用。

可见,本申请可以先将各地图缩放层级的数据缓存表记录的数据存到对应的table2_zoom中,待数据缓存完后,对该地图缩放层级正式使用的数据缓存表table_zoom重命名,然后再将table2_zoom重命名为对应地图缩放层级正式使用的数据缓存表table_zoom,从而实现数据缓存表记录数据的快速更新,但并不局限于本实施例描述的这种更新实现方式。

步骤S76,清除多个地图缩放层级各自新的待定缓存表记录的聚类信息。

按照上述方法完成对各地图缩放层级的数据缓存表中的数据更新后,可以清空各地图缩放层级的待定缓存表table2_zoom记录的数据,这样,后续检测到人口数据变化后,仍可以按照上文描述的方法,及时更新各数据缓存表table_zoom记录的数据。

参照图8,为本申请提出的人口数据显示方法的又一可选示例的流程示意图,本实施例可以从客户端侧描述该人口数据显示方法的实现过程,如图8所示,该方法可以包括:

步骤S81,输出人口数据展示页面,在该人口数据展示页面上显示具有目标地图缩放层级和目标显示地图范围的地图;

在用户需要查看地区的人口数据分布情况时,用户可以使用终端设备启动支持人口数据查看业务的客户端,进入人口数据展示页面,通过调整地图缩放层级,以在该人口数据展示页面显示需要查看人口数据分布的目标显示地图范围的地图,实现过程本申请不做详述。

步骤S82,向业务服务器包含目标地图缩放层级和目标显示地图范围的人口数据展示请求;

步骤S83,接收业务服务器响应人口数据展示请求反馈的目标人口数据;

客户端确定用户想要查看人口数据分布的目标显示地图范围,及其对应的目标地图缩放层级后,为了获得所需展示的目标人口数据,可以生成包含目标地图缩放层级和目标显示地图范围的人口数据展示请求,将其发送至业务服务器,之后,参照上文业务服务器侧执行的人口数据显示方法,客户端可以获得目标地图缩放层级对应的各目标人口聚合点对应的人口数据,记为目标人口数据。

其中,目标人口聚合点基于目标显示地图范围,对目标地图缩放层级对应的目标数据缓存表记录的多个聚类坐标进行匹配处理确定,实现过程可以参照上文实施例对应部分的描述,本实施例在此不做详述。如上述分析,每条目标人口数据可以包括对应目标人口聚合点的聚类信息,该聚类信息可以包括但并不局限于聚类坐标和各聚类属性信息的总人口数量等。

步骤S84,对目标人口数据进行热力图渲染,在人口展示页面的地图上显示人口热力图;

结合上文对人口数据的相关描述,客户端从后台的业务服务器中获得所需了解目标显示地图范围内的目标人口数据后,为了更简单且直观显示该范围内不同属性信息的人口数量分布情况,可以采用热力图方式展示人口数据分布情况,本申请对人口数据的热力图渲染实现方法不做详述。如图9所示的人口热力图,其能够表示目标显示地图范围内的不同属性下的人口数据分布情况。

应该理解的是,在上述目标显示地图范围发生变化,即用户需要查看人口数据分布的地图范围发生变化,用户可以使用输入设备或直接对触控屏进行输入操作,改变该目标显示地图范围,如缩放或扩大地图范围,调整显示地图位置等,客户端可以监听到针对目标显示地图范围和/或目标地图缩放层级的更新事件,为了更新所显示的人口热力图,可以获得新的目标显示地图范围和目标地图缩放层级的人口数据展示请求发送至业务服务器,以使得业务服务器响应该人口数据展示请求,按照上述方法获得并反馈新的目标人口数据,由客户端依据业务服务器反馈的与当前的目标地图缩放层级和目标显示地图范围对应的目标人口数据,即业务服务器重新反馈的目标人口数据,更新人口数据展示页面显示的人口热力图,也就是对重新获得的目标人口数据进行热力图渲染,以更新地图上热力图图层的显示内容。关于人口热力图的动态更新实现过程本申请不做详述。

综上,对于千万级人口数据量,业务服务器通过对一定范围内相邻人口数据点进行聚合,生成对应的人口聚合点,以减少地图上展示点数量,即降低展示点的密集程度。具体对于多个地图缩放层级各自的展示点,可以依据上一地图缩放层级的人口数据点,生成当前地图缩放层级的人口聚合点,将其聚类信息写入对应的数据缓存表。这样,在客户端展示人口数据分布情况时,只需要从当前所处的目标地图缩放层级对应的数据缓存表中查询所需的目标人口数据,相对于直接从海量人口数据中查询的方式,大大提高了目标人口数据查询效率,提高了人口数据显示响应效率,且这种展示人口聚合点的方式,相对于直接展示人口数据点,大大减少了展示点数量,降低了客户端的渲染压力。

步骤S85,响应针对所述人口热力图的任一属性的选择操作,依据目标地图缩放层级的具有所选择属性的目标人口聚合点的人口数量,更新人口热力图显示所选择属性下的人口数量分布。

参照图9所示的人口热力图,由于每条人口数据通常包括多个属性信息,包括但并不局限于图9对人口热力图的提示界面所展示的依据人口类型、人口年龄、人口性别或其他维度划分的多个属性信息,这样,在用户观看客户端显示的人口热力图时,可以直接选择查看某一属性信息的人口数量分布情况,提高了互动性。

示例性的,若用户需要查看所确定的目标显示地图范围内常住人口的人口数量分布情况,可以在人口热力图的提示界面中选择常住人口这一人口类型,响应对常住人口的属性选择操作,可以按照上文描述的方法,获得常住人口对应的目标人口数据,对目标显示地图范围内各区域的常住人口的人口热力图进行渲染,得到如图9所示的常住人口的人口数量分布的人口热力图。

同理,若用户需要查看其他属性信息的人口数量分布情况,可以在人口热力图的提示界面中选择对应的属性信息,更新人口热力图所显示的属性字段。可见,本申请可以通过如上述互动方式,动态更新人口热力图,使其显示所需属性信息对应的人口数量分布。通过热力图颜色梯度表征对应人口数量,但并不局限于图9所示的热力图展示方式。对于人口热力图的显示状态,可以动态调整不同人口数量梯度的颜色,以及对应的透明度等,本申请对该显示状态内容及其动态调整实现方式均不做限制,可视情况而定。

综上,基于业务服务器执行的人口数据展示方法,针对海量人口数据,构建不同地图缩放层级对应的数据缓存表,记录对应地图缩放层级上人口聚合点的聚类信息,这样,用户想要查看某地图范围内某一属性信息下的各地的人口数量分布情况,前端客户端能够快速(如毫秒级)展示该地图范围在该属性信息下的人口热力图,还可以响应用户对属性信息动态选择,实时且高效切换展示所选择属性信息下的人口热力图,满足用户对不同地方不同属性信息下的人口热力图,直观了解该属性信息下的人口数量分布情况。

参照图10,为本申请提出的人口数据显示装置的一可选示例的结构示意图,该装置可以从业务服务器侧进行描述,如图10所示,该人口数据显示装置可以包括:

人口数据展示请求响应模块101,用于响应客户端发送的人口数据展示请求,得到所述客户端当前输出的人口数据展示页面的目标地图缩放层级和目标显示地图范围;

目标数据缓存表查询模块102,用于从多个地图缩放层级各自对应的数据缓存表中,查询所述目标地图缩放层级对应的目标数据缓存表;

其中,所述数据缓存表中记录有对应地图缩放层级的人口聚合点和对应的聚类信息,所述聚类信息包括对应人口聚合点的聚类坐标和各聚类属性信息的总人口数量;所述多个地图缩放层级各自的人口聚合点是基于屏幕搜索范围以及所在地图缩放层级,对来自至少一个数据源的人口数据进行层级聚类处理得到;

目标人口聚合点确定模块103,用于基于所述目标显示地图范围,对所述目标数据缓存表记录的多个所述聚类坐标进行匹配处理,确定相匹配的多个目标聚类坐标各自对应的目标人口聚合点;

目标人口数据反馈模块104,用于将所述目标人口聚合点对应的目标人口数据反馈至所述客户端,由所述客户端对所述目标人口数据进行热力图渲染,以在所述人口数据展示页面中显示人口热力图,所述人口热力图能够表示所述目标显示地图范围内的不同属性下的人口数据分布情况。

在一些实施例中,为了获得多个地图缩放层级各自对应的数据缓存表,以便目标数据缓存表查询模块102可以查询到所需的目标数据缓存表,确定目标地图缩放层级对应的多个人口聚合点及其对应的聚类信息,如图11所示,上述装置还可以包括:

信息获取模块105,用于获取屏幕搜索范围以及多个地图缩放层级;所述屏幕搜索范围是基于客户端显示屏的像素单位确定;所述多个地图缩放层级基于天地图标准确定,且所述地图缩放层级越高,对应显示地图范围越小;

待聚合点集得到模块106,用于从所述多个地图缩放层级中最大地图缩放层级开始,基于所述屏幕搜索范围,对来自至少一个数据源的人口数据进行层级聚类处理,得到所述多个地图缩放层级各自对应的多个待聚合点集;

聚类处理模块107,用于对所述多个待聚合点集各自包含的来自上一地图缩放层级的人口数据进行聚类处理,得到当前地图缩放层级对应的人口聚合点以及该人口聚合点的聚类信息;

存储模块108,用于将所述聚类信息写入对应所述地图缩放层级的数据缓存表进行存储。

在又一些实施例中,如图11所示,上述装置还可以包括:

人口数据获取模块109,用于获取来自至少一个数据源的多条人口数据;每条人口数据包括地理坐标以及至少一种属性信息;

人口数据排序模块1010,用于按照所述地理坐标对所述多条人口数据进行排序,得到对应的人口排序结果;

分区处理模块1011,用于依据所述人口排序结果以及预设人口分组数量,对所述多条人口数据进行分区处理,得到多个人口数据集,以利用所述多个人口数据集各自包含的多条人口数据,更新确定所述多个地图缩放层级各自对应的数据缓存表。

可选的,上述待聚合点集得到模块106可以包括:

待搜索人口数据确定单元,用于针对每一个所述人口数据集包含的多条人口数据,确定所述多个地图缩放层级各自对应的待搜索人口数据;

地图搜索范围确定单元,用于基于所述屏幕搜索范围,确定所述多个地图缩放层级各自的地图搜索范围;

待聚合点集得到单元,用于从最大地图缩放层级逐层开始,利用对应的所述地图搜索范围,遍历上一地图缩放层级对应的待搜索人口数据,得到多个待聚合点集;

相应地,上述聚类处理模块107可以包括:

聚类坐标得到单元,用于对每个所述待聚合点集包含的来自上一地图缩放层级的多条人口数据各自的地理坐标进行平均值运算,得到对应人口聚合点的聚类坐标;

总人口数量得到单元,用于对每个所述待聚合点集包含的来自上一地图缩放层级的多条人口数据中同一属性信息的人口数量进行求和,得到对应人口聚合点的各聚类属性信息的总人口数量;

聚类信息构成单元,用于利用所得到的当前地图缩放层级上同一所述人口聚合点的所述聚类坐标和各所述聚类属性信息的总人口数量,构成该人口聚合点的聚类信息。

在又一些实施例中,如图12所示,上述装置还可以包括:

人口聚类点更新模块1012,用于响应人口数据更新事件,更新所述多个地图缩放层级各自的人口聚类点;

聚类信息写入模块1013,用于获得更新后的人口聚合点对应的聚类信息,将该聚类信息写入对应人口聚合点所在地图缩放层级的待定缓存表;

数据缓存表更新模块1014,用于将当前的所述待定缓存表更新为对应地图缩放层级的数据缓存表,再将该地图缩放层级的原数据缓存表确定为新的待定缓存表;

待定缓存表数据清除模块1015,用于清除所述多个地图缩放层级各自新的待定缓存表记录的聚类信息;

可选的,数据缓存表更新模块1014可以包括:

过渡缓存表确定单元,用于将当前所述多个地图缩放层级各自对应的数据缓存表确定为过渡缓存表;

数据缓存表更新单元,用于将所述多个地图缩放层级各自对应的待定缓存表确定为新的数据缓存表;

待定缓存表更新单元,用于将所述过渡缓存表确定为对应所述地图缩放层级的新的待定缓存表。

参照图13,为本申请提出的人口数据显示装置的又一可选示例的结构示意图,本实施例可以从客户端侧进行描述,如图13所示,该装置可以包括:

人口数据展示页面输出模块131,用于输出人口数据展示页面,在所述人口数据展示页面上显示具有目标地图缩放层级和目标显示地图范围的地图;

人口数据展示请求发送模块132,用于向业务服务器包含所述目标地图缩放层级和所述目标显示地图范围的人口数据展示请求;

目标人口数据接收模块133,用于接收所述业务服务器响应所述人口数据展示请求反馈的目标人口数据;

其中,目标人口数据是所述目标地图缩放层级的目标人口聚合点对应的人口数据;所述目标人口聚合点基于所述目标显示地图范围,对所述目标地图缩放层级对应的目标数据缓存表记录的多个聚类坐标进行匹配处理确定;所述目标人口数据包括多个所述目标人口聚合点各自的聚类信息,所述聚类信息包括聚类坐标和各聚类属性信息的总人口数量;

人口热力图显示模块134,用于对所述目标人口数据进行热力图渲染,在所述人口展示页面的地图上显示人口热力图;所述人口热力图能够表示所述目标显示地图范围内的不同属性下的人口数据分布情况。

可选的,上述装置还可以包括:

人口数量分布更新模块,用于响应针对所述人口热力图的任一属性的选择操作,依据所述目标地图缩放层级的具有所选择属性的目标人口聚合点的人口数量,更新所述人口热力图显示所选择属性下的人口数量分布;

热力图更新模块,用于监听到针对所述目标显示地图范围和/或所述目标地图缩放层级的更新事件,依据所述业务服务器重新反馈的目标人口数据,更新所述人口数据展示页面显示的人口热力图。

需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,可以由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,也可以由该程序模型和硬件结合实现,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。

本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现上述对应业务服务器侧或客户端侧执行的人口数据显示方法的各步骤,具体实现过程可以参照上述实施例相应部分的描述,本实施例不做赘述。

参照图14所示,为适用于本申请提出的人口数据显示方法的计算机设备的一可选示例的硬件结构示意图,该计算机设备可以是上述业务服务器或客户端所在的终端设备,客户端可以与业务服务器交互,实现本申请提出的人口数据显示方法。以计算机设备为业务服务器为例说明其硬件结构,如图14所示,该计算机设备可以包括但并不局限于:通信模块141、存储器142和处理器143,其中:

通信模块141可以包括能够利用无线通信网络实现数据交互的通信模块,如WIFI模块、5G/6G(第五代移动通信网络/第六代移动通信网络)模块、GPRS模块等,以实现业务服务器与其他设备(如终端设备、数据库等)之间的通信,满足对应设备之间的数据交互。可以理解,该通信模块141还可以包括实现计算机设备内部组成部件之间的数据交互的通信接口,如USB接口、串/并口、I/O端口等。

存储器142可以用于存储实现上述各方法实施例描述的人口数据显示方法的程序;处理器143可以加载并执行存储器存储的该程序,以实现上述相应方法实施例描述的人口数据显示方法的各个步骤,具体实现过程可以参照上述实施例相应部分的描述,不再赘述。

本申请实施例中,存储器142可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器143,可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路(application-specificintegrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。

应该理解的是,图14所示的计算机设备的结构并不构成对本申请实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图14所示的更多的部件,或者组合某些部件,如在计算机设备为终端设备的情况下,如图15所示,该计算机设备还可以包括如感应触摸显示面板上的触摸事件的触摸感应单元、键盘、鼠标、摄像头、拾音器等至少一个输入组件;如显示器、扬声器、振动机构、灯等至少一个输出组件;天线;传感器模组;电源模组等,图15并未示出所列举的各输入组件和各输出组件,可以依据终端设备类型及其功能需求确定硬件结构,本申请在此不做一一列举。

最后,需要说明,关于上述各实施例中,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。

本申请涉及到的术语诸如“第一”、“第二”等仅用于描述目的,用来将一个操作、单元或模块与另一个操作、单元或模块区分开来,而不一定要求或者暗示这些单元、操作或模块之间存在任何这种实际的关系或者顺序。且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。

另外,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备、存储介质而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计预设条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的核心思想或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种显示数据处理方法、系统及显示装置
  • 一种信号控制装置及方法、显示控制装置及方法、显示装置
  • 一种显示面板、显示装置以及显示面板的显示方法
  • 一种显示面板的驱动方法、其驱动装置和显示装置
  • 一种显示装置和显示装置的驱动方法
  • 一种人口数据的显示方法、装置及设备
  • 一种基于人口大数据的城市建筑体虚拟显示方法及系统
技术分类

06120115577269