问题:
计算两个POI(Point of In)之间的距离
思路:
1. 通过地址无法直接计算两个location之间的距离,需要将地址转化为经纬度。
2. 在数据量较大的情况下,较好的方式时使用代码调用在线地图的API,批量处理。
输入:
1.标准格式地址(xx省xx市xxxx)的csv文件
工具:
1. Jupyter Notebook
2. 高德地图
输出:
1. 每个地址对应的经纬度
具体流程:
1. 注册为高德开发者,获取调用API的key。
2. 编写Python代码,将地址转为经纬度。
3. 检验生成的坐标是否正确。
具体实现:
1. 注册为高德开发者,获取调用API的key。
a.百度高德 - 高德开发平台
b 注册(右上角)- 登陆
c. 进入控制台(右上角)
d. 我的应用(左上角) - 创建新应用(右上角)
e. 更具实际情况填写
f. 可使用服务选择web服务 - 提交
g.查看key
2. 编写Python代码,将地址转为经纬度。
Python代码的主要内容其实是对API接口的调用。查看高德官方的开发文档,获得以下必备的信息:
a. 地理编码 API 服务地址
URLhttps://restapi.amap.com/v3/geocode/geo?parameters
请求方式GET
b. 必选参数:
key,address
通过这些信息,我们明确了使用get的方式来调用api,即需要使用request库。
3. 检验计算出的距离是否正确。
对比代码得到的坐标和高德地图坐标拾取器得出的坐标,发现基本上是一致的,有些细微的偏差,原因不明。