Python编程调用百度API实现地理位置经纬度坐标转换示例

目录

  • 1.1,用百度账号登陆百度地图控制台
  • 1.2,创建一个应用,获取 AK 参数
  • 1.3,地理编码、逆地理编码
    • 1.3.1 地理编码
    • 1.3.2 逆地理编码
经纬度坐标转换最常见办法就是调用第三方 API,例如百度、高德地图等服务平台,提供了相应的功能接口,它们的这类技术已经非常成熟啦,准确稳定,关键还是免费的 ~
本期教程以百度为例(高德的用方类似),介绍一下其用法

1.1,用百度账号登陆百度地图控制台 百度地图开放平台
Python编程调用百度API实现地理位置经纬度坐标转换示例
文章图片


1.2,创建一个应用,获取 AK 参数 登录控制台之后,选择左侧 应用管理-> 我的应用 -> 创建应用
【Python编程调用百度API实现地理位置经纬度坐标转换示例】Python编程调用百度API实现地理位置经纬度坐标转换示例
文章图片

创建应用页面中有三项信息需要填写
应用名称,无限制随意填写即可;
应用类型 ,选择服务端;
IP 白名单,只是个人简单测试的话0.0.0.0/0 即可,如果考虑安全问题, 可以将自己的 IP 填进去, AK 参数泄露的话非本机 IP 无法访问,这样也不用担心额度被其他用户盗用
Python编程调用百度API实现地理位置经纬度坐标转换示例
文章图片


1.3,地理编码、逆地理编码 经纬度地理位置根据转换方向分为两类,接下来我们分别演示一下其用法:
地理编码: 将地理地址转换为坐标点(经纬度);逆地理编码,将经纬度转化为地理地址;

1.3.1 地理编码
下面就是 Python 测试代码块,将 AK 参数(前面申请到的)和你需要转换的地理位置拼接到 官方提供的 url 中
用 requests 访问即可,
import requestsimport jsonimport reAK = '你的AK'address ='北京市海淀区上地十街10号'url = 'http://api.map.baidu.com/geocoding/v3/?address={}&output=json&ak={}&callback=showLocation'.format(address,AK)res = requests.get(url)print(res.text)results = json.loads(re.findall(r'\((.*?)\)',res.text)[0])print('\n')print('location is ',results['result']['location'])

输出结果如下
showLocation&&showLocation({"status":0,"result":{"location":{"lng":116.3084202915042,"lat":40.05703033345938},"precise":1,"confidence":80,"comprehension":100,"level":"门址"}})location is{'lng': 116.3084202915042, 'lat': 40.05703033345938}


1.3.2 逆地理编码
逆地理编与地理编码用法相似
lat = '40.05703033345938'lng = '116.3084202915042'AK = '你的AK'url = 'http://api.map.baidu.com/reverse_geocoding/v3/?ak={}&output=json&coordtype=wgs84ll&location={},{}'.format(AK,lat,lng)res = requests.get(url)print(res.text)address = json.loads(res.text)['result']['formatted_address']print('\n')print('address is ',address)

像我们这类免(bai) 费 piao) 用户,借助百度 API 每天最高可调用 6000 次,这个量级基本上能满足我们日常需要,但如果这个数量满足不了你的话,可以在线购买更高的使用额度
Python编程调用百度API实现地理位置经纬度坐标转换示例
文章图片

以上就是Python编程调用百度API实现地理位置经纬度坐标转换示例的详细内容,更多关于Python调用百度API转换经纬度坐标的资料请关注脚本之家其它相关文章!

    推荐阅读