300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > php批量获得经纬度 批量调用百度地图API获取地址经纬度坐标

php批量获得经纬度 批量调用百度地图API获取地址经纬度坐标

时间:2020-11-17 15:05:45

相关推荐

php批量获得经纬度 批量调用百度地图API获取地址经纬度坐标

1 申请密匙

点击左侧 “获取密匙” ,经过填写个人信息、邮箱注册等,成功之后在开放平台上点击“创建应用”,填写相关信息,在这里特别说明的是,在IP白名单框里,如果不清楚自己的IP地址,最好设置为:*。提交后,在你创建应用的访问应用(AK)那一栏就是你的密钥。

2 构造经纬度获取函数

导入所需的库

from urllib.request importurlopen,quoteimportrequests,csvimportpandas as pd#导入库

根据服务文档中的请求格式写出获取经纬度的函数:

defgetlnglat(adress):

url= 'http://api./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 indf.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如下

输出结果

注意

参考:

如果您想调用服务器端的坐标转换方法,请参考坐标转换API

如果您想在JS的前端网页中使用坐标转换功能,请参考JavaScript API坐标转换示例

如果您想在Android终端系统上使用坐标转换功能,请参考Android地图SDK坐标转换开发指南

如果您想在iOS的终端系统上使用坐标转换功能,请参考iOS地图SDK坐标转换开发指南

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。