使用python绘制热力图(调用百度地图API)

一、初始数据(地址)

可以是任意格式的文本

二、 获取百度地图ak

1.百度地图开放平台

我的应用 link

2.申请应用,获取ak

step1:
使用python绘制热力图(调用百度地图API)_第1张图片
step2:
使用python绘制热力图(调用百度地图API)_第2张图片
step3:提交之后即得到AK码(见step1中“访问应用”下)

三、将地图转换为经纬度坐标(利用现有工具)

经纬度批量转地址工具: link(感谢知乎大佬孙俊峰,来源: link,侵权删)

  • 统计地址
    推荐使用excel中“数据透视表”完成。
    主要目的:生成每个地理位置上的事件次数。
  • 将地址复制粘贴至转地址工具中(注意选择Baidu平台),点击转换,.转换完成直接点击下载即可
    使用python绘制热力图(调用百度地图API)_第3张图片
  • 将地址复制到文本框中,选择Baidu平台,即可开始转换。转换完成获得一个excel,打开即可看到(列A-列H)。再将1.中统计获得的次数粘贴至列I。
    使用python绘制热力图(调用百度地图API)_第4张图片
  • 转换的过程中,可能有些地址会转换失败,通过excel中的筛选来进行剔除或统计:
    使用python绘制热力图(调用百度地图API)_第5张图片
    5.将剩余有效的数据,进行数据合并,合并成制作热力图需要输入的模式:在J2中输入:
    ="{lat:"&C2&",lng:"&B2&",count:"&I2&"},"
    然后直接下拉直至所有数据均变为这种格式:
    使用python绘制热力图(调用百度地图API)_第6张图片

四、 生成热力图

1.打开链接link,在代码处 进行更改:

  • A处ak换成你自己的密钥;

  • B处地址更换为自己刚刚生成的地址(注意:list里面的object需要用逗号分隔);

  • C处URL地址补充完整:加上http: ,即变为http://api.map.baidu.com…

  • D处更改中心坐标点和地图级别。将研究区域的中心位置输入link检索栏内,便可得到经纬度坐标和建议的地图级别

  • E处根据所有地址的count数值来进行修改,贴近实际值(如,我的count值基本为1-2,若设置此处max:100,则显示热力图的时候基本没有效果,改成2就会效果很明显)

  • F处为圆的半径,根据实际效果进项调节

  • G处为下侧按钮栏的大小,我嫌弃官方代码里的按钮栏太大了,全部调节成了10%,这样就会有全屏幕的地图了。
    使用python绘制热力图(调用百度地图API)_第7张图片使用python绘制热力图(调用百度地图API)_第8张图片

  1. 更改完成即将所有代码复制到记事本中,保存文件。再将文件的后缀改为.html。
  2. 不出意外,热力图就生成了,如果没有正常显示,进入该.html文件,按下f12看看console里面什么错,有针对性的改正。
  3. 使用python绘制热力图(调用百度地图API)_第9张图片

你可能感兴趣的:(可视化问题,百度,大数据,python)