ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

SolveVehicleRoutingProblem 的输出

  • out_stops
  • out_routes
  • out_directions
  • out_unassigned_stops
  • solve_succeeded

成功执行后,服务将返回指定车辆配送的解决方案。解决方案由以下输出参数组成:

out_stops

此参数可用于访问在站点、停靠点及休息点的停靠信息。这些信息包括哪些路径包含停靠,到达和离开时间以及停靠顺序。

以下为针对各个停靠点返回的属性说明:

字段名说明

ObjectID

停靠点的唯一标识符。该标识符由服务自动生成。

Name

停靠点的名称。此属性的值与 depots, orders 的 Name 属性或请求的 breaks 参数相同。可使用 StopType 属性确定 Name 属性指的是站点、停靠点,还是休息点。

PickupQuantities

从停靠点接收的货物量或人员数量。如果停靠点接收多个维度,请用空格分隔每个数量。

此属性值的单位不作保存。您应根据在请求 routes 参数中指定 Quantities 属性,和在请求 orders 参数中指定 PickupQuantities 和 DeliveryQuantities 属性的方式解释这些单位。

DeliveryQuantities

停靠点接收的货物量或人员数量。如果停靠点接收多个维度,请用空格分隔每个数量。

此属性值的单位不作保存。您应根据在请求 routes 参数中指定 Quantities 属性,和在请求 orders 参数中指定 PickupQuantities 和 DeliveryQuantities 属性的方式解释这些单位。

StopType

指示停靠点表示站点、停靠点或休息点。属性值为整数,可通过以下方式进行解释:

  • 0:停靠点为停靠点。
  • 1:停靠点为站点。
  • 2:停靠点为休息点。

RouteName

包含停靠的路径的名称。

Sequence

指定路径访问停靠点的相对顺序。

FromPreviousTravelTime

从路径的上一个停靠点到当前停靠点所经历的行程时间。该值的单位由 time_units 参数指定。

FromPreviousDistance

沿着路径从上一个停靠点到当前停靠点的距离。该值的单位由 distance_units 参数指定。

ArriveCurbApproach

指示车辆到达停靠点时路边通道位于车辆哪一侧。值 1 表示在车辆的右侧;值 2 表示在车辆的左侧。

DepartCurbApproach

指示车辆离开停靠点时路边通道位于车辆哪一侧。值 1 表示在车辆的右侧;值 2 表示在车辆的左侧。

ArriveTime

路径每天到达停靠点的时间。此属性的时间值处于停靠点所在的时区内。

DepartTime

路径每天离开停靠点的时间。此属性的时间值处于停靠点所在的时区内。

ArriveTimeUTC

路径每天到达停靠点的时间。时间值以协调世界时间 (UTC) 形式给出。

DepartTimeUTC

路径每天离开停靠点的时间。时间值以协调世界时间 (UTC) 形式给出。

WaitTime

在停靠点的等待时间或短暂停留时间。例如,如果路径必须在停靠点等待时间窗打开,将会产生一个等待时间。该值的单位由 time_units 参数指定。

ViolationTime

从停靠点的时间窗结束到路径车辆到达所经历的时间间隔。该值的单位由 time_units 参数指定。

out_routes

此参数可用于访问车辆配送中的驾驶员、车辆和车辆路径。populate_route_lines 和 route_line_simplification_tolerance 这两个参数会对输出路径的形状造成极大影响。路径几何会以指定为 env:outSR 参数的空间参考的形式返回。

以下提供针对各个路径返回的字段说明:

字段名说明

ObjectID

路径的唯一标识符。该标识符由服务自动生成。

Name

路径的名称。

PickupQuantities

从停靠点接收的货物量或人员数量。如果停靠点接收多个维度,请用空格分隔每个数量。

此属性值的单位不作保存。您应根据在请求 routes 参数中指定 Quantities 属性,和在请求 orders 参数中指定 PickupQuantities 和 DeliveryQuantities 属性的方式解释这些单位。

ViolationConstraints

包含向任意路径分配停靠点时产生冲突的约束汇总信息。服务会向冲突的约束分配唯一的整数。ViolatedConstraints 属性值是一个整数,表示与路径冲突的所有约束的总和。要确定冲突的各个约束,可将属性值视为位掩码,并获取单个位的值。例如,将“超出容量 (2)”和“硬性路径区 (128)”的组合编码为 130 (2 +128)。

