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

看开发文档

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

教你如何搜索pois(兴趣点),制作可视化作品_第1张图片
从中我们可以key参数是要自己注册申请的;keywords参数是搜索pois的重要依据;type筛选pois具体类型;city锁定搜索的范围。

教你如何搜索pois(兴趣点),制作可视化作品_第2张图片
要注意的是,每次请求限制最多返回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()等截取字符串函数,实现自己想要的效果。

经过一波千辛万苦,终于得到了自己想要的数据。
教你如何搜索pois(兴趣点),制作可视化作品_第3张图片

转战tableau实现可视化

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

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

先连接刚爬取的数据源,再把一些字段转换为地理角色。根据自己的需要,把字段拖动到“标记”中的颜色、标签或者是行、列,选择不同字段的组合。
教你如何搜索pois(兴趣点),制作可视化作品_第4张图片
也可以通过智能显示的提示(需要什么维度、度量),做出自己想要的图形。

做好了多张工作表后,你就可以接着做仪表板,将多个工作表整合在一起。也可以做“故事”将多个仪表板、工作表整合成类似于ppt的产品。

制作仪表板的时候,选择好不同工作表的排列方式,还能插入图片、网页等对象
教你如何搜索pois(兴趣点),制作可视化作品_第5张图片
教你如何搜索pois(兴趣点),制作可视化作品_第6张图片
做好之后,就可以发布到tableau public供别人欣赏啦
教你如何搜索pois(兴趣点),制作可视化作品_第7张图片
如果你想将tableau作品内嵌到你的web当中,就点击右下角的分享按钮,获取tableau作品源代码和JavaScript程序接口。直接将代码写在html文档上就好啦。
教你如何搜索pois(兴趣点),制作可视化作品_第8张图片
感兴趣的读者,可以来看看我的成型作品https://public.tableau.com/profile/kerry.chen#!/vizhome/_28975/sheet4

THE END

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