下文介绍了执行最后一公里配送分析时可以指定的输入数据类型。
Orders
这些是要用作最后一公里配送分析的输入的停靠点。 这些停靠点指路径配送包裹的最终客户位置或收取包裹以进行运送的初始客户位置。
数据类型支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
Name | 停靠点的名称。 名称必须唯一。 停靠点名称区分大小写。即使停靠点不参与求解运算,停靠点名称也不能为空。 该字段在这里是一个主键,同时作为外键来引用“停靠点特殊要求”表中的停靠点。 | 文本 |
ServiceTime | 路径访问网络位置时要在该位置所花费的时间;即网络位置的阻抗值。 零值或空值表示网络位置不需要任何服务时间。 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
TimeWindowStart | 停靠点的时间窗开始时间。 该字段可以包含空值;空值表示没有开始时间。 时间窗仅说明车辆何时可以到达停靠点,并不说明服务时间必须何时结束。 为了考虑服务时间并在时间窗口终止前离开,请从 TimeWindowEnd 字段值中减去 ServiceTime 值。 时间窗字段(TimeWindowStart 和 TimeWindowEnd)需要日期和时间。 可以使用 datetime Python 对象(如 datetime.datetime(2019, 5, 11, 8, 30, 0)指定此字段的值,该对象表示 2019 年 5 月 11 日星期六上午 8:30:00。 值的时区由分析对象的 timeZoneForTimeFields 属性指定。 | 日期 |
TimeWindowEnd | 停靠点窗口的结束时间。 该字段可以包含空值;空值表示没有结束时间。 | 日期 |
MaxViolationTime | 如果到达时间出现在时间窗结束后,则认为与时间窗发生了冲突。 该字段为停靠点的时间窗指定允许的最长冲突时间。 它可包含零值,但不能包含负值。 零值表示不能接受时间窗冲突,即时间窗为硬性要求。 相反,空值表示对允许的冲突时间没有限制。 非零值指定最长延迟时间。 例如,路径可在时间窗结束之后最多 30 分钟内到达停靠点。 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
InboundArriveTime | 定义要配送到停靠点的项在起始站点准备就绪的时间。 仅当入站到达时间早于路径的最晚开始时间值时,才能将该停靠点分配给此路径;这样,在项已准备就绪,可以进行装载之前,路径无法离开站点。 此字段有助于对涉及入站中转的情景进行建模。 例如,停靠点的某项作业需要一些特殊材料,但该站点当前并不具备这些材料。 现在正从另一位置运送这些材料,预计将在上午 11:00 到达该站点。为了确保不会将在货物到达之前离开的路径分配给此停靠点,停靠点的入站到达时间被设置为上午 11:00。 这些特殊材料在上午 11:00 到达后会被装载到车辆上,随后车辆离开该站点,驶向指派的停靠点。 可以使用 datetime Python 对象(如 datetime.datetime(2019, 5, 11, 8, 30, 0)指定此字段的值,该对象表示 2019 年 5 月 11 日星期六上午 8:30:00。 注:
| 日期 |
OutboundDepartTime | 定义要在停靠点接收的货物必须到达终止站点的时间。 仅当路径能够访问停靠点且到达终止站点的时间早于指定的出站离开时间时,才能将该停靠点分配给路径。 此字段有助于对涉及出站中转的情景进行建模。 例如,货运公司派出运货车去接收停靠点的包裹,并将其运送至采用其他设施的转运站点,然后将其送往最终目的地。 每天下午 3:00 会有一辆半挂车停靠在该站点,接收高优先级包裹并将其直接送往中转站。 为了避免将这些高优先级包裹的配送延迟至第二天下午 3:00 的行程,货运公司尝试让运货车在下午 3:00 之前接收停靠点的高优先级包裹,同时在该截止时间之前将其运送至中转站。 这完全可以通过将出站离开时间设置为下午 3:00 来实现。 可以使用 datetime Python 对象(如 datetime.datetime(2019, 5, 11, 8, 30, 0)指定此字段的值,该对象表示 2019 年 5 月 11 日星期六上午 8:30:00。 注:
| 日期 |
| 配送量。 可以使用各种规格(如重量、体积或数量)来指定配送量。 如果有多个配送量,则根据需要使用 DeliveryQuantity_1 到 DeliveryQuantity_9 字段进行指定。 输入未指明单位的配送量数值。 例如,如果需要将一个 300 磅的对象配送到某个停靠点,请输入 300。 您需要记住,该值的单位是磅。 确保路径表的 Capacity_* 字段以及停靠点表的 DeliveryQuantity_* 和 PickupQuantity_* 字段以相同方式指定。 这些值必须使用相同的单位,并且以相同数字结尾的字段必须彼此对应。 例如,假设 Capacity_4、DeliveryQuantity_4 和 PickupQuantity_4 使用相同的单位描述相同的测量值。 如果任何 DeliveryQuanity_* 字段用于任何停靠点,则任何 PickupQuantity_* 字段都不能用于分析中的任何停靠点。 求解程序支持选择所有配送停靠点或所有接收停靠点,但不能同时选择两者。 默认值为 0。配送量不能为负。 | 双精度 |
| 接收的大小。 可以使用各种规格(如重量、体积或数量)来指定配送量。 如果存在多个接收量,则根据需要使用 PickupQuantity_1 到 PickupQuantity_9 字段进行指定。 这些字段与 DeliveryQuantity_* 字段相似。 如果任何 PickupQuanity_* 字段用于任何停靠点,则任何 DeliveryQuantity_* 字段都不能用于分析中的任何停靠点。 求解程序支持选择所有配送停靠点或所有接收停靠点,但不能同时选择两者。 默认值为 0。接收量不能为负。 | 双精度 |
AnchorRule | 指定停靠点的固定规则,表示该停靠点必须是路径上的第一个或最后一个停靠点。 该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
如果停靠点是对特定路径的附加约束,则可以使用 AssignmentRule 字段进行控制。 | 长整型 |
AssignmentRule | 用于指定将停靠点分配给路径时所要遵循的规则。 该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
| 长整型 |
RouteName | 向其分配停靠点的路径的名称。 此字段用于将停靠点预先分配给特定的路径。 它可包含空值,空值表示停靠点未预先分配给任何路径,而求解程序会为停靠点确定可能的最佳路径分配。 如果将该字段设为空,则 Sequence 字段也必须设为空。 完成求解操作后,如果已为停靠点分配路径,则 RouteName 字段将包含向其分配停靠点的路径的名称。 RouteName 字段是 Routes 类中 Name 字段的外键。 | 文本 |
Sequence | 该字段表示停靠点在其分配的路径上的顺序。 此字段用于指定停靠点在路径上的相对顺序。 该字段可包含空值,空值表示停靠点可位于路径上的任意位置。 输入顺序值应为正且对于各路径均唯一(在站点和停靠点之间共享),但是不需要从 1 开始,也不需要连续。 执行求解操作后,Sequence 字段中会包含停靠点在其分配的路径上的顺序值。 | 长整型 |
CurbApproach | 指定车辆到达和离开停靠点的方向。 该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
CurbApproach 属性是专为使用以下两种国家驾驶标准而设计的:右侧通行(美国)和左侧通行(英国)。 首先,考虑位于车辆左侧的停靠点。 不管车辆行驶在左车道还是右车道,停靠点始终位于车辆的左侧。 决定从其中任一方向到达停靠点可能会随国家驾驶标准更改,也就是说,从车辆的右侧或左侧靠近停靠点。 例如,要到达一个停靠点并且在车辆与停靠点之间不存在其他交通车道,在美国应该选择 1(车辆的右侧),而在英国应该选择 2(车辆的左侧)。 | 长整型 |
Bearing | 点移动的方向。 单位为度,从正北开始沿顺时针方向进行测量。 该字段与 BearingTol 字段结合使用。 方位角数据通常会从配有 GPS 接收器的移动设备自动发送。 如果正在加载移动输入位置(例如行人或车辆),请尝试包括方位角数据。 使用该字段可以防止将位置添加到错误的边上,例如,车辆刚好在交叉路口或天桥附近时。 方位角也可帮助工具确定点在街道的哪一边上。 | 双精度 |
BearingTol | 使用 Bearing 字段在边上定位移动点时,方位角容差值将创建一个可接受方位角值的范围。 如果 Bearing 字段值在可接受值范围(由边上的方位角容差生成)内,则可以将该点作为网络位置添加在此处,否则,将计算下一个最近边上的最近点。 单位为度,默认值为 30。 值必须大于 0 且小于 180。 值为 30 表示,Network Analyst 尝试在边上添加网络位置时,在边的每一侧(左侧和右侧)的两个数字化方向上都将生成一个 15 度的可接受方位角值。 | 双精度 |
NavLatency | 如果 Bearing 和 BearingTol 也具有值,则该字段只在求解过程中使用;但是,即使当 Bearing 和 BearingTolNavLatency 字段中有值时,NavLatency 值的输入也是可选的。NavLatency 表示 GPS 信息从移动的车辆上发送到服务器以及车辆导航设备接收到处理后路径这两个时刻之间预期要花费的成本。 NavLatency 的时间单位与由分析对象的 timeUnits 属性指定的单位相同。 | 双精度 |
网络位置字段
| 结合使用这些属性可描述网络中对象所在的点。 |
Depots
输入是用于给定最后一公里配送分析的一个或多个站点。 站点是指车辆在工作时间开始时离开并在工作时间结束后返回的位置。 车辆在站点装货(对于配送)或卸货(对于接收)。 对于“最后一公里配送”求解程序,所有路径必须从同一个站点位置开始,并且必须在同一个站点位置结束。 但是,起始和终止站点位置可以不同,或者可以使用问题中未明确指定的虚拟站点位置来模拟站点位置。
数据类型支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
Name | 站点的名称。 路径上的 StartDepotName 和 EndDepotName 字段引用您在此处提供的名称。 站点名称区分大小写,必须非空且唯一。 | 文本 |
CurbApproach | 指定车辆到达和离开站点的方向。 字段值可指定为括号中显示的以下整数之一(请使用数值代码而非括号中的名称):
CurbApproach 属性是专为使用以下两种国家驾驶标准而设计的:右侧通行(美国)和左侧通行(英国)。 首先,考虑位于车辆左侧的站点。 不管车辆行驶在左车道还是右车道,停靠点始终位于车辆的左侧。 决定从其中任一方向到达站点可能会随国家驾驶标准更改,也就是说,从车辆的右侧或左侧靠近事件点。 例如,要到达一个站点并且在车辆与站点之间不存在其他交通车道,在美国应该选择 1(车辆的右侧),而在英国应该选择 2(车辆的左侧)。 | 长整型 |
Bearing | 点移动的方向。 单位为度,从正北开始沿顺时针方向进行测量。 该字段与 BearingTol 字段结合使用。 方位角数据通常会从配有 GPS 接收器的移动设备自动发送。 如果正在加载移动输入位置(例如行人或车辆),请尝试包括方位角数据。 使用该字段可以防止将位置添加到错误的边上,例如,车辆刚好在交叉路口或天桥附近时。 方位角也可帮助工具确定点在街道的哪一边上。 | 双精度 |
BearingTol | 使用 Bearing 字段在边上定位移动点时,方位角容差值将创建一个可接受方位角值的范围。 如果 Bearing 字段值在可接受值范围(由边上的方位角容差生成)内,则可以将该点作为网络位置添加在此处,否则,将计算下一个最近边上的最近点。 单位为度,默认值为 30。 值必须大于 0 且小于 180。 值为 30 表示,Network Analyst 尝试在边上添加网络位置时,在边的每一侧(左侧和右侧)的两个数字化方向上都将生成一个 15 度的可接受方位角值。 | 双精度 |
NavLatency | 如果 Bearing 和 BearingTol 也具有值,则该字段只在求解过程中使用;但是,即使当 Bearing 和 BearingTolNavLatency 字段中有值时,NavLatency 值的输入也是可选的。NavLatency 表示 GPS 信息从移动的车辆上发送到服务器以及车辆导航设备接收到处理后路径这两个时刻之间预期要花费的成本。 NavLatency 的时间单位与由分析对象的 timeUnits 属性指定的单位相同。 | 双精度 |
网络位置字段
| 结合使用这些属性可描述网络中对象所在的点。 |
Routes
指定一个或多个用于描述车辆和驾驶员特征的路径。 路径可以具有开始和结束站点服务时间、固定或灵活的起始时间、基于时间的运行成本、基于距离的运行成本、多个容量、对驾驶员工作时间的各种约束等等。
注:
与其他数据类型(如 Orders 和 Depots)不同,此数据类型是表,不包含任何位置信息。
数据类型支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
Name | 路径的名称。 该字段是主键,在 Orders、Depot Visits 和 RouteSpecialties 类中用作外键。 路径名称区分大小写,而且即使路径不属于求解操作的一部分,路径名称也不能为空。 名称必须唯一。 | 文本 |
StartDepotName | 路径的起始站点名称。 该字段是 Depots 类中 Name 字段的外键。 所有路径必须具有相同的起始站点。 它们可以全部是 Depots 类中指定的同一个位置,也可以全部留空。 起始站点和终止站点可以不同。 如果 StartDepotName 值为空,则路径会将分配的第一个停靠点作为起始点。 车辆的起始位置未知或者与分析问题不相关时,可以忽略起始站点。 如果停靠点或站点跨多个时区,则不允许使用虚拟起始站点。 如果路径正在进行配送并且 StartDepotName 为空,则假设在路径开始前,在一个虚拟站点处进行装货。 | 文本 |
EndDepotName | 路径的终止站点名称。 该字段是 Depots 类中 Name 字段的外键。 所有路径必须具有相同的终止站点。 它们可以全部是 Depots 类中指定的同一个位置,也可以全部留空。 起始站点和终止站点可以不同。 如果路径正在进行接收并且 EndDepotName 为空,则假设在路径结束后船货配送到一个虚拟站点。 | 文本 |
StartDepotServiceTime | 在起始站点的服务时间。 该字段可用于为车辆装货所用的时间建立模型。 该字段可以包含空值;空值表示没有服务时间。 该字段值的单位由分析对象的 timeUnits 属性指定。 起始和结束站点处的服务时间是固定值(StartDepotServiceTime 和 EndDepotServiceTime 字段值),因此不必考虑路径的实际载荷。 例如,在起始站点处装载车辆所花费的时间取决于订单大小。 可为站点服务时间分配与货车满载或货车平均装载对应的值,或者也可以估计时间。 | 双精度 |
EndDepotServiceTime | 在终止站点的服务时间。 该字段可用于为车辆卸货所用的时间建立模型。 该字段可以包含空值;空值表示没有服务时间。 该字段值的单位由分析对象的 timeUnits 属性指定。 起始和结束站点处的服务时间是固定值(StartDepotServiceTime 和 EndDepotServiceTime 字段值),因此不必考虑路径的实际载荷。 例如,在起始站点处装载车辆所花费的时间取决于订单大小。 可为站点服务时间分配与货车满载或货车平均装载对应的值,或者也可以估计时间。 | 双精度 |
EarliestStartDate | 路径允许的最早开始日期。 求解程序将此字段与 EarliestStartTime 字段结合使用,以指示路径应开始的最早日期和时间。 必须设置该字段或分析对象的 earliestRouteStartDate 属性。 如果该字段留空,则会为路径使用 earliestRouteStartDate 属性中设置的默认值。 当使用跨越多个时区的输入时,EarliestStartDate 字段的时区与起始站点所在的边或交汇点的时区相同。 | 仅日期 |
EarliestStartTime | 路径允许的日期的最早开始时间。 求解程序将此字段与 EarliestStartDate 字段结合使用,以指示路径应开始的最早日期和时间。 必须设置该字段或分析对象的 earliestRouteStartTime 属性。 如果该字段留空,则会为路径使用 earliestRouteStartTime 属性中设置的默认值。 当使用跨越多个时区的输入时,EarliestStartTime 字段的时区与起始站点所在的边或交汇点的时区相同。 | 仅时间 |
StartFlexibility | 指定在允许路径开始的最早开始时间之后多久时间。 此值可以是空值、零值(表示开始时间没有灵活性)或可能是正数。 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
ArriveDepartDelay | 将车辆加速到正常行驶速度、减速到停止状态以及离开和进入网络(例如,出入停车场)所需的行驶时间。 通过包含 ArriveDepartDelay 值,可防止求解程序分派多条路径来为完全重合的停靠点提供服务。 该属性的成本是因为对不重合的停靠点和站点进行访问而产生的。 例如,如果路径从站点处开始,然后访问第一个停靠点,则总的到达/离开延迟会计入行驶时间。 这同样适用于从第一个停靠点行驶到第二个停靠点的情况。 如果第二个停靠点与第三个停靠点重合,则不会在它们之间添加 ArriveDepartDelay 值,因为车辆并不需要移动。 例如,在一幢高层建筑物中有五个重合停靠点,而且可通过三条不同的路径来为它们提供服务。 这意味着将产生三个到达/离开延迟;即三名驾驶员需要分别寻找停车位并进入同一栋建筑物。 不过,如果可以通过一条路径来为这些停靠点提供服务,则只有一名驾驶员需要寻找停车位并进入该建筑物,这样只会产生一个到达/离开延迟。 求解器会尝试尽可能降低成本,因此它将尝试限制到达/离开延迟,并确定单一路径选项。 (特殊要求、时间窗或容量等其他约束可能要求发送多条路径。) 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
| 车辆的最大运载量(例如体积、重量或数量)。 如果存在多个装载量,则根据需要使用 Capacity_1 到 Capacity_9 字段进行指定。 输入未指明单位的容量。 例如,如果车辆的最大载重为 40,000 磅,输入 40000。 您需要记住,该值的单位是磅。 确保 Routes 类中的 Capacity_* 字段和 Orders 类中的 DeliveryQuantity_* 字段与 PickupQuantity_* 字段以相同的方式指定。 这些值必须使用相同的单位,并且以相同数字结尾的字段必须彼此对应。 例如,假设 Capacity_4、DeliveryQuantity_4 和 PickupQuantity_4 使用相同的单位描述相同的测量值。 容量不能为负。 空值等同于无穷大。 警告:求解程序仅执行简单的布尔测试来判定是否超出容量。 如果路径的容量值大于或等于装载总量,则将假定货物适宜用该车辆装载。 这可能并不正确,但具体要取决于货物和车辆的实际形状。 例如,求解程序允许将 1000 立方英尺的球形物装到容积为 1000 立方英尺、宽为 8 英尺的货车中。 但实际上由于球形物的直径为 12.6 英尺,所以它无法装到 8 英尺宽的货车中。 | 双精度 |
FixedCost | 仅当解决方案中使用路径(即,路径分配有停靠点)时才产生的固定货币成本。 该字段可以包含空值;空值表示没有固定成本。 该成本是路径总运行成本的一部分。 | 双精度 |
CostPerUnitTime | 路径总持续时间(包括行驶时间以及在停靠点和站点的服务时间和等待时间)中每单位工作时间产生的货币成本。 该字段不能包含空值,其默认值为 1.0。 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
CostPerUnitDistance | 路径长度(总行驶距离)中每单位行驶距离产生的货币成本。 该字段可以包含空值;空值表示成本为零。 该字段值的单位由分析对象的 distanceUnits 属性指定。 | 双精度 |
OvertimeStartTime | 开始计算加班时间之前的规定工作时间。 该字段可以包含空值;空值表示没有加班时间。 例如,如果路径总持续时间超过八小时,要为驾驶员支付加班费,假定时间单位为“分钟”,则 OvertimeStartTime 将被指定为 480(8 小时 * 60 分钟/小时)。 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
CostPerUnitOvertime | 每单位加班工作时间产生的货币成本。 该字段可以包含空值;空值表示 CostPerUnitOvertime 值与 CostPerUnitTime 值相同。 | 双精度 |
MaxOrderCount | 路径上允许的最大停靠点数。 空值表示对路径在一天内可以访问的停靠点数没有约束。 | 长整型 |
MaxTotalTime | 允许的最长路径持续时间。 路径持续时间包括行驶时间以及在停靠点和站点的服务和等待时间。 必须设置该字段或分析对象的 maxRouteTotalTime 属性。 如果该字段留空,则会为路径使用 maxRouteTotalTime 属性中设置的默认值。 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
MaxTotalTravelTime | 路径允许的最长行驶时间。 行驶时间仅包括在网络上行驶花费的时间,不包括服务或等待时间。 该字段可以包含空值;空值表示对允许的最长行驶时间无限制。 该字段值不能大于 MaxTotalTime 字段值。 该字段值的单位由分析对象的 timeUnits 属性指定。 | 双精度 |
MaxTotalDistance | 路径允许的最长行驶距离。 该字段可以包含空值;空值表示对允许的最长行驶距离无限制。 该字段值的单位由分析对象的 distanceUnits 属性指定。 | 双精度 |
ZoneName | 该路径将使用的区域名称用于指定其工作区域。 ZoneName 字段是 Zones 类中 Name 字段的外键。 该字段可以包含空值;空值表示没有用于此路径的路径区。 | 文本 |
IsHardZone | 用来指示按区域配送中的区域是硬性还是软性的布尔值。 值 1 (true) 表示路径区是硬性的;也就是说,路径区面以外的停靠点不能分配给该路径。 这是默认设置。 值 0 (false) 表示在路径区面以外的停靠点仍可进行分配,但是为停靠点提供服务的成本要根据一个函数进行加权得到,该函数基于与路径区的欧氏距离。 随着软性区域到停靠点的直线距离的增加,停靠点被分配给路径的可能性将会降低。 | 长整型 |
AssignmentRule | 指定解决问题时是否可以使用路径。 该字段受到下面所列值的属性域的约束(使用数值代码而非括号中的名称)。
| 长整型 |
Zones
描绘给定路径的工作区域。 路径区属于面要素,用于对路径施加约束,以使路径仅为某一指定区域内或附近的停靠点提供服务。 以下示例说明了路径区非常有用的情况:
- 有些员工不具备在某些州或社区执行工作所需的权限。 此时,您可以创建一个硬性路径区,使他们只能访问他们满足相应要求的区域中的停靠点。
- 您其中的一辆车经常出现故障,所以您希望使其仅访问离汽车修理厂很近的停靠点,从而尽可能缩短响应时间。 此时,您可以创建一个软性或硬性路径区,使该车在附近行驶。
数据类型支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
Name | 区域的名称。 名称区分大小写,不得为空且必须唯一。 该字段是主键,在 Routes 类中用作外键。 多条路径可以共享同一个区域。 | 文本 |
OrderSpecialties
OrderSpecialties 和 RouteSpecialties 类列出了受路径支持且为停靠点所需的特殊要求。 仅当路径支持某停靠点所需的所有特殊要求时,该路径才能为此停靠点提供服务。
例如,停靠点可能需要一位具有多种特定技能的技术人员或者一辆具有特定功能的货车。 通过将这些技能和功能等添加到“停靠点特殊要求”表中来为它们建立模型。 接下来,将路径所支持的特殊要求添加到 RouteSpecialties 中。 对分析进行求解时,需要某些特殊要求的停靠点会与提供了这些特殊要求的路径进行匹配。
OrderSpecialties 类支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
OrderName | 停靠点的名称。 此字段的值对应于 Orders 输入类中停靠点的 Name 字段值。 | 文本 |
SpecialtyName | 特殊要求的名称。 指示停靠点所需的特殊要求。 每行仅列出一个特殊要求。 如果停靠点需要多个特殊要求,则新建一行。 特殊要求名称区分大小写,并且不得为空。 特殊要求名称不能包含空格。 例如,应将高级技术人员特殊要求输入为 SeniorTechnician。 | 文本 |
RouteSpecialties
OrderSpecialties 和 RouteSpecialties 类列出了受路径支持且为停靠点所需的特殊要求。 仅当路径支持某停靠点所需的所有特殊要求时,该路径才能为此停靠点提供服务。
例如,停靠点可能需要一位具有多种特定技能的技术人员或者一辆具有特定功能的货车。 通过将这些技能和功能等添加到“停靠点特殊要求”表中来为它们建立模型。 接下来,将路径所支持的特殊要求添加到 RouteSpecialties 中。 对分析进行求解时,需要某些特殊要求的停靠点会与提供了这些特殊要求的路径进行匹配。
RouteSpecialties 类支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
RouteName | 路径的名称。 此字段的值对应于 Routes 输入类中路径的 Name 字段值。 | 文本 |
SpecialtyName | 特殊要求的名称。 指示路径支持的特殊要求。 每行仅列出一个特殊要求。 如果路径支持多个特殊要求,则新建一行。 特殊要求名称区分大小写,并且不得为空。 特殊要求名称不能包含空格。 例如,应将高级技术人员特殊要求输入为 SeniorTechnician。 | 文本 |
PointBarriers
使用此参数可指定一个或多个点作为临时限制,或表示在基础街道上行驶可能需要的附加时间或距离。 例如,点障碍可用来显示一棵沿街倒下的树或是铁路道口上的时间延迟。
数据类型支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
Name | 障碍名称。 | 文本 |
BarrierType | 指定点障碍是完全限制通行还是增加通过障碍时的时间或距离。 此特性值可指定为以下整数之一(请使用数值代码而非括号中的名称):
| 长整型 |
Additional_Time | 遍历障碍时增加的行驶时间。 该字段值必须大于或等于零,并且值将以 timeUnits 属性指定的单位进行解释。 | 双精度 |
Additional_Distance | 遍历障碍时增加的距离。 该字段值必须大于或等于零,并且值将以 distanceUnits 属性指定的单位进行解释。 | 双精度 |
AdditionalCost | 遍历障碍时增加的成本。 该字段值必须大于或等于零,并且值将以未知单位进行解释。 | 双精度 |
FullEdge | 指定分析期间如何将限制点障碍应用于边元素。 该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
| 长整型 |
CurbApproach | 指定受障碍影响的行驶方向。 该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
由于交汇点是点且不分左右侧,所以无论路边通道如何设置,交汇点上的障碍都会影响所有车辆。 | 长整型 |
Bearing | 点移动的方向。 单位为度,从正北开始沿顺时针方向进行测量。 该字段与 BearingTol 字段结合使用。 方位角数据通常会从配有 GPS 接收器的移动设备自动发送。 如果正在加载移动输入位置(例如行人或车辆),请尝试包括方位角数据。 使用该字段可以防止将位置添加到错误的边上,例如,车辆刚好在交叉路口或天桥附近时。 方位角也可帮助工具确定点在街道的哪一边上。 | 双精度 |
BearingTol | 使用 Bearing 字段在边上定位移动点时,方位角容差值将创建一个可接受方位角值的范围。 如果 Bearing 字段值在可接受值范围(由边上的方位角容差生成)内,则可以将该点作为网络位置添加在此处,否则,将计算下一个最近边上的最近点。 单位为度,默认值为 30。 值必须大于 0 且小于 180。 值为 30 表示,Network Analyst 尝试在边上添加网络位置时,在边的每一侧(左侧和右侧)的两个数字化方向上都将生成一个 15 度的可接受方位角值。 | 双精度 |
NavLatency | 如果 Bearing 和 BearingTol 也具有值,则该字段只在求解过程中使用;但是,即使当 Bearing 和 BearingTolNavLatency 字段中有值时,NavLatency 值的输入也是可选的。NavLatency 表示 GPS 信息从移动的车辆上发送到服务器以及车辆导航设备接收到处理后路径这两个时刻之间预期要花费的成本。 NavLatency 的时间单位与由分析对象的 timeUnits 属性指定的单位相同。 | 双精度 |
网络位置字段
| 结合使用这些属性可描述网络中对象所在的点。 |
LineBarriers
使用此参数可指定一条或多条线,用于禁止在线与街道相交的位置通行。 例如,线障碍可用于对阻塞若干个路段交通的游行或抗议队伍进行建模。 线障碍还可隔离多条道路以禁止进行遍历,从而在可能的路径中去除不符合要求的街道网络部分。
数据类型支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
Name | 障碍名称。 | 文本 |
BarrierType | 指定障碍是完全禁止通行还是按比例调整穿过成本(例如时间或距离)。 该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
| 长整型 |
ScaledTimeFactor | 它是与障碍相交街道的行驶时间要乘以的因子。 该字段值必须大于零。 | 双精度 |
ScaledDistanceFactor | 它是与障碍相交街道的距离要乘以的因子。 该字段值必须大于零。 | 双精度 |
ScaledCostFactor | 这是与障碍相交的街道的成本要乘以的系数。 该字段值必须大于零。 | 双精度 |
Locations | 此字段中的信息将定义线或面覆盖的网络边和交汇点,以及覆盖的每个边元素部分。您无法直接读取或编辑此字段中包含的信息,但是在求解分析时,Network Analyst 将对其进行解释。 | Blob |
PolygonBarriers
使用此参数可指定面,用于完全限制通行或按比例调整行驶在面相交的街道上所需的行驶时间或距离。
数据类型支持以下字段:
字段 | 描述 | 数据类型 |
---|---|---|
Name | 障碍名称。 | 文本 |
BarrierType | 指定障碍是完全禁止通行还是按比例调整穿过成本(例如时间或距离)。 该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
| 长整型 |
ScaledTimeFactor | 它是与障碍相交街道的行驶时间要乘以的因子。 该字段值必须大于零。 | 双精度 |
ScaledDistanceFactor | 它是与障碍相交街道的距离要乘以的因子。 该字段值必须大于零。 | 双精度 |
ScaledCostFactor | 这是与障碍相交的街道的成本要乘以的系数。 该字段值必须大于零。 | 双精度 |
Locations | 此字段中的信息将定义线或面覆盖的网络边和交汇点,以及覆盖的每个边元素部分。您无法直接读取或编辑此字段中包含的信息,但是在求解分析时,Network Analyst 将对其进行解释。 | Blob |