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