APP下载

一种热力图的景区人流量动态监测方法∗

2018-11-28冉桂华杨晔轩殷浤益马云龙戴璐鸾杨元维

计算机与数字工程 2018年11期
关键词:力图人流量时间轴

冉桂华 杨晔轩 殷浤益 马云龙 戴璐鸾 李 蝶 杨元维

(1.长江大学 武汉 430100)(2.武汉市国土资源和规划信息中心 武汉 430014)

关键字 美丽乡村;乡村旅游;热力图;动态监测

1 引言

“美丽乡村”是建设社会主义新农村的重大历史任务时提出的“生产发展、生活宽裕、乡风文明、村容整洁、管理民主”等具体要求[1]。现今越来越多游客选择乡村旅游,在旅游旺季乡村通常因为人流聚集量过大而引发一系列问题,一些学者提出基于LBS人口数据可视化监测系统[2]和基于轨迹停留点空间聚类的景区热点分析[3]方法,这类方法通过不同的技术手段分别实现对人口和景区热度的分析,但大多都以单一影像图或表格等方式进行表达,均未能实现对某一特定对象的动态监测。基于此,本文提出利用热力图对景区人流量进行动态监测并可视化方法,按不同时节呈现不同景区的人流量及时情况。使美丽乡村游客可以预先了解这些景区的热度,制定旅游计划,并能为乡村景区管理部门按人流量配置相应的安保人员及配套设施提供辅助决策。

2 热力图生成原理及关键技术

热力图是以特殊高亮的形式显示访客热衷的页面区域和访客所在地理区域的图示,在地图呈现方面主要是以不同颜色的区块叠加在地图上实时描述人群分布、密度和变化趋势等[4~5]。利用热力图进行表达不仅比普通的点要素更炫目,而且更容易发现事件的发生频率和事件分布密度。

2.1 热力图生成原理

canvas是生成热力图的必要元素,它是通过Ja⁃vaScript来绘制2D图形[6]。渲染热力图首先要设置单点渲染模板,核心方法是canvas的createRadial⁃Gradient方法,为每个点设置渲染半径,由渐变因子确定内圆比例,内圆与外圆的圆周间进行无色的放射渐变,达到中间透明度高,边缘透明度低的效果。这个无色且透明度渐变的圆形即为点的模板;然后根据单点模板绘制全部点,核心方法是canvas的drawImage方法,在每个点的位置按照模板进行绘制,达到重叠部分透明度叠加的效果;再利用canvas的createLinearGradient方法构建0~256的调色板;最后使用canvas的putImageData方法,对绘制的每个点进行着色,获取绘制的区域中每个像素,根据像素的透明度去调色板中取对应的颜色进行渲染,最后达到热力图的效果[7~8]。

2.2 热力图关键技术

2.2.1 动态监测

随着科技的高速发展,各个领域都在思考怎么更好地利用高科技产品。为了更好地观察事物和人的趋向,多使用摄像机、监控、传感器、统计的方式进行动态监测[9~11]。动态监测的用途广泛,商业领域可以对动态监测结果进行分析而做出更好的营销策略,公共服务领域可以根据动态监测结果制定各种应急解决方案更好地保障民众的安全,群众可以通过观察动态监测结果选择出行方式等。

传统的动态监测通常是以影像或者数据表的形式来呈现监测结果,往往不够简单易懂。本文是利用热力图对景区人流量进行动态监测,设置不同时间段的数据,然后拖动时间轴或者点击播放按钮来控制热力图的变化,不同时间节点将显示不同的热力图。

2.2.2 热力图叠加优化

热力图在叠加多次后,效果较为极端,会有大量数据接近峰值的情况,如果不进行优化,渲染后就看不出过渡层级的变化。优化算法的具体做法是用数组存储value值,然后对数组进行归一化,将归一化的结果重新进行渲染。

数据归一化处理通常被应用于数据挖掘方面,其处理指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性[12~14]。原始数据经过数据归一化处理后,各指标处于同一数量级,适合进行综合对比评价。min-max标准化和Z-score标准化方法是两种常用的归一化方法,本文热力图选择的处理方法是前者。min-max标准化也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0,1]之间[15]。转换函数式(1)如下:

其中max为样本数据的最大值,min为样本数据的最小值。

3 应用实例

3.1 数据准备

在生成美丽乡村景区的热力图时,需要各大景区的地理坐标信息,各大景区的坐标信息是将真实数据通过ArcServer发布成服务以供实验使用,它是整个实验过程的基础部分。六大景区分别是中国大竹海、荷花山景区、龙王山景区、姚家大院、浙北大峡谷、石马湾漂流。同时为了生成动态热力图,通过jRange滑动选取数值来控制热力图的变化,将一年分成四个节点,分别是1月、4月、8月、12月,因此需要这几个月各大景区的人数信息,各大景区1月、4月、8月、12月的实验人数信息如表1所示。

