高德地图路径规划接口计算出发地与目的地的通行时间计算

计算两点之间通行时间,可以借助gis的网络分析实现,但网络分析需要较为完整的路网数据,且分析过程复杂,借助高德地图路径规划接口可实现不同交通方式下,两点之间的通行时间计算,快速简洁。本文以驾车方式为例,计算重庆个区县驻地间的驾车时间。

完整代码如下:

import csv
import requests
import pandas as pd
def get_time(orign,des,ak):
    '''
    :param orign: 起点坐标
    :param des: 终点坐标
    :param ak: 接口key
    :return: [distance,duration]列表[距离,时间]
    '''
    url="https://restapi.amap.com/v3/direction/driving?origin={}&destination={}&extensions=all&output=json&key={}&strategy=0".format(orign,des,ak)
    distance= requests.get(url).json()['route']['paths'][0]['distance']
    duration = requests.get(url).json()['route']['paths'][0]['duration']
    return [distance,duration]

if __name__=="__main__":
    excel_path="所有区县.xlsx"   #起点表格路径
    use_field=["区县","高德坐标"] #起点表格使用字段
    excel_path1 = "所有区县.xlsx"  # 终点表格路径
    use_field1 = ["区县", "高德坐标"]  # 终点表格使用字段
    result_path="result.csv"    #结果存放路径
    ak=""
    dp=pd.read_excel(excel_path,usecols=use_field).values.tolist()
    dp1 = pd.read_excel(excel_path1, usecols=use_field1).values.tolist()
    f=open("result.csv","w",newline="")
    wf=csv.writer(f)
    wf.writerow(["出发地","目的地","距离","时间(s)"])
    for i in dp:
        orign=i[1]
        orign_name=i[0]
        for j in dp1:
            des=j[1]
            des_name = j[0]
            result=get_time(i[1],j[1],ak)
            wf.writerow([orign_name,des_name]+result)
    f.close()

其中:

高德地图接口key需要到高德开放平台 | 高德地图API,中申请创建。

起点坐标表格如下:

结果表格如下:

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值