热力图 : 位置大数据服务的可视化窗口

一张图看懂位置大数据分布

什么是热力图

热力图(Heat Map),是一种简单但非常直观的信息展示方式,TStack平台里的一个重要的应用服务。最早是在1991年由软件设计师Cormac Kinney提出的。最初用来以2D图示的形式展示金融市场信息。

经过多年的演进发展,热力图被广泛用于展示网站流量数据,包括链接点击分布和网页浏览分布,为网站的网页优化提供直观的参考依据,提高网站的用户体验。

近几年,随着大数据的兴起,热力图越来越多的被应用在地理位置信息的展示上。热力图的展示方式也由最初的矩形色块加颜色编码发展为颜色经过平滑模糊处理的热力图谱。

地理信息系统中的热力图是以特殊的高亮形式展示某种现象聚集程度的图示,多用来展示用户或店铺等所在地理区域的分布。最早于2006年作为研究模型在微软内部发布。

随着GIS的发展,地理位置相关信息的爆发,热力图的应用范围得到了极大的扩展。它作为数据可视化的一种方法,适用于展现地理对象某一特征的空间分布态势。比如人群或者店铺的分布、密度以及变化趋势。它通过颜色的变化程度,直观反映热点分布。如图1是某一时间点故宫博物院的游客分布热力图。

▲图1 游客分布热力图

热力图的绘制方式

热力图关注区域分布,它将一系列离散的点映射为颜色变化的图像,展示的时候不需要坐标轴,其背景通常是地图或者图片。

热力图的绘制有以下两种方法。 (1)采用简单叠加法,计算出每个点对应的所有数据之和,将其作为该点的数值,再映射成相应的颜色绘制到显示区域。但是通过这种方法得到的热力图粒度太粗,并不好看。 (2)采用辐射叠加法,根据每个点的数据、辐射半径对所有数据点进行计算得到每个点的密度值,再根据配色矩阵计算出每个密度值对应的颜色进行绘制。这种方法类似雨滴落到池塘里,每个雨滴落下的位置和速度不同,落到池塘里后产生涟漪的形状和大小也不一样,这些涟漪相互影响形成了水面上雨滴分布的“热力图”。

地理信息系统中的热力图

地理信息系统中,热力图多用来展示区域聚集信息,比如:景点的游客分布密度、某一区域内店铺的分布等。 地理信息系统中,热力图的生成通常由服务端和客户端配合完成,如图2。

▲图2 热力图生成系统

服务端负责采集数据,比如定位数据、店铺位置、车辆位置等数据。采集后的数据经过处理,生成既定格式的数据保存在存储系统中。同时,服务端需要提供数据查询的接口,供客户端查询相应数据。

以腾讯位置服务提供的城市热力图为例,这些数据来自使用了腾讯位置服务的应用,比如微信、手机qq、腾讯地图、腾讯新闻、大众点评、滴滴出行等。腾讯位置服务每天上百亿次的定位请求量保证了城市热力数据的准确性。服务端采集到这些定位数据后通过数据挖掘计算出某一区域的实时人数。

客户端在展示热力图的时候,首先需要根据既有信息向服务端查询,获取数据后计算各点的密度,然后根据配色矩阵生成各点的色值,最终生成热力图。

计算热力图各点密度时,通常采用下面的方法。 首先,将显示区域分为若干个离散的点。比如将显示区域分为10241024个离散的点。 *接着,为每个离散的点建立一个“辐射区域”。通常使用圆形的“辐射区域”,以该点作为圆心,以该点在热力图上最远能影响到的距离作为半径。圆的范围即为该点能影响的区域。圆心的权重为1,越靠近圆的边缘,权重越低,边缘的权重为0。权重从圆心向边缘降低的程度可以根据实际要反映的数据采用相应的数学模型,比如线性递减、二次曲线递减等。

建立好“辐射区域”后,根据各点的数据,计算出其“辐射”到整个区域后每点的“辐射值”,再针对每个离散点计算其所有的“辐射值”之和得到该离散点的密度。

