利用高德开发者平台制作GIS热力图
话不多说,先上图。
上图是北京市医院分布的热力图像。再附上网页连接:
https://maplab.amap.com/share/mapv/7d125ceeb2907c75cc1d8f814170cfb0
看起来还可以哈,现在来一步一步讲是怎么做的。
在高德开发者平台中有丰富的API接口。以下简单介绍地理/逆地理编码转换接口和关键词搜索接口。官方文档网址如下:https://lbs.amap.com/api/webservice/guide/api/georegeo/
示例如下,可以自行在网页上进行测试:
下一步就是如何在py代码中实现了。
依赖库:request
与爬虫有一些相似,只不过不需要在网页上依据xpath寻找所需的内容,而是想要的内容已经打包好返回给你,只需要按照需要requests就好了。
import requests
response = requests.get("https://restapi.amap.com/v3/geocode/geo?key=输入你自己的密钥&address='上海市第六人民医院金山分院'")
网址这一部分,高德平台要求参数用&进行分割,其中key为个人的密钥,一个用户每天有6000个地理编码请求的流量,其他的搜索方式也有很多。所以只是尝试和学习肯定是够了。创建账号后在个人中心就可以找到Key,粘贴自己的key到代码中的替换掉“输入你自己的密钥”即可。
个人建议在jupyter中先运行感受下,弄清数据结构再大批量的请求数据。
request返回的内容是json格式返回的,然后按照这个格式。拿到关键数据,经纬度。
然后保存在excel中,把数据做成下图这样
个数这一个字段是我根据区域名统计出来的,作为热力值的考量标准。
把逻辑弄清之后就可以循环调用api请求数据了。我举的例子是地理编码的。真正需要某一地区的数据时需要用搜索POI的模式请求。原理类似,可以自行尝试一下。
数据做好了之后,就可以生成图像了。
https://maplab.amap.com/
这个是高德平台生成图像的网址,进入后创建可视化项目选择热力图像,导入数据即可。
还有很多其他的功能例如轨迹图像等,平台上的教程和案例也十分丰富。多去尝试一下可以打开一扇新世界的大门。