如果因某条路径而导致与约束发生冲突,则可将下列一个冲突或多个冲突的组合分配给 ViolatedConstraints 属性。

  • MaxOrderCount exceeded (1):预分配的停靠点无法分配给路径,因为分配停靠点将超出根据 routes 参数 MaxOrderCount 属性指定的可向路径分配的最大停靠点数。
  • Capacities exceeded (2):预分配的停靠点无法分配给路径,因为分配停靠点将超出根据 routes 参数 Capacities 属性指定的总路径容量。
  • MaxTotalTime exceeded (4):从起始站点到终止站点的行驶时间加上在两个站点的服务和等待时间,以及任何休息时间,这几个时间的总和超出了根据 routes 参数 MaxTotalTime 属性指定的路径总时间。
  • MaxTotalTravelTime exceeded (8):从起始站点到终止站点的行驶时间超过根据 routes 参数 MaxTotalTravelTime 属性指定的路径总行驶时间。
  • MaxTotalDistance exceeded (16):从起始站点到终止站点的行驶距离超过根据 routes 参数 MaxTotalDistance 属性指定的路径总行驶距离。
  • Hard time window (32):在与路径关联的起始站点、终止站点或休息点上存在硬性时间窗冲突。
  • Unmatched speciality (64):在目标路径上未找到停靠点所需的特殊要求。
  • Hard route zone (128):预分配给路径的停靠点未落在硬性路径区内。
  • Order pair MaxTransitTime exceeded (256):存在预分配给路径的停靠点对,而分配该停靠点对中的停靠点将超出根据 order_pairs 参数 MaxTransitTime 属性指定的停靠点对的最长行驶时间。
  • Order pair violation (512):停靠点属于某个停靠点对,但无法分配给预分配的路径。
  • Unreachable (1024):预分配的停靠点位于路径无法到达的街道上。
  • Cannot insert required break (2048):存在预分配的停靠点时,路径休息点的 sequence 值为 null,且在未引入其他冲突的情况下,无法将该休息点插入到任何位置。
  • MaxTravelTimeBetweenBreaks exceeded (8192):求解程序无法在 breaks 参数 MaxTravelTimeBetweenBreaks 属性的指定时间内插入休息点。这通常是因为预先为休息点分配了一个顺序,而使得无法在最长行驶时间内到达休息点。
  • Break MaxCumulWorkTime exceeded (16384):服务无法在 breaks 参数 MaxCumulWorkTime 属性指定的时间内插入休息点。这通常是因为预先为休息点分配了一个顺序,而使得无法在最长工作时间内到达休息点。

OrderCount

分配给路径的停靠点数。

TotalCost

路径的总体运营成本,为以下属性值的总和:FixedCost、RegularTimeCost、OvertimeCost 和 DistanceCost。

RegularTimeCost

除任何不需支付酬金的休息时间外的规定工作时间的成本。

OvertimeCost

除任何不需支付酬金的休息时间外的加班时间的成本。

DistanceCost

通过将 TotalDistance 和 CostPerUnitDistance 属性值相乘得出的距离成本部分。

TotalTime

路径总持续时间。该持续时间包括行驶时间以及在停靠点、站点和中断的服务和等待时间。该值的单位由 time_units 参数指定。TotalTime 值等于以下属性值的总和:

  • StartDepotServiceTime
  • EndDepotServiceTime
  • TotalOrderServiceTime
  • TotalBreakServiceTime
  • TotalRenewalServiceTime
  • TotalWaitTime
  • TotalTravelTime

TotalOrderServiceTime

在路径上的所有停靠点处所用的总服务时间。该值的单位由 time_units 参数指定。

TotalBreakServiceTime

在路径上的所有休息点处所用的总服务时间。该值的单位由 time_units 参数指定。

TotalTravelTime

路径的总行驶时间。该值的单位由 time_units 参数指定。

TotalDistance

路径的总行驶距离。该值的单位由 distance_units 参数指定。

StartTime

路径的开始时间。路径可能会在起始站点的时间窗打开之前开始,在这种情况下,起始站点处存在一个等待时间。此属性的时间值处于起始站点所在的时区内。

EndTime

路径的结束时间。路径在终止站点处完成服务后结束。此属性的时间值处于终止站点所在的时区内。

TotalWaitTime

在路径上的所有停靠点、站点和休息点的总等待时间。该值的单位由 time_units 参数指定。

TotalViolationTIme

在路径上的所有停靠点和休息点的总冲突时间。该值的单位由 time_units 参数指定。

RenewalCount

对于具有货物补给点的路径,该字段相当于车辆为了进行货物补给(即车辆装卸)而在站点停靠的次数。

TotalRenewalServiceTime

对于具有货物补给点的路径,该字段表示在路径上所有货物补给点所用的总服务时间。该值的单位由 time_units 参数指定。

Shape_Length

路径长度,单位采用针对路径指定的空间参考。如果未指定 env:outSR 参数,则默认采用十进制度。

StartTimeUTC

以协调世界时间 (UTC) 格式给出的路径开始时间。

EndTimeUTC

以协调世界时间 (UTC) 格式给出的路径结束时间。

out_directions

此参数可用于访问转向说明,以帮助驾驶员按照指定的路径驾驶车辆。此参数包括行驶方向以及文本相应方向要素的几何。方向要素的形状由路径中包括的基础街道确定。要素几何会以指定为 env:outSR 参数的空间参考的形式返回。如果 populate_directions 参数为 false,则要素为空。directions_language 和 directions_style_name 参数会对行驶方向造成极大影响。

以下为针对方向要素返回的字段的说明:

字段名说明

ObjectID

方向要素的唯一标识符。该标识符由服务自动生成。

Name

驾驶操作所应用到的路径的名称。该值与 out_routes 参数的 Name 属性值相同。

ArriveTime

每天启动给定驾驶操作的时间。该值从 1970 年 1 月 1 日午夜开始报告为毫秒。

类型

指示方向要素代表的行进策略类型或方向文本类型。要确定 Type 指的是行进策略类型还是方向字符串类型,请检查 SubItemType 字段的值。

例如,在应用程序中显示行驶方向时,Type 类型可根据行进策略类型为方向分配不同的图标,或根据方向字符串类型使用特殊格式样式

Type 值是行进策略类型或方向字符串类型表格中列出的整数。

行进策略类型

值说明

0

未知

1

抵达停靠点

2

直行

3

向左转

4

向右转

5

左转

6

右转

7

向左急转弯

8

向右急转弯

9

掉头

10

乘坐渡轮

11

绕路

12

驶入高速公路

13

驶离高速公路

14

驶入另一条高速公路

15

在岔路口靠左侧行驶

16

在岔路口靠左侧行驶

17

在岔路口靠右侧行驶

18

离开停靠点

19

出行方案项目

20

渡口

21

斜坡右侧

22

斜坡左侧

23

左转,然后立即右转

24

右转,然后立即左转

25

右转,然后立即右转

26

左转,然后立即左转

方向字符串类型

值说明

0

常规方向字符串类型

1

离开方向字符串类型

2

到达方向字符串类型

3

长度方向字符串类型

4

时间方向字符串类型

5

时间汇总方向字符串类型

6

时间窗口方向字符串类型

7

冲突时间方向字符串类型

8

等待时间方向字符串类型

9

服务时间方向字符串类型

10

预计到达时间方向字符串类型

11

累积长度方向字符串类型

12

街道名称方向字符串类型

13

备用街道名称方向字符串类型

14

符号分支信息方向字符串类型

15

符号朝向信息方向字符串类型

16

十字路街道名称方向字符串类型

17

符号出口编号方向字符串类型

SubItemType

指定 Type 字段指的是方向字符串类型表格中的整数,还是行进策略类型表格中的整数。

  • 如果 SubItemType 的值为 1,则 Type 指的是行进策略类型表格中的值。
  • 如果 SubItemType 的值为 2,则 Type 指的是方向字符串类型表格中的值。

文本

行驶方向的文本描述。

ElaspsedTime

当前行驶方向开始到下一行驶方向开始之时,或到上一行驶方向的路径结束之时所经历的时间。该值的单位由 time_units 参数指定。

DriveDistance

当前行驶方向开始到下一行使方向开始,或到上一行驶方向的路径结束之时所行使的距离。该值的单位由 distance_units 参数指定。

如果行驶方向与下一次行驶方向开始的位置相同,则此值为零。例如,对于路径开始时的方向文本,DriveDistance 为 0。

Shape_Length

方向要素的长度,单位采用针对路径指定的空间参考。如果未指定 env:outSR 参数,则默认采用十进制度。

out_unassigned_stops

此参数可用于访问所有路径均无法访问的停靠点。您还可以确定这些停靠点无法访问的原因,以便进行必要的更改来修复这一问题。

以下为针对各个未分配停靠点返回的属性说明:

字段名说明

ObjectID

停靠点的唯一标识符。该标识符由服务自动生成。

StopType

指示停靠点表示站点、停靠点或休息点。属性值为整数,可通过以下方式进行解释:

  • 0:停靠点为停靠点。
  • 1:停靠点为站点。
  • 2:停靠点为休息点。

名称

停靠点的名称。此属性的值与 depots, orders 的 Name 属性或请求的 breaks 参数相同。可使用 StopType 属性确定 Name 属性指的是站点、停靠点,还是休息点。

