转载

python实现地址分布可视化

当你知道某些详细地址信息,该如何利用。本文通过调用百度地图接口,实现用户可视化展示,便于更清楚地了解用户。

注册百度地图开放平台帐号

首先先到 http://developer.baidu.com/map/ 上注册一个开发者帐号,然后找到 Web服务API下的Geocoding API ,如下图所示:

python实现地址分布可视化

Python调用

通过http调用接口格式如下:

http://api.map.baidu.com/geocoder/v2/?address=百度大厦&output=json&ak=E4805d16520de693a3fe707cdc962045&callback=showLocation 

利用python批量调用,先定义一个函数:

def getlnglat(address):  url = 'http://api.map.baidu.com/geocoder/v2/'  output = 'json'  ak = '[*百度开发平台上申请的*]'  uri = url + '?' + 'address=' + address + '&output=' + output + '&ak=' + ak  temp = urllib.urlopen(uri)  temp = json.loads(temp.read())  return temp  

接下来就可以通过调用该函数去批量处理地址数据,并将相应的结果存入到数据库中。

python实现地址分布可视化

百度地图接口这点确实做的不错,返回的结果中包含两个相当有用的信息,一个是置信度(可以简单理解为计算结果的准确性),另一个是地址类型,即标识某个地址是商务大厦、村庄、道路、宾馆等一些语义化的标签。

Tableau数据可视化Tableau的可视化功能较为方便和强大,以下是基于刚才处理后的数据得到的相应的可视化图:

整体分布图

python实现地址分布可视化

局部分布图

python实现地址分布可视化

有了这样一幅图,大家就可以很清楚地了解用户:住哪 、那个小区,周边商业环境等相关信息。基于此,在移动互联网环境下,我们也可以发现其它的机会点,如果某个小区或者大厦有很多人使用应用,可以基于此部分用户做专门的分析,观察这部分用户的时间信息流,想像一下千万溪流汇聚成大海,大海就是我们观察到的小区或者厦,溪河就是可能的商业机会,大的溪河需要重点挖掘,小的溪河看潜力。

正文到此结束
Loading...