一种热力图生成方法及装置制造方法及图纸

技术编号:21060100 阅读:36 留言:0更新日期:2019-05-08 06:55
本申请提供了一种热力图生成方法及装置,在显存中依据热力图生成灰度图,再渲染灰度图得到热力图,因此,基于显存即可生成热力图,而无需占用内存,所以,能够节省内存资源。

A Method and Device for Generating Thermodynamic Diagram

【技术实现步骤摘要】
一种热力图生成方法及装置
本申请涉及地理信息
,尤其涉及一种热力图生成方法及装置。
技术介绍
从海量数据中得到信息,是大数据时代各个行业都在探索的问题,数据可视化作为一种以形象、直观方式帮助受众理解数据深层含义的手段被广泛关注和应用。热力图是数据可视化在地理信息系统(GeographicInformationSystem或Geo-Informationsystem,GIS)中的一种具体应用,它是一种基于数据密度定性分析的可视化方法,能综合展示数据地理空间特征和属性特征。通常,热力图的生成需要对海量数据进行大量的数据运算,运算通常在内存中完成,再将运算结果绘制到屏幕。随着移动终端的发展,用户对移动终端的功能有越来越多的需求,现有的热力图生成方法,由于需要在内存中进行大量的数据运算,而移动终端的存储空间有限,所以,如何在热力图生成过程中节省内存资源,成为目前亟待解决的问题。
技术实现思路
本申请提供了一种热力图生成方法及装置,目的在于解决如何在热力图生成过程中节省内存资源的问题。为了实现上述目的,本申请提供了以下技术方案:一种热力图生成方法,包括:获取热力图点数据,所述热力图点数据包括热力图点的权重和缓冲区半径;在显存中生成灰度图,所述灰度图中像素点的值,依据所述权重和所述缓冲区半径确定;在显存中渲染所述灰度图,生成热力图。可选的,所述灰度图中的任意一个像素点的值为:与该像素点具有相同的位置坐标的热力图点的权重与影响权重之和,所述影响权重为该点的影响热力图点的数量,所述该点的影响热力点为影响范围内包括该点的热力图点,任意一个热力图点的影响范围由该热力图点的缓冲半径确定。可选的,所述在显存中生成灰度图包括:在OpenGLES的模板缓冲区生成灰度图。可选的,所述在OpenGLES的模板缓冲区生成灰度图包括:遍历所述热力图点,对于每个热力图点执行以下步骤:以热力图点的坐标点为圆心,依次以预设数值序列中的数值为半径,在所述灰度图上画圆,被圆覆盖的像素点的值加1,其中,灰度图中的像素点的初始值为0。可选的,所述在显存中渲染所述灰度图,生成热力图包括:根据预设的配色规则,利用所述模板缓冲区生成所述热力图。一种热力图生成装置,包括:获取模块,用于获取热力图点数据,所述热力图点数据包括热力图点的权重和缓冲区半径;生成模块,用于在显存中生成灰度图,所述灰度图中像素点的值,依据所述权重和所述缓冲区半径确定;渲染模块,用于在显存中渲染所述灰度图,生成热力图。可选的,所述灰度图中的任意一个像素点的值为:与该像素点具有相同的位置坐标的热力图点的权重与影响权重之和,所述影响权重为该点的影响热力图点的数量,所述该点的影响热力点为影响范围内包括该点的热力图点,任意一个热力图点的影响范围由该热力图点的缓冲半径确定。可选的,所述生成模块具体用于,在OpenGLES的模板缓冲区生成灰度图。可选的,所述生成模块用于在OpenGLES的模板缓冲区生成灰度图包括:所述生成模块具体用于,遍历所述热力图点,对于每个热力图点执行以下步骤:以热力图点的坐标点为圆心,依次以预设数值序列中的数值为半径,在所述灰度图上画圆,被圆覆盖的像素点的值加1,其中,灰度图中的像素点的初始值为0。可选的,所述渲染模块用于在显存中渲染所述灰度图,生成热力图包括:所述渲染模块用于,根据预设的配色规则,利用所述模板缓冲区生成所述热力图。本申请所述的热力图生成方法及装置,在显存中依据热力图生成灰度图,再渲染灰度图得到热力图,因此,基于显存即可生成热力图,而无需占用内存,所以,能够节省内存资源。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种热力图生成方法的流程图;图2为本申请实施例公开的像素点值的计算示例图;图3为本申请实施例公开的又一种热力图生成方法的流程图;图4为本申请实施例公开的一种热力图生成装置的结构示意图。具体实施方式本申请实施例公开的热力图生成方法以及装置,可以应用在移动终端上,用以节省内存资源。需要说明的是,移动终端仅为本申请实施例的应用场景的一个示例,本申请实施例所公开的技术方案,不限于移动终端,也可以应用在PC机等电子设备。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请实施例公开的一种热力图生成方法,包括以下步骤:S101:获取热力图的基础数据。热力图是用不同颜色的区块叠加在地图上实时描述数据分布、密度和变化趋势的一种地图可视化手段。热力图的基础数据为:一个相当庞大的点集,其中每个点由(x,y,w)表示,x和y为坐标,用于描述点的地理位置,w为权重,用于描述点在热力图中的显著程度(权重越高,点在热力图中越显著)。另外,热力图中每个点都有一个缓冲区半径,表示该点的影响范围。热力图中的点的影响范围可以看作一个圆:在其坐标位置的影响最显著(即权重值),并沿着圆的半径方向递减。各个点及其缓冲区相互影响形成了热力图的效果。S102:在显存中生成灰度图。本实施例中,灰度图的大小与显示屏幕的大小相同,即灰度图中的像素与显示屏幕上的像素点一一对应。灰度图中各个像素的值,依据各个热力图点的权重和缓冲区半径确定。因此,灰度图可以反映各个热力图点的热度分布效果。具体的,灰度图中的任意一个像素点的值为:与该像素点具有相同的位置坐标的热力图点的权重与影响权重之和,影响权重为该点的影响热力图点的数量。该点的影响热力点为影响范围内包括该点的热力图点,即该点与影响热力点的距离小于影响热力点的缓冲区半径。以图2为例:灰度图中的像素点I1的坐标为(x1,y1),热力图点中恰好有一个热力点J1的坐标为(x1,y1),且像素点I1位于热力点J2和J3的影响范围内,即像素点I1的影响热力点为J2和J3。假设热力点J1的权重为3,则像素点I1的灰度值为3+2(权重值与影响热力点的数量之和)。而对于像素点I2,不存在与其坐标相同的热力图点,但其在热力点J2和J3的影响范围内,所以像素点I2的灰度值为2。对于像素点I3,不存在与其坐标相同的热力图点,也不存在影响热力点,则其像素值为0。需要说明的是,与任意一个像素点具有相同的位置坐标的热力图点,并不作为该像素点的影响热力图点。S103:在显存中渲染灰度图,生成热力图。从图1所示的流程可以看出,在显存中依据热力图点生成灰度图,再渲染灰度图得到热力图,因此,基于显存即可生成热力图,而无需占用内存,所以,能够节省内存资源,对于内存资源宝贵的移动终端而言,这种效果更为显著。需要强调的是,图1所示的方法,并非将现有的热力图生成技术中内存中的运算简单搬移到了显存中,而是基于显存的特点,以图像的形式进行操作,这种全部以图像形式操作生成热力图的方法,与现有的基于热力图的基础数据计算的方法,有着本质区别本文档来自技高网...

