在涉及路径计算等相关问题的时候经常需要知道两个点之间的距离和时间,这个时候可以通过调用高德的路径规划接口来获取相关数据,具体可参考如下。相关key可自行到高德开放平台申请:https://lbs.amap.com/ ,以下以驾车距离时间为例,不同出行方案有不同的接口,比如:货车、步行、骑行等等,具体可参考上述主页。
代码如下:
#高德地图驾车路径规划,获取两地点之间的驾车里程和时间
import pandas as pd
import requests
import json
def get_dis_tm(origin, destination):
url = 'https://restapi.amap.com/v3/direction/driving?'
key = 'XXXXXXXXXXXXXXX' #这里就是需要
link = '{}origin={}&destination={}&key={}'.format(url, origin ,destination , key)
response = requests.get(link)
dis, tm = 999999, 999999
if response.status_code == 200:
results = response.json()
if results['status'] == '1':
dis = int(results['route']['paths'][0]['distance'])
tm = int(results['route']['paths'][0]['duration'])
else:
print(link)
return dis, tm
测试:北京到上海的驾车距离时间
#北京和上海的经纬度
beijing = '114.049085,22.556316'
shanghai = '121.473658,31.230378'
get_dis_tm(beijing,shanghai)
输出结果为:(1434242, 63256)
涉及到批量调用的可以写个循环,但是每天都调用次数限制,学习愉快~