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

作者:小张Python 时间:2023-12-30 11:44:38 

经纬度坐标转换最常见办法就是调用第三方 API,例如百度、高德地图等服务平台,提供了相应的功能接口,它们的这类技术已经非常成熟啦,准确稳定,关键还是免费的 ~

本期教程以百度为例(高德的用方类似),介绍一下其用法

1.1,用百度账号登陆百度地图控制台

百度地图开放平台

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

1.2,创建一个应用,获取 AK 参数

登录控制台之后,选择左侧 应用管理-> 我的应用 -> 创建应用

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

创建应用页面中有三项信息需要填写

应用名称,无限制随意填写即可;

应用类型 ,选择服务端;

IP 白名单,只是个人简单测试的话0.0.0.0/0 即可,如果考虑安全问题, 可以将自己的 IP 填进去, AK 参数泄露的话非本机 IP 无法访问,这样也不用担心额度被其他用户盗用

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

1.3,地理编码、逆地理编码

经纬度地理位置根据转换方向分为两类,接下来我们分别演示一下其用法:

地理编码: 将地理地址转换为坐标点(经纬度);逆地理编码,将经纬度转化为地理地址;

1.3.1 地理编码

下面就是 Python 测试代码块,将 AK 参数(前面申请到的)和你需要转换的地理位置拼接到 官方提供的 url 中

用 requests 访问即可,


import requests
import json
import re
AK = '你的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实现地理位置经纬度坐标转换示例

来源:https://blog.csdn.net/weixin_42512684/article/details/115843299

标签:Python,百度,API,坐标转换
0
投稿

猜你喜欢

  • python opencv根据颜色进行目标检测的方法示例

    2021-09-29 03:53:41
  • 用户体验的另一种认识

    2007-10-25 12:36:00
  • 两个JS之间的函数互相调用方式

    2024-04-10 10:39:45
  • python isinstance函数用法详解

    2023-05-08 12:43:56
  • Sql Server 2000内存调整

    2010-04-25 11:24:00
  • SQL对时间处理的语句小结

    2011-12-01 07:53:04
  • python 打印完整异常问题

    2022-11-04 16:04:11
  • 用Python的Django框架完成视频处理任务的教程

    2022-05-07 05:38:25
  • Python pickle模块用法实例

    2022-06-30 10:29:04
  • python消费kafka数据批量插入到es的方法

    2023-04-30 18:10:47
  • python实现数独算法实例

    2022-11-12 05:31:12
  • python使用html2text库实现从HTML转markdown的方法详解

    2023-07-18 09:00:03
  • Python实现12306火车票抢票系统

    2023-09-30 01:33:31
  • 对Python 语音识别框架详解

    2023-09-22 01:32:30
  • ie7.0浏览器 兼容问题苦煞网站设计者

    2007-08-08 17:11:00
  • 详解Python进阶之切片的误区与高级用法

    2022-09-18 04:03:12
  • 关于Python常用模块时间模块time

    2022-06-19 14:12:08
  • Python判断telnet通不通的实例

    2023-07-27 14:56:08
  • python如何将一个四位数反向输出

    2023-03-21 16:42:40
  • 用err.raise自定义错误信息

    2008-02-20 12:48:00
  • asp之家 网络编程 m.aspxhome.com