python应用之根据地址表绘热力图

本文详细介绍了如何使用Python结合百度地图API,根据地址列表绘制热力图。步骤包括申请百度开发者密匙,调用API获取经纬度,整理数据成热力图所需的格式,并提供完整代码示例。
摘要由CSDN通过智能技术生成

直接上图

 现在很多的数据分析中,都会用热力图来直观展示特征群体的分布情况,为后期的营销运营等服务。

本篇主要介绍,在经过前期数据整理后,利用python和百度地图API,如何根据拿到的地址列表绘制出热力图。

整个过程的思路大体分为部分:

1、读入已经整理好的地址列表,调用百度API功能取出各个地址对应的经纬度;

2、将所有地址及地址对应的经纬度,存入一个csv文件备份;

3、将经纬度数据整理成热力图html需要的格式;

4、按照热力图html格式,整理完成并打开。

一、申请百度开发者密匙

百度API是什么?百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,基于这些应用接口,我们就可以很方便地将实际地址转换为经纬度坐标。

如下图,在百度拾取坐标系统(http://api.map.baidu.com/lbsapi/getpoint/index.html)中,直接输入地址,点击“百度一下”,在右边选择对应的目标,即可复制出经纬度了,咱们接下来的经纬度就是这样来的。

使用百度地图API功能,需要先在百度开发者平台上http://lbsyun.baidu.com/,注册,然后申请密匙,应用名称自定义,应用类型选择浏览器端即可。(注意,如果调用代码是提示{"status":220,"message":"APP Referer校验失败"},说明浏览器的AK没在白名单中,最简单粗暴的方式,就是直接将白名单定为*,意思是所有的IP都能调用此API,有一丢丢危险,慎用哈!)

二、调用百度API取出各个地址对应的经纬度

定义一个函数取经纬度

from bs4 import BeautifulSoup
import requests
import csv
import re

#调用百度地图API查询位置
def getlocation(name):
    bdurl='http://api.map.baidu.com/geocoder/v2/?address='
    output='json'
    ak='应用AK'#输入刚刚申请的AK
    callback='showLocation'
    uri=bdurl+name+'&output=t'+output+'&ak=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值