物流排线调度服务 最后更新时间: 2024年11月22日
产品简介
企业配送过程中,一辆车往往需要按照时间规定经过多个配送/上车点,配送/上车先后顺序对整个流程的效率影响很大。确定最优的运输路径,可以减少企业运输的用车数量、行驶距离、配送时间、路途费用,从而降低总体运输成本,提升资源利用率和业务响应速度。
本服务主要解决多起点、多车辆、多配送/上车点的场景,同时支持各项约束条件、自选算路策略,寻找满足需求的最优点位排序。
适用:200点以下场景。
请求地址
URL | https://tsapi.amap.com/v1/logistics/route/scheduling?key=<用户key> |
请求方式 | POST |
Content-Type | application/json |
特别注意:该接口是物流API服务收费接口,您如果申请试用或者正式应用都请通过工单系统提交商务合作类工单进行沟通。
请求参数
参数名 | 类型 | 含义 | 规则说明 | 是否必须 | 缺省值 |
key | string | 请求服务权限标识 | 必填 | 无 |
请求body
参数名 | 类型 | 含义 | 规则说明 | 是否必须 | 缺省值 | |||
sortRule | int | 排线排序方式 | 0:距离最短 1:时间最短 | 否 | 0 | |||
routeOption | int | 算路选项 | 算路时的可选择策略 0: 无偏好,综合最优 1: 不走高速 2: 避免收费 | 否 | 0 | |||
considerWaiting | int | 考虑等待时间 | 排线时是否考虑因时间窗导致的等待时间 0:不考虑 1:考虑 | 否 | 0 | |||
deliveryCapacity | int | 配送能力 | 0:机动车 1:非机动车 | 是 | 0 | |||
isBack | int | 是否回到起点 | 0:回仓,回到起点(指路线排序后需要回到起点位置) 1:任意点结束(可指定终点) | 否 | 1 | |||
departureTime | int | 未来出发时间 | 1.未来出发时间将用于未来预测ETA矩阵计算,预估未来时刻的路线耗时、距离。 2.单位:秒级时间戳 3.必须晚于当前时间,只支持未来6天 4.只有机动车支持未来时间。deliveryCapacity=0时生效 | 否 | 无 | |||
infiniteVehicle | int | 车辆数量限制 | 0:无限车辆 1:有限车辆 | 是 | 1 | |||
balanceDimension | list<int> | 均衡维度 | 1:时间,目前仅支持时间维度,传数组 例:[1] | 否 | 无 | |||
depots | jsonarray | 仓库信息 | 1、仓库,即配送起点 2、支持多仓库,可上传多个仓库数组 仓数量不限 | |||||
location | string | 仓库坐标 | 经度在前,纬度在后,经度和纬度用","分隔,精确到小数点后6位及以上 | 是 | 无 | |||
vehicleGroups | jsonarray | 车辆组信息 | 该起点的车辆数组 | |||||
deliveryType | int | 配送方式 | deliveryCapacity=0时,本字段可填写: 0:驾车配送 1:货车配送(deliveryType=1时,下面vehicleModels才会生效) deliveryCapacity=1时,本字段可填写: 2:步行配送 3:自行车配送 4:电动自行车配送 | 是 | 0 | |||
vehicleGroupId | string | 车辆组ID | 用户自定义参数,用来唯一标识该车辆数组 | 否 | 无 | |||
vehicleModelId | string | 车辆型号ID | 用户自定义参数(deliveryType=1时,参数必填),最大128字符 | 否 | 无 | |||
vehicleCount | int | 该(型号)车数量 | 若infiniteVehicle=1:直接填写车辆数量的数字 注意:单次请求车辆数量总和不得超过50,如有需要可以在infiniteVehicle选择“无限车” 若infiniteVehicle=0:此字段可不填/填0 | 否 | 1 | |||
capacity | jsonobject | 容量 | 车辆容量(与points.demand对应) | 否 | 无 | |||
weight | double | 装载容量 | 单位:千克 | 否 | 无 | |||
volume | double | 装载体积 | 单位:立方米 | 否 | 无 | |||
count | int | 装载数量 |
| 否 | 无 | |||
famiPointIndexes | jsonarray | 熟悉点位 | 车辆的熟悉点坐标索引,对应servicePoints中的配送点序号,在infiniteVehicle=0时无效。 示例:[2,3,6,8,25] | 否 | 无 | |||
maxDistance | double | 车辆最大行驶里程 | 一次配送任务中,车辆最大行驶里程,单位:米,大于0,不传代表没有限制 | 否 | 无 | |||
maxTime | double | 车辆最长行驶时间 | 一次配送任务中,车辆最长行驶时间(对应返回中的timeInclude),单位:分钟,大于0,不传代表没有限制 | 否 | 无 | |||
startTime | int | 车辆最早出发时间 | 相对当日0点的时间偏移(单位:分钟),默认值为0 | 否 | 0 | |||
endTime | int | 车辆最晚到达时间 | 相对当日0点的时间偏移(单位:分钟),默认无限大 | 否 | 无限大 | |||
endLocation | string | 车辆终点坐标 | 当isBack=1时,指定车辆以该点为结束点。 需与下方servicePoints内该点location输入相同值。 | 否 | 无 | |||
vehicleModels | jsonarray | 车辆型号信息 | 当deliveryType=1时,此数组必填 | |||||
vehicleModelId | string | 车辆型号ID | 与vehicleGroups.vehicleModelId对应,即本组车辆型号信息为此车辆型号ID的对应数据,最大128字符 | 是 | 无 | |||
size | int | 车辆大小 | 高德此分类依据国标 1:微型车,2:轻型车(默认值),3:中型车,4:重型车 | 是 | 2 | |||
height | double | 车辆高度 | 单位米,取值[0 – 25.5]米,默认 1.6 米,会严格按照填写数字进行限行规避,请按照车辆真实信息合理填写。 | 否 | 1.6 | |||
width | double | 车辆宽度 | 单位米,取值[0 – 25.5]米,默认 2.5 米,会严格按照填写数字进行限行规避,请按照车辆真实信息合理填写。 | 否 | 2.5 | |||
load | double | 车辆总重 | 单位吨,取值[0 – 200]吨,默认 0.9 吨,会严格按照填写数字进行限行规避,请按照车辆真实信息合理填写。 总重的含义是核定载重加上车辆自重的总质量。 | 否 | 0.9 | |||
weight | double | 货车核定载重 | 单位吨,取值[0 – 200]吨,默认 10 吨,会严格按照填写数字进行限行规避,请按照车辆真实信息合理填写。 核定载重的含义是可装载货物的最大重量。 | 否 | 10 | |||
axis | int | 车辆轴数 | 单位个,取值[0 –255]个,默认 2个轴,会严格按照填写数字进行限行规避,请按照车辆真实信息合理填写。 | 否 | 2 | |||
servicePoints | jsonarray | 配送点信息 | 配送点规则: 1、骑行、驾车、货车单次最多可以传入50-200个配送点(默认50点,如需更多点位请单独联系开通),至少传入2个配送点; 2、配送点是指除去起点外的配送点 | |||||
location | string | 配送点坐标 | 经度在前,纬度在后,经度和纬度用","分隔,精确到小数点后6位及以上 | 是 | 无 | |||
timeWindow | string | 时间窗 | 时间窗信息,相对当日0点的时间偏移(单位:分钟) 例:480,720,780,1320 代表两个时间窗 “480,720”,“780,1320” | 否 | 无 | |||
serviceTime | int | 配送点服务时长 | 配送点所需的服务停留时长,单位:分钟 | 否 | 0 | |||
name | string | 配送点poi名称 | 最大64字符 | 否 | 无 | |||
demand | jsonobject | 需求量 | 网点待配送货物的量(与vehicleGroups.capacity对应) | 否 | 无 | |||
weight | double | 需求容量 | 单位:千克 | 否 | 无 | |||
volume | double | 需求体积 | 单位:立方米 | 否 | 无 | |||
count | int | 需求数量 |
| 否 | 无 |
返回结果
参数 | 类型 | 说明 | ||||
errorcode | int | 错误码,10000标是成功 | ||||
errmsg | string | 错误信息说明 | ||||
data | jsonarray | 路径规划结果,数组形式,内容为json格式 | ||||
count | int | 总路线条数 | ||||
depotLocation | string | 仓库坐标(起点坐标) | ||||
depotIndex | int | 仓库序列号,按照仓库输入顺序从1开始递增 | ||||
totalDistance | int | 该仓车辆总行驶距离,单位:米 | ||||
totalTime | int | 该仓车辆总行驶时间,单位:分钟 | ||||
timeAll | int | 该仓车辆总耗时(包括路程耗时、因时间窗导致的等待耗时、服务耗时),单位:分钟 | ||||
loading | jsonobject | 仓库车辆总装载率 | ||||
weight | string | 容量装载率,仓库装载总容量/仓库运输车辆总容量,如"800/1000" | ||||
volume | string | 体积装载率,仓库装载总体积/仓库运输车辆总体积 | ||||
count | string | 数量装载率,仓库装载总数量/仓库运输车辆总数量 | ||||
routes | jsonarray | 车辆分配线路方案 | ||||
distance | int | 该路线车辆总行驶距离,单位:米 | ||||
time | int | 该路线车辆总行驶时间,单位:分钟 | ||||
timeInclude | int | 该路线车辆总耗时(包括路程耗时、因时间窗导致的等待耗时、服务耗时),单位:分钟 | ||||
deliveryType | string | 配送方式 | ||||
vehicleGroupId | string | 该路线使用的车辆信息ID | ||||
vehicleModelId | string | 该路线使用的车辆型号ID | ||||
loading | jsonobject | 车辆装载率 | ||||
weight | string | 容量装载率,车辆装载容量/车辆总容量,如"800/1000" | ||||
volume | string | 体积装载率,车辆装载体积/车辆总体积 | ||||
count | string | 数量装载率,车辆装载数量/车辆总数量 | ||||
queue | jsonarray | 配送次序,从1开始递增 | ||||
startIndex | int | 坐标序列号,仓库的序列号为0,points序列号按照点位输入顺序从1开始依次递增。 | ||||
startLocation | string | 路段起点对应的经纬度 | ||||
endIndex | int | 坐标序列号,仓库的序列号为0,points序列号按照点位输入顺序从1开始依次递增。 | ||||
endLocation | string | 路段终点对应的经纬度 | ||||
distance | int | 路段路径距离,单位米 | ||||
duration | int | 路段预计耗时,单位分钟 | ||||
scheduleTime | int | 默认车辆时间窗起始时间为0,预计到达end点的耗时(包括因时间窗导致的等待时间、服务耗时),单位分钟 | ||||
unassignedNodes
| jsonarray | 因约束未分配的节点 |