利用百度地图API获取地理编码
利用百度的开放平台进行操作百度地图开放平台 | 百度地图API SDK | 地图开发下拉至底部,点击Web服务APIpython 程序如下import jsonfrom urllib.request import urlopen, quoteimport requests,csvaddress=['南昌','九江','上饶','鹰潭','抚州','景德镇','吉安','萍乡','新余','宜春',
·
利用百度的开放平台进行操作
下拉至底部,点击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条内容
所有评论(0)