html数据分析表格api_如何利用百度API绘制热力图

最近需要绘制热力图,下一阶段要做一些数据分析的脚本。

基础:Python3+百度地图API

Part1 原始数据

经纬度数值大约有几百个,统一保存为data.csv文件

Part2 百度API申请

利用百度API,得到一个浏览器端应用的访问AK XjKKSYQ2Dv****************************

Part3 获取HTML源代码

打开百度地图的开放平台 http://developer.baidu.com/map/jsdemo.htm

左侧(添加热力图)-(点击运行)-(点击显示热力图) 可见demo中的默认热力图

v2-865fdfe2722fba40bed1ee9a6dedece1_b.jpg

把该demo代码中“您的密钥” 替换成 刚才申请过的访问AK XjKKSYQ2Dv****************************

有些操作代码的方法是:第一步生成如下标准格式(命名为json_final)

{"lng":116.418261,"lat":39.921984,"count":50},{.....}

第二步保存到json,然后打开json文件,复制所有json内容替换var points 里面的内容(说起来,里面代码的json结果多了一个',',导致调试失败,仔细看才看出来,很好做,利用list[:-1]大法可破

但是我很懒 怎么办

手动把文件input.html中的 var points =[.....] 改成var points =[jsonToBePlaced]

用replace函数把json_final替换掉jsonToBePlaced,point_lon和point_lat替换中心点坐标(116.418261, 39.921984)生成需要的output.html文件

import 

Part4 其他说明

挨个试了一下这个demo的参数,仅供参考

(1)BMap.Point(116.418261, 39.921984);

中心点坐标,这是以后热力图的默认中心,可以换成自己想要的

我换成了天津老火车站的经纬度

(2)map.centerAndZoom(point, 15);

地图缩放程度默认15,这个值变小,相当于执行缩小操作;值变大,相当于放大操作

我改成了8

(3)heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":20});

每个点半径的大小,默认为20,该值越大,在地图上点覆盖面越大

我改成了8

(4) heatmapOverlay.setDataSet({data:points,max:100});

数量最大值默认为100

由于json里面还要填一个count值,我反复试了一下

count取25,max取30的时候可实现所需效果

v2-0f758d8b01e9c51c03966fe761c1fdb1_b.jpg

参考文献1:【新年快乐,跨年文章】Python+百度API 画出美美哒热力地图(代码+数据)

参考文献2:python调用百度地图API实现经纬度换算、热力地图全流程指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值