点击上方“蓝字”关注我们
百度API获取经纬度/地址
Mar 28, 2020
本期介绍给定地址/经纬度,使用百度API来获取经纬度/地址。
本文约3k字,预计阅读18分钟。
本次是第三篇爬虫实战,这一次只是涉及最基础的爬虫知识,只需要会调用「requests包」即可完成该项目。
起因:因为论文需要,将获取的1000多个地址转化为经纬度以便后续计算,我嫌使用别人的工具麻烦,因此自己写了个简单的函数来获取经纬度,现在拿出来分享下。
不同的API地图的坐标系标准各有不同:
谷歌地图采用的是WGS84地理坐标系(中国范围除外),谷歌中国地图采用的是GCJ02地理坐标系,百度采用的是BD09坐标系,而设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,为什么不统一用WGS84地理坐标系这就是国家地理测绘总局对于出版地图的要求,出版地图必须符合GCJ02坐标系标准了,也就是国家规定不能直接使用WGS84地理坐标系。(具体内容自行查阅,本次我们使用百度API)
获取AK
首先我们打开百度API开放平台,注册/登陆自己的账号,成为百度开发者,在「应用管理」--- 「我的应用」中创建应用,如下所示:
在「创建应用」中输入「应用名称」,并且「请求校验方式」选择「IP白名单交验」,这里我们不使用「sn校验方式」,因为需要计算sn,并且为了方便,IP白名单选择了“0.0.0.0/0”,不对IP进行限制(这里是为了Debug,如果想要上线,请设置合理的IP白名单),然后提交即可。
在「我的应用」中出现如下应用:
「访问应用(AK)」是我们所需的。
获取地址对应的经纬度---地理编码
查看百度开放平台中的「开发文档」---「Web服务API」,选择「地点输入提示」---「地理编码」,我们可以找到地理编码接口的url:
完整的请求参数如下: