利用百度地图API获取地理编码

利用百度的开放平台进行操作

百度地图开放平台 | 百度地图API SDK | 地图开发

下拉至底部,点击Web服务API

 

 

 

 python 程序如下

import json
from urllib.request import urlopen, quote
import requests,csv
address=['南昌','九江','上饶','鹰潭','抚州','景德镇','吉安','萍乡','新余','宜春','赣州']
def getlnglat(address):
    url = 'http://api.map.baidu.com/geocoding/v3/'
    output = 'json'
    ak = '在百度平台申请的工作台的AK码' 
    add = quote(address) #quote进行编码,防止乱码中文乱码
    uri = url + '?' + 'address=' + add + '&output=' + output + '&ak=' + ak
    req = urlopen(uri)
    res = req.read().decode() #将其他编码的字符串解码成unicode
    temp = json.loads(res) #对json数据进行解析
    return temp

f = open('city.csv','w',encoding='utf-8',newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(["city", "lng", "lat"])
for i in address:
        lng = getlnglat(i)['result']['location']['lng'] #采用构造的函数来获取经度
        lat = getlnglat(i)['result']['location']['lat'] 
        str_temp = [i,lng,lat]
        csv_writer.writerow(str_temp) #写入文档
f.close()

 运行结果如下

 

 具体参数修改见百度地图API中的服务文档(见图2)

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值