失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python调用高德地图API获取中文地址对应的经纬度

Python调用高德地图API获取中文地址对应的经纬度

时间:2018-11-04 05:56:50

相关推荐

Python调用高德地图API获取中文地址对应的经纬度

目录

一、高德地图API简介

1.进入“地理/逆地理编码API”界面

2.地理编码API参数简介

二、python获取地址经纬度

1.获取单个位置经纬度

2.获取多个位置经纬度

PS:本文借助高德API实现任意地址的经纬度获取,适用面较广。如果个人手中数据为比较整齐的省区县数据,相对应到经纬度,也可以参考python处理中文地址描述中的省市区信息(经纬度)。

开始正文~

一、高德地图API简介

1.进入“地理/逆地理编码API”界面

1)登录高德地图API网站-高德API,界面如图所示。

鼠标移至“开发支持-Web服务API”,点击进入。

2)找到下图中的“地理/逆地理编码API”,点击,如下图所示。

2.地理编码API参数简介

界面向下滚动,我们可以看到一个API,其问号前面的部分是固定不变的,而问号后面的是参数部分。高德地图此处罗列了7个参数,包括2个必选参数(高德key,需要注册;address),以及5个可选参数。参数city的作用体现在——比如address设定为新街口,我们需要的是北京新街口的经纬度,但南京也有一个新街口,因此设定参数city可以限定地址信息的范围,确保我们获取到的是北京新街口的经纬度。参数output默认的输出结果是json格式,如更改格式,可参考网页。

如果想获取行政区域的经纬度,只需要在参数address处直接填入“北京市”即可,不需要参数city。这样得出的经纬度,一般是行政中心所在的经纬度。

二、python获取地址经纬度

1.获取单个位置经纬度

以北京市为例。

import requestsimport json# 输入API问号前固定不变的部分url = '/v3/geocode/geo' # 将两个参数放入字典params = { 'key': '你的高德密钥','address': '北京市' }res = requests.get(url, params)# 输出结果为json,将其转为字典格式jd = json.loads(res.text)print(jd)

输出结果如下:

coords = jd['geocodes'][0]['location']print(coords)

得到经纬度‘116.407526, 39.904030’。

PS:高德密钥

创建个人账户,进入应用管理界面,创建新应用,选择“Web服务”服务平台,这样创建出来的密钥才能使用“地理/逆地理编码”模块。

2.获取多个位置经纬度

import requestsimport jsondef coords(city):# 输入API问号前固定不变的部分url = '/v3/geocode/geo' # 将两个参数放入字典params = { 'key': '你的高德密钥', 'address': city }res = requests.get(url, params)jd = json.loads(res.text)return jd['geocodes'][0]['location']areas = ['xxx', 'yyy', 'zzz']for i in areas:loca = coords(i)print(loca)

OK,大功告成!

参考文章Python调用高德地图API爬取经纬度 - 天善智能:专注于商业智能BI和数据分析、大数据领域的垂直社区平台。

如果觉得《Python调用高德地图API获取中文地址对应的经纬度》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。