ViolationConstraints

包含向任意路径分配停靠点时产生冲突的约束汇总信息。服务会向冲突的约束分配唯一的整数。ViolatedConstraints 属性值是一个整数,表示与路径冲突的所有约束的总和。要确定冲突的各个约束,可将属性值视为位掩码,并获取单个位的值。例如,将“超出容量 (2)”和“硬性路径区 (128)”的组合编码为 130 (2 +128)。

如果因某个停靠点而导致与约束发生冲突,则可将下列一个冲突或多个冲突的组合分配给 ViolatedConstraints 属性。

  • MaxOrderCount exceeded (1):预分配的停靠点无法分配给路径,因为分配停靠点将超出根据 routes 参数 MaxOrderCount 属性指定的可向路径分配的最大停靠点数。
  • Capacities exceeded (2):预分配的停靠点无法分配给路径,因为分配停靠点将超出根据 routes 参数 Capacities 属性指定的总路径容量。
  • MaxTotalTime exceeded (4):从起始站点到终止站点的行驶时间加上在两个站点的服务和等待时间,以及任何休息时间,这几个时间的总和超出了根据 routes 参数 MaxTotalTime 属性指定的路径总时间。
  • MaxTotalTravelTime exceeded (8):从起始站点到终止站点的行驶时间超过根据 routes 参数 MaxTotalTravelTime 属性指定的路径总行驶时间。
  • MaxTotalDistance exceeded (16):从起始站点到终止站点的行驶距离超过根据 routes 参数 MaxTotalDistance 属性指定的路径总行驶距离。
  • Hard time window (32):在与路径关联的起始站点、终止站点或休息点上存在硬性时间窗冲突。
  • Unmatched speciality (64):在目标路径上未找到停靠点所需的特殊要求。
  • Hard route zone (128):预分配给路径的停靠点未落在硬性路径区内。
  • Order pair MaxTransitTime exceeded (256):存在预分配给路径的停靠点对,而分配该停靠点对中的停靠点将超出根据 order_pairs 参数 MaxTransitTime 属性指定的停靠点对的最长行驶时间。
  • Order pair violation (512):停靠点属于某个停靠点对,但无法分配给预分配的路径。
  • Unreachable (1024):预分配的停靠点位于路径无法到达的街道上。
  • Cannot insert required break (2048):存在预分配的停靠点时,路径休息点的 sequence 值为 null,且在未引入其他冲突的情况下,无法将该休息点插入到任何位置。
  • MaxTravelTimeBetweenBreaks exceeded (8192):求解程序无法在 breaks 参数 MaxTravelTimeBetweenBreaks 属性的指定时间内插入休息点。这通常是因为预先为休息点分配了一个顺序,而使得无法在最长行驶时间内到达休息点。
  • Break MaxCumulWorkTime exceeded (16384):服务无法在 breaks 参数 MaxCumulWorkTime 属性指定的时间内插入休息点。这通常是因为预先为休息点分配了一个顺序,而使得无法在最长工作时间内到达休息点。
抢先版本:

未安排路径的停靠点的 ViolatedConstraints 值可能会描述其所有冲突,也可能不描述所有冲突。如果冲突非常严重,以致以后直接不考虑停靠点,那么服务就会照此执行,这样便会防止该停靠点出现任何其他冲突。如果遇到不会自动阻止解决方案生成的冲突,那么该冲突会被记录到 ViolatedConstraints 中,而求解程序将继续考虑该停靠点。与上述类似的任何其他冲突都会被添加到 ViolatedConstraints 字段,直到 (a) 服务找到了可提前停止对特定停靠点进行求解的冲突或 (b) 服务找到了问题的总体解决方案。

Status

指示服务返回解决方案中停靠点的状态。属性值为整数,可通过以下方式进行解释。

  • 0:已成功对停靠点进行了评估。
  • 3:停靠点所在街道不可穿越。如果街道受 restrictions 参数指定的限制所限,可能会出现这种情况。
  • 4:停靠点的属性值位于服务所期编码值或值域范围之外。例如,应该填写正数的位置可能存在负数。
  • 5:服务无法到达停靠点。

提示:

out_unassigned_stops 参数不包含停靠点几何。要在地图上显示未分配的停靠点,可执行以下操作

  • 使用 StopType 属性确定停靠点要素是否对应 orders 或 depots 参数中的要素。
  • 使用 Name 属性查找 orders 或 depots 参数内具有相同名称的要素。

solve_succeeded

此参数可用于确定服务是否能够成功找到输入车辆配送的解决方案。可请求获取作业的状态,以此获取失败的错误消息。

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明