大家好,我是J哥。
不知道大家会在什么场合使用地图可视化,对我来说地图可视化的优点除了它可以展示海量的位置数据,迅速直观的看出数据分布的情况,从而让读者快速抓住重点,更重要的是地图可视化可以很酷很炫,给人一种赏心悦目的舒适感。J哥做了如下热力图和气泡图的地图可视化,感觉效果还是可以的。
制作此类可视化的前提是获得海量的经纬度数据,数据从何而来?当然是腾讯地图、高德地图和百度地图这些大家耳熟能详的平台。所以今天给大家分享用Python批量获取经纬度的三种方法,并分别评测它们的效率,
一、腾讯地图
首先,咱们需要腾讯位置服务平台注册并获得一个key,作为位置数据调用的密匙。步骤如下:
1、构造函数
获得key以后,咱们就可以构造API数据请求函数tengxun(),将json格式数据中的经纬度解析出来即可,Python代码如下:
import requests
def tengxun(addr):
url = "https://apis.map.qq.com/jsapi?" #腾讯地图API接口
para = {
"qt": "geoc",
"addr":addr, #传入地址参数
"output": "jsonp",
"key": "D7EBZ-NHYKX-UAH4A-74TW4-6M2JE-UHFLY", #即腾讯地图API的key
"pf":"jsapi",
"ref":"jsapi"
}
req = requests.get(url,para) #请求数据
req = req.json() #转为json格式
#print(req)
m = req["detail"]
g = f"{m['pointx']},{m['pointy']}" #解析到经纬度数据
print(g)