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

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

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

百度地图开放平台

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

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

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

  • 应用名称,无限制随意填写即可;
  • 应用类型 ,选择服务端
  • IP 白名单,只是个人简单测试的话0.0.0.0/0 即可,如果考虑安全问题, 可以将自己的 IP 填进去, AK 参数泄露的话非本机 IP 无法访问,这样也不用担心额度被其他用户盗用




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 次,这个量级基本上能满足我们日常需要,但如果这个数量满足不了你的话,可以在线购买更高的使用额度

相关文章
|
10天前
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
37 3
如何使用Python开发API接口?
|
3天前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
16 1
|
11天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
25 1
|
17天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
25 2
|
1月前
|
存储 JSON API
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
41 7
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
|
7天前
|
安全 API 网络架构
Python中哪个框架最适合做API?
本文介绍了Python生态系统中几个流行的API框架,包括Flask、FastAPI、Django Rest Framework(DRF)、Falcon和Tornado。每个框架都有其独特的优势和适用场景。Flask轻量灵活,适合小型项目;FastAPI高性能且自动生成文档,适合需要高吞吐量的API;DRF功能强大,适合复杂应用;Falcon高性能低延迟,适合快速API开发;Tornado异步非阻塞,适合高并发场景。文章通过示例代码和优缺点分析,帮助开发者根据项目需求选择合适的框架。
23 0
|
30天前
|
JSON API 数据格式
使用Python和Flask构建简单的RESTful API
【10月更文挑战第12天】使用Python和Flask构建简单的RESTful API
42 1
|
1月前
|
数据采集 人工智能 自然语言处理
Python实时查询股票API的FinanceAgent框架构建股票(美股/A股/港股)AI Agent
金融领域Finance AI Agents方面的工作,发现很多行业需求和用户输入的 query都是和查询股价/行情/指数/财报汇总/金融理财建议相关。如果需要准确的 金融实时数据就不能只依赖LLM 来生成了。常规的方案包括 RAG (包括调用API )再把对应数据和prompt 一起拼接送给大模型来做文本生成。稳定的一些商业机构的金融数据API基本都是收费的,如果是以科研和demo性质有一些开放爬虫API可以使用。这里主要介绍一下 FinanceAgent,github地址 https://github.com/AI-Hub-Admin/FinanceAgent
|
1月前
|
API 数据库 网络架构
深入浅出:使用Python Flask实现RESTful API
【10月更文挑战第7天】在数字化时代,掌握如何高效构建和部署RESTful API是后端开发者的必备技能。本文将引导你了解如何使用Python Flask框架快速打造一个简单而强大的RESTful服务。从基础环境搭建到API设计原则,再到实际代码示例,我们将一步步揭开Flask框架的神秘面纱,让你轻松上手,并能够自信地处理更复杂的项目。
|
1月前
|
JSON API 数据格式
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
48 0
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)