批量调用百度地图API获取地址经纬度坐标
1 申请密匙
注册百度地图API:http://lbsyun.baidu.com/index.php?title=webapi
点击左侧 “获取密匙” ,经过填写个人信息、邮箱注册等,成功之后在开放平台上点击“创建应用”,填写相关信息,在这里特别说明的是,在IP白名单框里,如果不清楚自己的IP地址,最好设置为:*。提交后,在你创建应用的访问应用(AK)那一栏就是你的密钥。
2 构造经纬度获取函数
使用百度Web服务API下的Geocoding API接口来获取你所需要地址的经纬度坐标
接口文档见:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
导入所需的库
from urllib.request import urlopen,quote
import requests,csv
import pandas as pd
#导入库
根据服务文档中的请求格式写出获取经纬度的函数:
def getlnglat(adress):
url = 'http://api.map.baidu.com/geocoder/v2/?address='
output = 'json'
ak = '密匙编号'
add = quote(adress)#使用quote进行编码 为了防止中文乱码
url2 = url + add + '&output=' + output + '&ak=' + ak
req = urlopen(url2)
res = req.read().decode()
temp = json.loads(res)
return temp
3 根据地址获取经纬度
用python读取csv文件的数据,并将location列单独读出来,批量获取经度、纬度坐标
#打开csv
df = pd.read_csv('sites.csv',encoding = 'GBK')
df['lng'] = 'collng'#创建新列存放经度
df['lat'] = 'collat'#创建新列存放纬度
dim = df.shape
[row,col] = dim#获取行列
for i in df.values:
b = i[2] #第三列的地址
print(b)
i[3] = getlnglat(b)['result']['location']['lng']#获取经度并写入
i[4] = getlnglat(b)['result']['location']['lat']#获取纬度并写入
print(i)
df
df.to_excel('sites2.xlsx')
原始sites.csv如下
输出结果
注意
http://lbsyun.baidu.com/index.php?title=coordinate
参考:
如果您想调用服务器端的坐标转换方法,请参考坐标转换API
如果您想在JS的前端网页中使用坐标转换功能,请参考JavaScript API坐标转换示例
如果您想在Android终端系统上使用坐标转换功能,请参考Android地图SDK坐标转换开发指南
如果您想在iOS的终端系统上使用坐标转换功能,请参考iOS地图SDK坐标转换开发指南
批量调用百度地图API获取地址经纬度坐标的更多相关文章
- HTML5调用百度地图API获取当前位置并直接导航目的地的方法
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8&quo ...
- HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"&g ...
- H5调用百度地图API获取地理位置
<script src="http://api.map.baidu.com/api?v=2.0&ak=填入申请的AK"></script> < ...
- Python调用百度地图API实现批量经纬度转换为实际省市地点(api调用,json解析,excel读取与写入)
1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:http://lbsyun.baidu.com/apiconsole/key?applicatio ...
- Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,以及根据经纬度通过百度地图API获取位置
通过第三方库exifread读取照片信息.exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifreadpip install exifread ...
- 调用百度地图API的总结
因为项目要用到百度地图,所以先摸索了一下,各种功能官方都有文档,点击可查看,文章的话我就直接写我用到的功能例子了,要用可以直接复制粘贴~ 一.主要涉及到的几个接口(先申请密钥): 1.技术一:坐标转换 ...
- scrapy爬虫框架调用百度地图api数据存入数据库
scrapy安装配置不在本文 提及, 1.在开始爬取之前,必须创建一个新的Scrapy项目.进入自定义的项目目录中,运行下列命令 scrapy startproject mySpider 其中, my ...
- 调用百度地图Api实现的查看地图功能的小插件
1. 功能 bMap.js 可根据地理位置调用出百度地图,采用弹出框形式 2.用法 var city = '青岛市'; var address = '香港中路'; bMap.init({ city : ...
- web开发调用百度地图API + AK申请
web开发调用百度地图API + AK申请 要使用百度地图的API我们首先需要在我们的html页面引入js----`` 如何获取百度地图ak: 1.登陆百度地图开发者平台 2.注册百度开发者账号并登陆 ...
随机推荐
- linq中如何合并多个predicate条件
最近在做一个webAPI 的时候遇到一个需要合并多个predicate条件的问题,下面就是对题的情况.为了方便交流我对case进行了简化,请先看如下代码: using System.Collectio ...
- 12.RabbitMQ多机集群
配置两台Linux CentOS 6.7虚拟主机 CentOS6.7下载地址 https://pan.baidu.com/s/1i5GPg9n 安装视频下载 https://pan.baidu.c ...
- MySQL server has gone away 解决办法
Mysql 5.1 遇到的信息包过大问题 用客户端导入数据的时候,遇到 错误代码: 1153 - Got a packet bigger than 'max_allowed_packet' byt ...
- JWT(JSON Web Token) 多网站的单点登录,放弃session 转载https://www.cnblogs.com/lexiaofei/p/7409846.html
多个网站之间的登录信息共享, 一种解决方案是基于cookie - session的登录认证方式,这种方式跨域比较复杂. 另一种替代方案是采用基于算法的认证方式, JWT(json web token) ...
- setjmp与longjmp的分析
#include <setjmp.h> int main(int argc, const char* argv[]) { jmp_buf buf = {0,}; int k = 0; ...
- pcre2 正则库
\S+ 不能匹配到字符串末尾的最后一个字段
- 拾遗:关于“尾递归”- tail recursion
定义[个人理解]: 尾递归,即是将外层得出的常量计算因子,以函数参数的形式逐层向内传递,即内层调用整合外层调用的产出,整个递归的结果最终由最内层的一次函数调用得出:而通常的递归则是外层调用阻塞.等待内 ...
- css渐变写法 从左到右渐变三种颜色示例;
background:linear-gradient(to right,#7f06a8,#a02bc2,#7f06a8)
- Ubuntu 常用软件记录【持续更新】
主机之间通信 Shell 管理器: asbru-cm 文件传输工具: filezilla 虚拟化 Virtual box
- set -x 调试shell
在上面的结果中,前面有“+”号的行是shell脚本实际执行的命令,前面有“++”号的行是执行trap机制中指定的命令,其它的行则是输出信息. shell的执行选项除了可以在启动shell时指定外,亦可 ...