美文网首页程序员
教你如何搜索pois(兴趣点),制作可视化作品

教你如何搜索pois(兴趣点),制作可视化作品

作者: 梦之狼 | 来源:发表于2019-01-14 11:17 被阅读1次

看开发文档

使用高德地图api搜索pois之前,先去开放平台上了解一下用它的api有什么规则。
https://lbs.amap.com/api/webservice/guide/api/search

高德api开发文档

从中我们可以key参数是要自己注册申请的;keywords参数是搜索pois的重要依据;type筛选pois具体类型;city锁定搜索的范围。

数据限制

要注意的是,每次请求限制最多返回1000个pois,想要获取更多pois,要分几次来发送请求

python代码走起

(以广州市公园为例)

'''为了更好地学习,代码最好自己重敲一遍'''
import requests #引入requests模块,便于访问api
import pandas as pd #引入pandas模块,模块化处理数据
def search_pois():
    parameters = {'key':'86c530a7d613ac59e630081fc015e0bc','keywords': '公园',
                 'citylimit': True,
                 'city':440117  }#记得申请自己的key, citylimit一定要为true,否则爬不出数据。
    pois = [] #创建空列表,用于储存api反馈数据
    pg_no = 1 #初始化页数,以免数据仅限于首页
    while True: #循环迭代
        parameters.update({'page':pg_no}) #利用循环体,实现自动翻页。
        r = requests.get("http://restapi.amap.com/v3/place/text", params=parameters)#向api,发送参数。
        data = r.json() #使用json方法,转化为json对象
        pois.extend(data['pois']) #将返回数据存入列表
        pois_number = len(pois) #计算api返回的数据量
        most_number=int(data['count'])# 规定最大数据量
        if (pois_number >=most_number):
            break #当api返回的数据量大于开发文档规定最大数据量时,结束循环。
        else:
            pg_no  +=1 #执行翻页
    # 得到了数据,就开始模块化处理数据。
    df_input = pd.DataFrame(pois)
select_fields = "location   address adname  cityname    name    pname       type    biz_ext     biz_type".split("\t")#选择自己想要的信息
    df = df_input['select_fields']
    #增加新栏位字段
    df = df.assign( 经 = [x.split(',')[0] for x in df['location']])
    df = df.assign( 纬 = [x.split(',')[1] for x in df['location']])

执行代码,抓取数据。没有bug就可以输出文件了。

df.to_csv("广州公园.csv", encoding="utf8", sep=',') #输出为csv文件,注意当前工作目录,使用uft8编码防止乱码。

输出为csv文件也是方便以后用python进行数据处理,因为python有专门处理csv文件的csv库,有很多内置方法(如:reader()、DictReader()等),能够帮助我们处理数据。

在数据处理方面,如果不知道怎么用代码实现自己想要的效果,可以用excel,使用left(),right(),mid()等截取字符串函数,实现自己想要的效果。

经过一波千辛万苦,终于得到了自己想要的数据。 广州数据

转战tableau实现可视化

仅看一堆表单数据是不会发现任何问题的,所以现在要考虑如何将数据可视化的问题,将使用tableau desktop来实现。

如果你对于使用tableau desktop软件还是零基础的话,建议你先看一下它的官方教程https://onlinehelp.tableau.com/current/pro/desktop/en-us/gettingstarted_overview.htm

先连接刚爬取的数据源,再把一些字段转换为地理角色。根据自己的需要,把字段拖动到“标记”中的颜色、标签或者是行、列,选择不同字段的组合。 智能显示

也可以通过智能显示的提示(需要什么维度、度量),做出自己想要的图形。做好了多张工作表后,你就可以接着做仪表板,将多个工作表整合在一起。也可以做“故事”将多个仪表板、工作表整合成类似于ppt的产品。

制作仪表板的时候,选择好不同工作表的排列方式,还能插入图片、网页等对象

仪表板
故事
做好之后,就可以发布到tableau public供别人欣赏啦
tableau public
如果你想将tableau作品内嵌到你的web当中,就点击右下角的分享按钮,获取tableau作品源代码和JavaScript程序接口。直接将代码写在html文档上就好啦。
share you work
感兴趣的读者,可以来看看我的成型作品https://public.tableau.com/profile/kerry.chen#!/vizhome/_28975/sheet4

THE END

相关文章

网友评论

    本文标题:教你如何搜索pois(兴趣点),制作可视化作品

    本文链接:https://www.haomeiwen.com/subject/kmdddqtx.html