OD 成本矩阵分析
OD 成本矩阵用于查找和测量网络中从多个起始点到多个目的地的最小成本路径。配置 OD 成本矩阵分析时,可以指定要查找的目的地数和要搜索的最大距离。
在下图中,OD 成本矩阵找到了从每个起始点到四个最近的目的地的最小成本路径。输出 shape 类型被设置为生成直线。
尽管 OD 成本矩阵求解程序不输出沿网络的线,但是存储在“线”属性表中的值却反映了网络距离,而不是直线距离。
最近设施点求解程序和 OD 成本矩阵求解程序所执行的分析非常相似;但两者的主要区别在于输出和计算速度不同。OD 成本矩阵可以更快地生成分析结果,但无法返回路径的实际形状或其驾车指示。OD 成本矩阵用于快速解决大型 M x N 问题,因此,矩阵内部不包含生成路径形状和驾车指示所需的信息。而最近设施点求解程序则能够返回路径和指示,但在分析速度方面却比 OD 成本矩阵求解程序要慢。如果需要路径的驾车指示或实际形状,请使用最近设施点求解程序;否则,请使用 OD 成本矩阵,以便减少计算时间。
如果查找直线距离更符合实际需要,请考虑使用点距离地理处理工具。
OD 成本矩阵分析的结果通常会成为其他空间分析的输入,在这些空间分析中,网络成本比直线成本更适合分析。例如,预测建成区的人员流动更适合采用网络成本模型,因为人们一般只在道路和人行道上行走。
创建 OD 成本矩阵时所遵照的工作流与其他网络分析相同。
OD 成本矩阵分析图层
OD 成本矩阵分析图层存储了 OD 成本矩阵分析的所有输入、参数和结果。
创建 OD 成本矩阵分析图层
可以通过单击 Network Analyst 工具条中的 Network Analyst > 新建 OD 成本矩阵来创建 OD 成本矩阵分析图层。
创建了 OD 成本矩阵分析图层后,该图层将与其六个网络分析类一起出现在 Network Analyst 窗口中:起始点、目的地点、线、点障碍、线障碍和面障碍。
OD 成本矩阵分析图层还将作为复合图层显示在内容列表中,名为 OD 成本矩阵,如果地图文档中已存在同名的 OD 成本矩阵图层,该分析图层的名称将为 OD 成本矩阵 1(后续图层将称为 OD 成本矩阵 2,依此类推)。同时存在六个要素图层 - 起始点、目的地点、线、点障碍、线障碍和面障碍。其中的每个要素图层都有默认的符号系统,您可在图层属性 对话框中对这些默认的符号系统进行修改。
OD 成本矩阵分析类
OD 成本矩阵分析图层由六个网络分析类组成。
下面各部分概述了每个类及其属性。
起始点类
此网络分析类存储了在生成指向目的地点的路径时被用作起始点的网络位置。
创建 OD 成本矩阵分析图层时,“起始点”类为空。 仅当在该类中添加了所需的起始网络位置后,它才不为空。要求解某个分析,至少需要一个起始点和一个目的地。
起始点属性
输入字段 |
描述 |
---|---|
ObjectID |
系统管理的 ID 字段。 |
形状 |
指示网络分析对象地理位置的几何字段。 |
名称 |
网络分析对象的名称。 |
TargetDestinationCount |
该属性存储了必须为起始点查找到的目的地数。如果该属性的值为空,分析将使用分析图层的图层属性对话框中分析设置选项卡上所指定的要查找的目的地数。 |
Cutoff_[阻抗] (例如,Cutoff_DriveTime,其中 DriveTime 是网络的阻抗) |
该属性可用于限制 OD 成本矩阵在多远的距离范围内搜索目的地。中断值以外的目的地将不予考虑。 如果没有为起始点设置 Cutoff_[阻抗],分析将使用图层属性 对话框中分析设置选项卡上所设置的默认中断值。如果此处也没有设置中断值,那么分析将使用所有的目的地点。 |
网络位置字段
|
结合使用这四种属性可描述网络中对象所在的点。 |
CurbApproach |
该属性用于指定在车辆离开时您希望起始点位于车辆的哪一侧。如果分析要求车辆只从一侧离开起始点,则可使用值车辆的右侧 (1) 或车辆的左侧 (2)。如果允许车辆从任意一侧离开,则可使用车辆的任意一侧 (0)。 在 OD 成本矩阵中,值禁止 U 形转弯 (3) 的作用与车辆的任意一侧相同。 |
输入/输出字段 |
描述 |
---|---|
状态 |
该字段受到下面列出的值的属性域(括号中是它们的编码值)的约束。
执行求解操作后,可以使用以下任一状态值修改状态:
|
目的地类
此网络分析类存储了在生成从起始点出发的路径时被用作终点的目的地网络位置。
创建 OD 成本矩阵分析图层时,“目的地”类为空。仅当向该类中添加了网络位置后,它才不为空。要求解某个分析,至少需要一个起始点和一个目的地。
目的地属性
输入字段 |
描述 |
---|---|
ObjectID |
系统管理的 ID 字段。 |
形状 |
指示网络分析对象地理位置的几何字段。 |
名称 |
网络分析对象的名称。 |
网络位置字段
|
结合使用这四种属性可描述网络中对象所在的点。 |
CurbApproach |
该属性用于指定在车辆到达时您希望目的地位于车辆的哪一侧。如果分析要求车辆只从一侧到达目的地,则可使用值车辆的右侧 (1) 或车辆的左侧 (2)。如果允许车辆从任意一侧到达,则可使用车辆的任意一侧 (0)。 在 OD 成本矩阵中,值禁止 U 形转弯 (3) 的作用与车辆的任意一侧相同。 |
输入/输出字段 |
描述 |
---|---|
状态 |
该字段受到下面列出的值的属性域(括号中是它们的编码值)的约束。
执行求解操作后,可以使用以下任一状态值修改状态:
|
线类
“线”网络分析类用于存储从起始点到目的地的最终路径的相关信息。与其他要素图层相同,它的符号系统也可通过图层属性对话框进行访问和更改。
线类是一个“仅输出”类,只有分析完成后它才不为空。由于 OD 成本矩阵分析往往会生成许多线,因此在 Network Analyst 窗口不显示线对象,而只显示线的数目。您可以在“线”要素类的属性表中查看各条线。
当您选择在 OD 成本矩阵分析图层中显示线时,它们将显示为直线。这些线已经进行了概化。但是,线的成本属性总是报告最小成本网络 路径。
线属性
输出字段 |
描述 |
---|---|
ObjectID |
系统管理的 ID 字段。 |
形状 |
指示网络分析对象地理位置的几何字段。 |
名称 |
网络分析对象的名称。 |
OriginID |
与线关联的起始点的唯一 ID。 |
DestinationID |
与线关联的目的地的唯一 ID。 |
DestinationRank |
为关联起始点找到的所有目的地中各目的地的等级。离起始点最近的目的地的等级为 1。 |
Total_[阻抗] (例如,Total_Minutes,其中 Minutes 是网络的阻抗) |
在关联起始点和目的地之间沿网络行驶的累积成本。该字段针对阻抗属性和所有累积属性而生成。 |
点障碍、线障碍和面障碍
障碍用于临时限制网络各部分、向网络各部分添加阻抗以及调整网络各部分的阻抗大小。创建新的网络分析图层时,“障碍”类为空。只有将对象添加到该类后,它们才不会为空 - 但不需要添加障碍。
障碍可用于所有网络分析图层;因此,将在一个单独的主题中对其进行介绍。
OD 成本矩阵分析参数
可在分析图层的图层属性 对话框中设置分析参数。可通过不同的方式来访问该对话框:
“分析设置”选项卡
以下各小节列出了可为分析图层设置的参数。这些参数可在分析图层的图层属性 对话框的分析设置选项卡中找到。
阻抗
可将任何成本属性选作阻抗,在确定起始点和目的地之间的路径时会使这些成本属性最小化。例如,选择“Minutes”属性将会获得从起始点到目的地的速度最快的路径。
通过选择启用流量的成本属性并在使用开始时间下指定时间和日期(或天),生成的成本矩阵会考虑该时间和日期的可变流量速度。
限制
可以选择在求解分析时应遵守的限制属性。在大多数情况下,限制会使道路被禁止选择,但限制也可以使道路被避免选择或优先选择。为必须遵守单行道规则的车辆(例如,非紧急车辆)查找解决方案时,应使用“单向”等限制属性。其他常见限制属性包括:禁止某些车辆穿过特定道路或桥的高度或重量限制;要求危险品司机需要完全绕道或至少尽量避免的危险材料限制;及货车司机应该遵循的指定货车路线。可以选择在求解分析时应遵守的限制属性。(您可以进一步在属性参数选项卡中指定是否应该禁止、避免或首选使用限制条件的元素。)
使用开始时间
可以将使用开始时间与时间和星期或具体日期属性结合使用来指定起始点的开始时间。
请注意,指定开始时间不需要启用流量的成本属性;但是,如果网络数据集包括流量数据,求解程序将创建时间相关 OD 成本矩阵。这样便可以查看不同开始时间下单个行驶时间和整个行驶时间随流量变化的情况。
时间
在此输入的值表示希望分析从其起始点开始运行的时间。
在时间中指定的时间必须与日期相关联。可以选择输入浮动日期(星期)或日历日期(具体日期)。
具体日期
对于日历日期,您需要输入与时间值相关联的年、月和日。
星期
对于浮动日期,可以选择相对于当前日期的今天或一周中的任意一天(星期日到星期六)。浮动日期用于配置可以重复使用的分析图层,而无需记得要更改日期。
选择星期时,可以相对于当前时间的前六天进行求解。
与流量数据和时区共同使用开始时间
如果使用以时间为基础的阻抗属性或累积属性,则开始/结束时间和日期将参考起始点所在边或交汇点的时区。
请注意,跨越多个时区对分析进行求解且使用以时间为基础的阻抗属性时,所有的起始点必须处于同一时区。
默认中断值
查找目的地时,Network Analyst 可以使用阻抗的默认中断值。中断值以外的所有目的地都将被忽略。
各个起始点可具有自己的中断值,这些中断值将覆盖默认中断值。在起始点的 Cutoff_[阻抗] 属性中输入非空值会覆盖默认值。
要查找的目的地
您可以选择生成一个从各个起始点到所有目的地的成本矩阵。或者,通过在要查找的目的地中输入值,可限制每个起始点要查找的目的地数量。
各个起始点可具有自己的值,这些值会覆盖要查找的目的地属性。在起始点的 TargetDestinationCount 属性中输入非空值会覆盖默认的要查找目的地值。
交汇点的 U 形转弯
Network Analyst 允许在任何位置、仅在死角(或死胡同 (cul-de-sac))或者仅在交点和死角处出现 U 形转弯,也可禁止在任何位置出现 U 形转弯。允许 U 形转弯表示车辆可以在交汇点处转向并沿同一街道往回行驶。
输出 shape 类型
OD 成本矩阵所生成的线可以用直线几何来表示,也可以不用任何几何来表示。在这两种情况下,始终沿网络计算路径并在属性表中返回与路径分析相同的总成本。
- 直线 - 直线连接起始点和目的地。
- 无 - 线对象没有几何。这在存在大量的起始点和目的地,但您只对 OD 成本矩阵表(而不是输出线的形状)感兴趣时很有用。
应用等级
如果网络数据集具有等级属性,则可在分析时使用该等级。使用等级的结果是,求解程序更偏好高等级的边而不是低等级的边。分等级求解的速度更快,并且可以用于模拟驾驶员对在高速公路(而非地方道路)上行驶的偏好,即使这意味着行程更远。但是,如果不使用等级,则会为网络数据集生成精确的路线。
忽略无效的位置
该属性用于忽略无效的网络位置而仅通过有效的网络位置来求解分析图层。如果未选中该选项并且网络位置未定位,则求解操作可能会失败。无论在哪种情况下,分析都会忽略无效的位置。
累积选项卡
在累积选项卡中,可以选择网络数据集中要对线对象进行累积的成本属性,它们表示沿网络的最小成本路径。这些累积属性仅供参考;求解程序仅使用分析图层的阻抗参数所指定的成本属性来计算 OD 成本矩阵。
对于每个累积的成本属性,均会向求解程序所输出的线路中添加一个 Total_[阻抗] 属性,其中 [阻抗] 由累积的成本属性名称替代。
假设您将阻抗属性设置为“Minutes”,因为您要根据能够实现最短行驶时间的路径进行分析。虽然最短的行驶时间对您最重要,但是您还想了解最快路径的长度。假设您在“累积”选项卡上选中了另一个成本属性“Miles”。求解后,输出线要素具有名为 Total_Minutes 和 Total_Miles 的属性,可分别提供沿最快路径行驶的时间以及沿该路径行驶的距离。
相反,您可以根据最短路径和累积行驶时间进行分析,从而确定完成每段行程所花费的时间。如果您具有启用流量的网络数据集,甚至可以找到有关具体时间的信息并对不同的行驶速度做出解释。为此,请为分析图层的阻抗选择基于距离的成本属性,使用开始时间,并通过与时间相关的成本属性累积时间。