表1 各大景区1月、4月、8月、12月的人数信息表

3.2 设计与关键代码实现

3.2.1 热力图的数据装填

数据是生成热力图的基础,通过调用服务查询到各大景区的信息并以JSON格式输出,然后将数据装填到data数组中。“中国大竹海”景区的数据信息JSON代码如下:

attributes:{count:570},//count为人数

geometry:{spatialReference:{wkid:4326},type:“point”,x:119.65,y:30.49}

其他景区的数据信息JSON代码与上述代码类似。

3.2.2 热力图的可视化

引用heatmap.js实现热力图的生成,如果heat⁃Layer不存在,则需要设置热力图的配置信息,其中包括半径、渐变色、透明度等。将设置好配置信息的heatLayer图层叠加到地图上,然后通过setData方法将装有数据的data数组设置为渲染数据。通过heatmap.js计算得出热力图,再将热力图显示在地图上。实现的关键代码如下:

this.heatLayer=new HeatmapLayer({config:{“useLocalMaximum”:true,“radius”:40,“gradi⁃ent”:{0.45:“rgb(000,000,255)”,0.55:“rgb(000,255,255)”,0.65:“rgb(000,255,000)”,0.95:“rgb(255,255,000)”,1.00:“rgb(255,000,000)”}},“map”:map,“domNodeId”:“heatLayer”,“opacity”:0.85});//设置配置信息

map.addLayer(this.heatLayer);//叠加图层

this.heatLayer.setData(this.data()[0]);//设 置渲染数据

this.heatLayer.show();//显示热力图

3.2.3 景区人流量的动态监测

使用jRange滑动选取数值来控制热力图的变化进行景区人流量的动态监测,可以通过点击播放按钮使时间轴向前移动,也可以自行拖动时间轴。时间轴设有四个节点,分别为1、4、8、12,时间轴每向前移动到一个节点,就改变一次热力图。如点击播放按钮,时间轴移动到末尾节点时将回到起点并停止变化,热力图也变为相应的,在时间轴移动的过程中可以点击按钮暂停变化。

实现时间节点向前移动一格的关键代码如下:

$(‘.single-slider’).jRange(“setValue”,1+par⁃seInt(currentVal));

改变热力图的关键代码如下:

var cVal=$(‘.single-slider’).jRange(“getVal⁃ue”);

if(currentVal<=12){

if((parseInt(currentVal)%4==0)||(parseInt(currentVal)==1)){

var data=relitu.heatLayer.lastData;

else if..............................................//在此处判断节点并装填对应月份各景区的人数数据。

relitu.heatLayer.refresh();//更新热力图

3.3 结果对比分析

点击景点热度按钮弹出初始热力图和时间轴,时间轴上有四个节点,依次为1、4、8、12,如图1所示。点击播放按钮,时间节点每向前移动一格,热力图就发生一次变化,如图2所示。自行拖动时间节点,每到一格,热力图就发生变化,变为该时间节点对应的热力图,如图3所示。

图1 时间轴

热力图渲染颜色从浅到深表示舒适程度从非常舒适到非常拥挤。

图2 自动播放热力图

从图3可以看出1月和8月的热力图渲染颜色相对4月和12月更重一些,表明在1月和8月来此地游览景点的人数较多,较为拥挤。在各个月份的热力图中由颜色的深浅可以看出六大景区的舒适程度,颜色越深代表越拥挤,颜色越浅代表越舒适。

图3 拖动滑动条改变热力图

图3 中拖动滑动条改变热力图的实现效果和图2中利用播放按钮控制热力图的变化的实现效果一样,两种不同的方式调用同样的方法可以实现一样的效果。

4 结语

本文采用热力图的方式对景区人流量进行动态监测并对结果进行可视化表达,到美丽乡村旅游的游客可以根据监测结果预先选择适宜的景区和出游时间,同时当地居民可以根据游客的喜好发现更多的商机,从而带动经济的进步。最重要的是当地安保人员可以通过观察动态监测结果而更好地确保游客的安全,尽量避免踩踏等突发事件的发生。

猜你喜欢

力图人流量时间轴
乔·拜登力图在外交政策讲话中向世界表明美国回来了
自动门人流量检测系统设计
写在受降日
时间轴里的“共和国记忆”
提高高职院校图书馆现刊阅览室人流量的策略研究
北京就医“指南”
中职建筑力学中弯矩剪力图的简单画法
三级客运汽车站服务能力影响因素分析
基于时间轴的媒体数据编辑专利技术综述
时间轴说明16种英语时态(下)