【技术保护点】
1.一种热力图生成方法,其特征在于,包括:获取热力图点数据,所述热力图点数据包括热力图点的权重和缓冲区半径;在显存中生成灰度图,所述灰度图中像素点的值,依据所述权重和所述缓冲区半径确定;在显存中渲染所述灰度图,生成热力图。

【技术特征摘要】
1.一种热力图生成方法,其特征在于,包括:获取热力图点数据,所述热力图点数据包括热力图点的权重和缓冲区半径;在显存中生成灰度图,所述灰度图中像素点的值,依据所述权重和所述缓冲区半径确定;在显存中渲染所述灰度图,生成热力图。2.根据权利要求1所述的方法,其特征在于,所述灰度图中的任意一个像素点的值为:与该像素点具有相同的位置坐标的热力图点的权重与影响权重之和,所述影响权重为该点的影响热力图点的数量,所述该点的影响热力点为影响范围内包括该点的热力图点,任意一个热力图点的影响范围由该热力图点的缓冲半径确定。3.根据权利要求1或2所述的方法,其特征在于,所述在显存中生成灰度图包括:在OpenGLES的模板缓冲区生成灰度图。4.根据权利要求3所述的方法,其特征在于,所述在OpenGLES的模板缓冲区生成灰度图包括:遍历所述热力图点,对于每个热力图点执行以下步骤:以热力图点的坐标点为圆心,依次以预设数值序列中的数值为半径,在所述灰度图上画圆,被圆覆盖的像素点的值加1,其中,灰度图中的像素点的初始值为0。5.根据权利要求3所述的方法,其特征在于,所述在显存中渲染所述灰度图,生成热力图包括:根据预设的配色规则,利用所述模板缓冲区生成所述热力图。6.一种热力图生成装置,其特征在于,包括:获取模块,用于获取热力图点数...

【专利技术属性】
技术研发人员:钟耳顺谢直言文铭黄科佳陈国雄李少杰
申请(专利权)人:北京超图软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1