百度热力图提取活动人口数的详细步骤
一、数据介绍
百度热力图是一种基于用户行为数据的可视化工具,它通过颜色的深浅来表示某个区域在特定时间段内的活动人口密度。其原理主要包括以下几个方面:
1.数据收集:百度热力图通过收集用户的地理位置信息来获取数据。这些数据可以来源于用户的移动设备、应用程序或其他定位服务。
2.用户匿名化:在收集数据的过程中,用户的个人信息是匿名化的,以保护用户的隐私。
3.数据聚合:收集到的地理位置数据会按照时间间隔(如每15分钟)进行聚合,以计算出在特定时间段内每个小区域的用户数量。
4.颜色编码:将聚合后的数据通过颜色深浅来表示,颜色越深表示该区域的活动人口密度越高。
5.可视化展示:最终,这些数据会在地图上以热力图的形式展示出来,使得用户可以直观地看到不同区域的活动人口分布情况。
6.动态更新:百度热力图是动态更新的,可以实时反映人口流动和聚集的情况。
7.应用场景:百度热力图可以应用于城市规划、交通管理、商业分析、公共安全等多个领域,帮助决策者更好地理解人群分布和流动模式。
上述文字由kimi(暗月之面)总结
在移动端百度地图APP中,我们点开【图层】-【人流量】可以查看空间热力图。通过图层缩放查看不同比例尺下的热力情况。同时,数据实时更新。
这里说明几点:
1)手机上截图得到的热力图是不带地理坐标系信息的。实际应用中受限。数据获取的方式后文有介绍。
2)不同缩放级别能反映的空间尺度不一样,缩放级别越高越精确。当然,要与数据覆盖范围统筹考虑。
这是一个地级市主城区level16的热力栅格图
二、 数据处理详细步骤
将一张带地理投影信息的栅格热力tif图处理成表征人口活动数的空间分布矢量图。参考论文介绍原理,整理出操作步骤如下:
图片来源于《基于百度热力图的人口活动数量提取与规划应用_张海林》
1.在ArcMap中将要处理的某一时刻的栅格数据,分波段band1-3,添加到图层(分开拖拽过去就行)。
2.使用栅格计算器,将栅格热力图分为多个等级。
1)先在记事本中将图片名替换掉;
2)使用栅格计算器,根据颜色对图片进行分级。
得到下图:
3. 使用【栅格转面】工具完成矢量化。
4. 投影转换,计算每个地块的面积
1)这里投影坐标系的设置根据城市所处经纬度带替换。
2)打开属性表。添加面积字段(双精度型),计算几何(公顷为单位),得到每个地块的面积。
5. 使用【交集制表】工具,统计每个乡镇范围内不同等级地块的面积(这里是以乡镇界限为统计单位)。
1)交集制表工具,得到表格;
2)使用数据转换工具将表格导出为excel。
6. excel中使用透视表,改变数据格式,再乘以人口密度值,求和得到每个乡镇范围内的人口活动数总和。
1)参考论文中的人口聚集密度,设置等级对应的人口密度,单位为(人·每公顷)
2)使用透视表,用不同热力等级面积乘以密度,得到人口数总和。
7. 结果另存,在ArcMap中连接回乡镇边界shp图层,作为一个属性字段。
将上个步骤excel中的乡镇ID和人口活动数两列另存为csv,连接到shp中。
分层设色,得到最后图层结果。
三、数据获取
目前,百度热力图数据是没有开放接口的,也没法爬取(手动屏蔽技术大佬),这里给大家推荐一位神秘嘉宾:关注下面公众号,后台私信ta。或者去xian鱼搜【平纸杂货铺】(说是【窝窝头GISer】推荐过来的会有折扣哦),他能帮忙搞定数据。
四、其他
建议大家去细读参考文献,方法原理介绍的更详细。另外,本文以乡镇为单位做的统计,最终结果类似下图c。读者也可以根据需求,更改统计单元,如下图d是以网格为统计单元。
图片来源于《基于百度热力图的人口活动数量提取与规划应用_张海林》
另外,如果是使用百度热力做时序分析,需要处理多个时间点的热力图,那本方法就略显笨拙了,熟悉GIS操作的同学可以考虑用Model Builder搭建操作流程,将重复动作工具化;具备编程能力的同学也可以考虑用Arcpy编写批量处理的脚本工具。
-end-
玉融规划微信公众号
在手机上查看当前页面