Python: python实现地址分布可视化
June 2, 2015
当你知道某些详细地址信息,该如何利用。本文通过调用百度地图接口,实现用户可视化展示,便于更清楚地了解用户。
注册百度地图开放平台帐号
首先先到 http://developer.baidu.com/map/ 上注册一个开发者帐号,然后找到 Web服务API下的Geocoding API ,如下图所示:
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
接下来就可以通过调用该函数去批量处理地址数据,并将相应的结果存入到数据库中。
百度地图接口这点确实做的不错,返回的结果中包含两个相当有用的信息,一个是置信度(可以简单理解为计算结果的准确性),另一个是地址类型,即标识某个地址是商务大厦、村庄、道路、宾馆等一些语义化的标签。
Tableau数据可视化Tableau的可视化功能较为方便和强大,以下是基于刚才处理后的数据得到的相应的可视化图:
整体分布图
局部分布图
有了这样一幅图,大家就可以很清楚地了解用户:住哪 、那个小区,周边商业环境等相关信息。基于此,在移动互联网环境下,我们也可以发现其它的机会点,如果某个小区或者大厦有很多人使用应用,可以基于此部分用户做专门的分析,观察这部分用户的时间信息流,想像一下千万溪流汇聚成大海,大海就是我们观察到的小区或者厦,溪河就是可能的商业机会,大的溪河需要重点挖掘,小的溪河看潜力。
0 Comments