问题背景
在对地址数据进行处理的过程中,现有的地址数据往往是不标准的,如数据中的维度可能有北京市、余杭区、祁县、淀山湖镇等不同精细度的样本,因此本文聚焦的主要问题是将地址数据统一标准化成省-市(区)-县的格式,如下图所示,原始地址和地址的层级分别为address和level,标准化后的地址与经纬度信息见表的其他部分。
导入Python库
import requests
import json
import pandas as pd
import time
1 正向地理编码:城市->地理坐标
首先定义一个函数,输入为地址和自己的ak,输出为经纬度和level。
def crawl_lnglat(address, ak): # 正向地理编码:城市->地理坐标
url = f'https://api.map.baidu.com/geocoding/v3/?address={address}&output=json&ak={ak}'
response = requests.get(url)
info_dict = json.loads(response.text)
if info_dict['status']==0:
lng = info_dict['result