路径分析
求解路径分析表示根据要求解的阻抗查找最快、最短甚至是最优的路径。如果阻抗是时间,则最佳路线即为最快路线。如果阻抗是具有实时或历史流量的时间属性,则最佳路径是对指定日期和时间来说最快的路径。因此,可将最佳路径定义为阻抗最低或成本最低的路径,其中,阻抗由您来选择。确定最佳路径时,所有成本属性均可用作阻抗。
可在路径分析中累积任意多个阻抗属性,但累积属性不会对沿网络计算路径造成任何影响。例如,如果选择时间成本属性作为阻抗属性,并且希望累积距离成本属性,最终仅会使用时间成本属性来优化解。求解过程中将累积并报告总距离,但此例中的路径并不是根据距离计算得出的。
查找通过一系列停靠点的最佳路径将遵照与执行其他网络分析相同的工作流。
路径分析图层
路径分析图层将存储路径分析的所有输入、参数和结果。
创建路径分析图层
要通过 Network Analyst 工具条创建路径分析图层,可以单击 Network Analyst > 新建路径。
创建新的路径分析图层后,该图层即会与它的五个网络分析类(停靠点、路径、点障碍、线障碍和面障碍)一起显示在 Network Analyst 窗口中。
路径分析图层也会以名为“路径”的复合图层显示在内容列表 中(如果地图文档中已经存在名称相同的路径,则会以路径 1、路径 2 等显示)。存在五种要素图层 - 停靠点、路径、点障碍、线障碍和面障碍。其中的每个要素图层都有默认的符号系统,您可在图层属性 对话框中对这些默认的符号系统进行修改。
路径分析类
路径分析图层由五种网络分析类组成。
下面各部分概述了每个类及其属性。
停靠点类
该网络分析类用于存储路径分析中用作停靠点的网络位置。“停靠点”图层包含四种默认符号:已定位停靠点、未定位停靠点、有错误的停靠点和有时间冲突的停靠点。您可以在图层属性 对话框中修改“停靠点”图层的符号系统,此对话框中包含停靠点的自定义符号系统类别,它位于 Network Analyst > 序列化的点中。
创建新的路径分析图层后,“停靠点”类为空。仅当将网络位置添加到该类后,它才不为空。创建路径至少需要两个停靠点。
停靠点属性
一些停靠点属性仅在定义起始时间或启用时间窗后才可用,其中,起始时间和时间窗均是路径分析图层的图层属性 对话框的分析设置选项卡中的参数。
输入字段 |
描述 |
---|---|
ObjectID |
系统管理的 ID 字段。 |
形状 |
指示网络分析对象地理位置的几何字段。 |
名称 |
网络分析对象的名称。 向地图添加停靠点后将自动为其分配名称,并且可以对该名称进行编辑。 |
RouteName |
它表示停靠点所属路径的名称。通过使用该属性,可将单个路径分析图层中的停靠点分配给多个路径。
|
TimeWindowStart |
该属性存储了对网络位置的最早访问时间。 如果将 TimeWindowStart 设置为 10:00 AM,路径在 9:50 AM 到达停靠点,则需要将 10 分钟的等待时间添加到总时间中。 如果网络数据集有时区属性,则时间字段将引用与停靠点所在的边相同的时区。 该属性仅在对网络分析图层启用时间窗时可用。 |
TimeWindowEnd |
该属性存储了对网络位置的最晚访问时间。 TimeWindowStart 和 TimeWindowEnd 属性共同组成了路径可访问网络位置的时间窗。 如果位置的 TimeWindowEnd 值是 11:00 AM,而路径可到达停靠点的最早时间是 11:25 AM,则记录下 25 分钟的冲突。此外,将对停靠点进行符号化处理以显示这一位置具有时间窗冲突。 如果网络数据集有时区属性,则时间字段将引用与停靠点所在的边相同的时区。 该属性仅在对网络分析图层启用时间窗时可用。 |
Attr_[阻抗] (例如,Attr_Minutes,其中 Minutes 是网络的阻抗) |
该属性指定了路径访问网络位置所花费的时间;也就是说,它存储了网络位置的阻抗值。零值或空值表示网络位置不需要任何服务时间。 例如,如果您要通过将 Drivetime 作为阻抗来查找通过三个停靠点的最佳路径,则可以使用属性 Attr_Drivetime 存储您希望在每个停靠点处所花费的时间。如果从停靠点 1 开始,10 分钟后到达停靠点 2,在停靠点 2 处花费 10 分钟后,又经过 10 分钟到达停靠点 3,那么即使到达停靠点 3 的行程只需要 20 分钟,到达停靠点 3 的总时间也会显示为 30 分钟 (10 + 10 + 10)。 |
网络位置字段
|
结合使用这四种属性可描述网络中对象所在的点。 |
CurbApproach |
CurbApproach 属性指定了车辆到达和离开网络位置的方向。有四种选择(它们的编码值显示在括号中):
|
输入/输出字段 |
描述 |
---|---|
Sequence |
作为输入字段,该数字表示访问停靠点的顺序。在路径中,序号应大于 0,但不得大于停靠点的最大数量。而且,序号不应重复。如果未选中分析图层参数重新排序停靠点以查找最佳路径,则生成的路径会以指定顺序访问停靠点。 如果允许求解程序对停靠点进行重新排序,则会找出最佳顺序,并会在求解过程中对该顺序进行更新。 更改顺序值的推荐方法是在 Network Analyst 窗口中将停靠点拖动到其他停靠点的上方或下方。 提示: 假设您想加载要素类到“停靠点”并应用带有预定义值的属性,以自动指定停靠点顺序。由于 加载位置 对话框和 添加位置 地理处理工具都禁止将字段从您的输入映射到“停靠点”的“顺序”字段,因此您需要不同的方法。推荐方法是将您的输入要素类中的顺序字段指定为加载过程中的排序字段。此操作将会按照您在属性表中预定义的顺序来排序要素,然后加载。 |
状态 |
该字段受到下面列出的值的属性域(括号中是它们的编码值)的约束。
执行求解操作后,可以使用以下任一状态值修改状态:
如果使用了时间窗,并且提前或延后到达,则值将更改为时间窗冲突 (6)。 |
输出字段 |
描述 |
---|---|
ArriveCurbApproach |
指示在车辆到达网络位置时停靠点位于车辆哪一侧。如果将网络位置的 CurbApproach 值设置为“车辆的右侧”,则求解后的 ArriveCurbApproach 是“车辆的右侧”。但是,如果将 CurbApproach 值设置为“车辆的任意一侧”或“禁止 U 形转弯”,则将“车辆的右侧”还是“车辆的左侧”作为 ArriveCurbApproach 的值取决于使用哪个值可生成最短路径。 |
DepartCurbApproach |
指示在车辆离开网络位置时停靠点位于车辆哪一侧。如果将网络位置的 CurbApproach 值设置为“车辆的右侧”,则求解后的 DepartCurbApproach 是“车辆的右侧”。但是,如果将 CurbApproach 值设置为“车辆的任意一侧”或“禁止 U 形转弯”,则将“车辆的右侧”还是“车辆的左侧”作为 DepartCurbApproach 的值取决于使用哪个值可生成最短路径。 |
Cumul_[阻抗] (例如,Cumul_Minutes,其中 Minutes 是网络的阻抗) |
该属性是到达停靠点所遇到的总阻抗。其中包括行驶到停靠点的过程中发生的阻抗、停靠点的阻抗以及所有先前停靠点的阻抗。 在上述输入属性 Attr_[阻抗] 的示例中,停靠点 2 的 Cumul_Drivetime 为 20 分钟(10 分钟行程时间 + 在停靠点 2 处花费的 10 分钟),停靠点 3 的 Cumul_Drivetime 为 30 分钟(停靠点 2 的 Cumul_Drivetime 的 20 分钟加上从停靠点 2 到停靠点 3 的行程时间 10 分钟)。 |
Wait_[阻抗] (例如,Wait_Minutes,其中 Minutes 是网络的阻抗) |
该属性存储路径提前到达时等待时间窗打开 (TimeWindowStart) 所花费的时间。 该属性仅在对网络分析图层启用时间窗时可用。 |
CumulWait_[阻抗] (例如,CumulWait_Minutes,其中 Minutes 是网络的阻抗) |
该属性存储等待时间窗打开 (TimeWindowStart) 所花费的时间总和。其中包括路径访问当前停靠点和所有先前停靠点所花费的等待时间。 该属性仅在对网络分析图层启用时间窗时可用。 |
Violation_[阻抗] |
该属性用于测量在时间窗关闭 (TimeWindowEnd) 之后路径到达的迟到时间。确切地说,它存储时间窗终止时与路径到达之间的时间间隔。 该属性仅在对网络分析图层启用时间窗时可用。 |
CumulViolation_[阻抗] |
该属性存储路径访问当前停靠点和所有先前停靠点时的累积冲突时间(Violation_[阻抗])。 该属性仅在对网络分析图层启用时间窗时可用。 |
ArriveTime | 指示到达停靠点的“日期和时间”值。 使用跨越多个时区的流量数据时,该时刻的时区将采用停靠点所处的网络元素所在时区。 |
DepartTime | 指示离开停靠点的“日期和时间”值。 使用跨越多个时区的流量数据时,该时刻的时区将采用停靠点所处的网络元素所在时区。 |
- “停靠点”类中的时间字段可以包含“仅时间”值或“日期和时间”值。如果时间字段(如 TimeWindowStart)具有“仅时间”值(例如 8:00 AM),则会忽略日期。使用日期和时间(例如 7/11/2010 8:00 AM)可用于指定持续多天的时间窗。
- 时间窗仅表明车辆何时到达停靠点,而不表明 Attr_[阻抗] 何时结束。为了算入服务时间并在时间窗关闭前离开,请从 TimeWindowEnd 字段的值中减去 Attr_[阻抗] 的值。
路径类
路径类存储通过分析生成的路径。与其他要素图层相同,它的符号系统也可通过图层属性对话框进行访问和更改。
路径类是一个“仅输出”类,只有分析完成后它才不为空。找到最佳路径后,即会在网路分析 窗口中显示该路径。
路径属性
输出字段 |
描述 |
---|---|
ObjectID |
系统管理的 ID 字段。 |
名称 |
求解路径图层完成后将自动分配路径名称,命名方法是读取“停靠点”类的 RouteName 属性值;而如果该属性值为空,则可以通过合并路径中第一个停靠点的名称和最后一个停靠点的名称(例如,Graphic Pick 1 – Graphic Pick 8)来命名。您可以在 Network Analyst 窗口中重命名路径。 |
FirstStopID |
路径中第一个停靠点的 ObjectID。 |
LastStopID |
路径中最后一个停靠点的 ObjectID。 |
StopCount |
路径访问过的停靠点数。 |
Total_[阻抗] (例如,Total_Minutes,其中 Minutes 是网络的阻抗) |
从第一个停靠点的开始到最后一个停靠点的结束的总阻抗。该值中包含总行驶阻抗和已访问停靠点的 Attr_[阻抗]。 |
TotalWait_[阻抗] (例如,TotalWait_Minutes,其中 Minutes 是网络的阻抗) |
该属性存储路径的总等待时间,即在停靠点处等待时间窗打开所花费的时间。 该属性仅在对网络分析图层启用时间窗时可用。 |
TotalViolation_[阻抗] (例如,TotalViolation_Minutes,其中 Minutes 是网络的阻抗) |
该属性存储路径中停靠点处的总冲突时间。如果路径在时间窗关闭之后到达停靠点,则将添加冲突时间,即为 ArriveTime 与 TimeWindowEnd 之间的差值。 该属性仅在对网络分析图层启用时间窗时可用。 |
StartTime |
路径开始时间。 该属性仅在对网络分析图层启用时间窗时可用。 |
EndTime |
路径完成时间。 该属性仅在对网络分析图层启用时间窗时可用。 |
点障碍、线障碍和面障碍
障碍用于临时限制网络各部分、向网络各部分添加阻抗以及调整网络各部分的阻抗大小。创建新的网络分析图层时,“障碍”类为空。只有将对象添加到该类后,它们才不会为空 - 但不需要添加障碍。
障碍可用于所有网络分析图层;因此,将在一个单独的主题中对其进行介绍。
路径分析参数
可在分析图层的图层属性 对话框中设置分析参数。可通过不同的方式来访问该对话框:
“分析设置”选项卡
以下各小节列出了可为分析图层设置的参数。这些参数可在分析图层的图层属性 对话框的分析设置选项卡中找到。
限制
可以选择在求解分析时应遵守的限制属性。在大多数情况下,限制会使道路被禁止选择,但限制也可以使道路被避免选择或优先选择。为必须遵守单行道规则的车辆(例如,非紧急车辆)查找解决方案时,应使用“单向”等限制属性。其他常见限制属性包括:禁止某些车辆穿过特定道路或桥的高度或重量限制;要求危险品司机需要完全绕道或至少尽量避免的危险材料限制;及货车司机应该遵循的指定货车路线。可以选择在求解分析时应遵守的限制属性。(您可以进一步在属性参数选项卡中指定是否应该禁止、避免或首选使用限制条件的元素。)
使用开始时间
可以将使用开始时间与时间和具体日期或星期属性结合使用,来指定路径从第一个停靠点开始的时间。并且,如果您在任何日期/时间属性(例如时间窗口属性)中为路径分析指定了“仅时间”值,则将假设日期是您为具体日期或星期设置的日期。
请注意,指定开始时间不需要流量数据;但是,如果网络数据集包括流量数据,分析结果将会更加精确。也就是说,系统将会针对您设置的开始日期和时间来计算结果。例如,与非高峰时段相比,路径在高峰时段需要花费更长时间。此外,最佳路径会根据当时的交通状况发生变化。
当使用以起始时间为基础的阻抗时,求解程序输出的路径要素具有 StartTime 和 EndTime 属性。StartTime 值将与路径分析图层的使用开始时间设置中输入的值匹配。EndTime 值将通过路径的开始时间和持续时间计算得出。方向生成后,方向 窗口会显示起始和结束时间。
当使用以起始时间为基础的阻抗时,路径分析中的“停靠点”具有 ArriveTime 和 DepartTime 属性。如果您还选择了在方向选项 对话框中显示“时间”列,则停靠点的到达和离开时间将会出现在方向 窗口中。事实上,方向 窗口中的全部指令都将显示时间。
时间
在此输入的值表示您要开始执行路径的时间。时间的默认值为 8:00 AM。
时间必须与日期相关联。可以选择输入浮动日期(星期)或日历日期(具体日期)。
具体日期
对于日历日期,您需要输入与时间值相关联的年、月和日。
星期
对于浮动日期,可以选择相对于当前日期的今天或一周中的任意一天(星期日到星期六)。浮动日期用于配置可以重复使用的分析图层,而无需记得要更改日期。
使用流量数据时,浮动日期特别有用,因为流量时时刻刻都在变化。例如,如果您每天计算相同路径并且需要表示交通状况的精确时间或最佳路径,则可以选择星期和今天设置。求解程序将会根据当天的流量生成结果,当天的流量由您的计算机操作系统决定。如果您返回下一天(例如 5 月 5 号)以更新当天的路径,则可以重新求解同一分析图层。由于星期被设置为今天,解将会自动参照 5 月 5 日的交通情况。
同样,如果选择星期属性中的星期一,然后进行求解,则将基于从当日到下一个星期一的预测流量得出解。但是,如果今天是“星期一”,则将使用今天的流量数据得出解。可以对相对于当前时间的前六天进行求解。
与流量数据和时区共同使用开始时间
如果使用流量数据,则开始时间将引用第一个停靠点所在边或交汇点的时区。存在一种可能导致求解失败的情况,即预先未确定时区。如果停靠点跨越多个时区并且选中了重新排序停靠点以查找最佳路径而不保留第一个停靠点,则将发生这种情况。可通过预分配第一个停靠点来避免此类失败的发生。
应用时间窗
如果只能在特定时间段访问停靠点,则可将该停靠点的时间窗存储在网络位置(停靠点)的 TimeWindowStart 和 TimeWindowEnd 属性中。通过此复选框可启用或禁用那些时间窗的使用。如果启用了时间窗,则会修改路径以使其支持时间窗。如果路径不支持某些时间窗,则会将受影响的停靠点符号化为时间窗冲突。
重新排序停靠点以查找最佳路径
默认情况下,路径将按照您定义的顺序遍历各停靠点。但是,可能会通过 Network Analyst 查找最佳顺序来进一步缩短路径。该操作将对各种变量(例如,时间窗)予以考虑。您还可以选择在通过 Network Analyst 对中途的停靠点进行重新排序时,保留起始点和目的地。
选中该属性后,路径分析将由最短路径问题变为流动推销员问题 (TSP)。
交汇点的 U 形转弯
Network Analyst 允许在任何位置、仅在死角(或死胡同 (cul-de-sac))或者仅在交点和死角处出现 U 形转弯,也可禁止在任何位置出现 U 形转弯。允许 U 形转弯表示车辆可以在交汇点处转向并沿同一街道往回行驶。
输出 Shape 类型
可以采用四种方法之一表示分析输出的路径要素。
无论选择何种输出 shape 类型,最佳路径始终由网络阻抗(而非欧氏距离)决定。这表示只是路径形状不同,而对网络进行的基础遍历则相同。
- 实际形状提供了生成路径的精确形状。
- 具有测量值的实际形状提供了生成路径的精确形状。而且,输出还包括线性参考的路径测量值。测量值从第一个停靠点增加并记录累积阻抗。
- 直线会在两个停靠点之间生成一条直线。
- 当输出 shape 类型设置为无时,将不返回任何形状。
应用等级
如果网络数据集具有等级属性,则可在分析时使用该等级。使用等级的结果是,求解程序更偏好高等级的边而不是低等级的边。分等级求解的速度更快,并且可以用于模拟驾驶员对在高速公路(而非地方道路)上行驶的偏好,即使这意味着行程更远。但是,如果不使用等级,则会为网络数据集生成精确的路线。
忽略无效的位置
该属性用于忽略无效的网络位置而仅通过有效的网络位置来求解分析图层。如果未选中该选项并且网络位置未定位,则求解操作可能会失败。无论在哪种情况下,分析都会忽略无效的位置。
方向
使用方向属性,可以设置距离和时间(如果具有时间属性)的显示单位。此外,还可以选择路线后生成自动打开方向信息。(如果未选择自动显示方向,可在 Network Analyst 工具条上单击方向窗口按钮 来显示方向。)
累积选项卡
在累积选项卡中,可以选择网络数据集中要对路径对象进行累积的成本属性。这些累积属性仅供参考;求解程序仅使用分析图层的阻抗参数所指定的成本属性来计算路径。
对于每个累积的成本属性,均会向求解程序所输出的路径中添加一个 Total_[阻抗] 属性,其中 [阻抗] 由累积的阻抗属性名称替代。
假设您将阻抗属性设置为“Minutes”,因为您要找出能够实现最短行驶时间的路径。即使您正在使用行驶时间求解,您可能也想了解最快路径的长度。假设您在“累积”选项卡上选中了另一个成本属性“Miles”。求解后,输出路线要素会具有名为 Total_Minutes 和 Total_Miles 的属性。
相反,您可以找出最短路线并累积行驶时间,以确定何时路线会到达其停靠点以及完成行程要花费多长时间。如果您具有启用流量的网络数据集,甚至可以找到有关具体时间的信息并对不同的行驶速度做出解释。为此,请为分析图层的阻抗选择基于距离的成本属性,使用开始时间,并累积与时间相关的成本属性。
方向
在 ArcMap 中,路径分析生成路径后,即可显示方向信息。
要显示方向,请在 Network Analyst 工具条上单击方向窗口按钮 。
- 方向窗口 可显示带有阻抗的转弯方向和转弯详图。
- 如果将阻抗设置为时间,则方向窗口 将显示每段路径花费的时间。此外,方向窗口 还可以显示每段路径的长度。
- 如果路径支持时间窗,则方向窗口 将显示 Attr_[时间] 和 Wait_[时间] 属性。但是,不支持 Violation_[时间] 和 Attr_[长度] 属性。