2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 使用python绘制热力图(调用百度地图API)

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

时间:2018-07-28 17:17:52

相关推荐

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

一、初始数据(地址)

可以是任意格式的文本

二、 获取百度地图ak

1.百度地图开放平台

我的应用 link

2.申请应用,获取ak

step1:

step2:

step3:提交之后即得到AK码(见step1中“访问应用”下)

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

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

统计地址

推荐使用excel中“数据透视表”完成。

主要目的:生成每个地理位置上的事件次数。将地址复制粘贴至转地址工具中(注意选择Baidu平台),点击转换,.转换完成直接点击下载即可

将地址复制到文本框中,选择Baidu平台,即可开始转换。转换完成获得一个excel,打开即可看到(列A-列H)。再将1.中统计获得的次数粘贴至列I。

转换的过程中,可能有些地址会转换失败,通过excel中的筛选来进行剔除或统计:

5.将剩余有效的数据,进行数据合并,合并成制作热力图需要输入的模式:在J2中输入:

="{lat:"&C2&",lng:"&B2&",count:"&I2&"},"

然后直接下拉直至所有数据均变为这种格式:

四、 生成热力图

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

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

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

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

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

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

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

G处为下侧按钮栏的大小,我嫌弃官方代码里的按钮栏太大了,全部调节成了10%,这样就会有全屏幕的地图了。

更改完成即将所有代码复制到记事本中,保存文件。再将文件的后缀改为.html。不出意外,热力图就生成了,如果没有正常显示,进入该.html文件,按下f12看看console里面什么错,有针对性的改正。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。