利用python:物流公司获取某地点重型货车去往全国市县里程

1、提前获取全国市县坐标形成excel表格,可反复使用
2、定位出发地坐标
3、利用高德标准货车接口进行里程计算
4、利用高德返回的json,python对json、excel进行操作 

import requests
import json
import xlwings as xw

def get_dis(destination):
    origin = '120.936848,31.897215' #出发地坐标,也可写为变量待传
    url = 'https://restapi.amap.com/v4/direction/truck?parameters'  # 货车路径
    key = '自己申请的高德key,但有限额,需购买' #需要填写
    link = f'{url}&origin={origin}&destination={destination}&key={key}&size={4}&height={1.6}' \
           f'&width={2.5}&load={49}&weight={31}&axis={6}'
    # size 车辆4 重型车;height车辆高度1.6;width车辆宽度2.5;load车辆总重49;weight车辆核定载重31;axis车轴数量6;
    response = requests.get(link)
    data = response.json()
    distance = data['data']['route']['paths'][0]['distance'] # 获取里程值
    return distance


app = xw.App(visible=False, add_book=False)
filepath = r'D:\pytest\newinta.xlsx'    # 全国城市坐标(精细至区县)
workbook = app.books.open(filepath)  # 打开坐标表
worksheet = workbook.sheets["Sheet1"]  # 打开坐标页
# for i in range(2,3507)  #全国约3507个县(区):
for i in range(2, 10):
    data = worksheet.range(f"E{i}:F{i}").value # 重点坐标获取,也可在excel表中先合并
    data1 = ','.join(str(j) for j in data)  # []列表转化为元素
    print(get_dis(data1))
    worksheet.range(f"L{i}").value = get_dis(data1)
workbook.save(r'D:\pytest\newinta6.xlsx')
workbook.close()
app.quit()

受限于高德地图对货车里程的限制,每日仅可调用接口100次,新手菜鸟希望高手指点,如何优化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值