如果将这些密度映射到灰度图上,则密度越高的点灰度图越亮。也可以使用彩色的热力图来展示数据,显示效果更明快。此时需要一个彩色的配色矩阵来定义不同密度映射出的色值。比如,将0%--100%的密度映射为如表1所示的配色方案,从而生成彩色的热力图。

▲ 表1:热力图密度映射表

各点对应的颜色值计算出来后,就可以用相应的颜色绘制这些离散的点,生成一块一块的热力图,所有热力图连接起来形成整个区域的热力图。

渲染热力图时,渲染性能和热力图的分块关系密切。将区域划分为离散的点时,划分的越细,计算时需要处理的数据越多,计算越慢,但显示效果越好;反之区域划分越粗,计算时需要处理的数据越少,计算相对变快,但也在一定程度上牺牲了显示效果。

另一个影响热力图显示效果的因素是“辐射半径”。“辐射半径”设置的过小,每个点的数据只能影响到其附近很小的区域,热力图的显示粒度较粗。而“辐射半径”设置的过大,每个点的数据影响的范围过大,则会影响热力图中各个点的密度差异,降低各点之间的对比度。 实际渲染热力图时应该根据所展示数据的特点合理分块,并设置合理的“辐射半径”。

小结

热力图作为地理信息系统中某种现象聚集度的直观展示方式,在城市规划、人口迁移、市政应急与决策、行业布局、商业建店、个人旅游出行、景区监控、等方面起了越来越重要的作用,是位置大数据服务中的重要组成。

本文来自:Tstack 公众号

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【数据可视化专题】数据可视化专家的七个秘密

秘密一: 现实中的数据往往很丑 大部分的数据可视化的教程, 都会让你轻松地从一个原始数据集开始。 无论你是学习基本的柱状图还是力导向的网络图, 你的数据都是干...

3507
来自专栏机器人网

一文了解变频器的工作原理

变频器是把工频电源(50Hz或60Hz)变换成各种频率的交流电源,以实现电机的变速运行的设备,其中控制电路完成对主电路的控制,整流电路将交流电变换成直流电,直流...

2636
来自专栏CreateAMind

3d模型生成-使用深度网络 视频代码ppt论文

Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversa...

651
来自专栏PPV课数据科学社区

顶级数据可视化专家的七个秘密

数据可视化的道路上充满了不可见的陷阱和迷宫,最近ClearStory Data的两位数据可视化开发人员分享了他们总结出来的数据可视化开发的7个不宣之秘,普通开发...

3375
来自专栏龙行天下CSIEM

科学瞎想系列之六十八 捋一捋异步电机的各种转矩

经常有宝宝们问有关电机转矩的问题,特别是异步电机,有额定转矩、起动转矩、堵转转矩、最大转矩、电磁转矩、负载转矩等等,都乱套了,这些转矩都是指什么?它们之间又是...

2746
来自专栏大数据文摘

AI大事件 | 胶囊网络的TensorFlow实现,Facebook关闭私人助理M

1594
来自专栏机器人网

一个简单的多机器人编队算法实现--PID

用PID进行领航跟随法机器人编队控制 课题2:多机器人编队控制 研究对象:两轮差动的移动机器人或车式移动机器人 研究内容:平坦地形,编队的保持和避障,以及避障和...

3807
来自专栏快乐八哥

数据可视化-EChart2.0使用总结1

图表是企业级Web开发必不可少的一个功能点。也是“数据可视化的一个具体呈现”。今天看到阮一峰翻译的“数据可视化:基本图表”一文,同时梳理一下公司现在项目使用的E...

2075
来自专栏华章科技

数据可视化的七大秘密

数据可视化, 特别是基于Web的数据可视化的时代已经到来了。类似JavaScript的可视化库如D3.js, Raphaël, 以及Paper.js, 以及最新...

722
来自专栏ATYUN订阅号

face-api.js中加入MTCNN:进一步支持使用JS实时进行人脸跟踪和识别

如果你现在正在阅读这篇文章,那么你可能已经阅读了我的介绍文章(JS使用者福音:在浏览器中运行人脸识别)或者之前使用过face-api.js。如果你还没有听说过f...

1313

扫码关注云+社区