障碍

障碍是网络分析图层中用于限制或改变相关网络数据集的基础边和交汇点阻抗的要素类。障碍分为三种几何类型(点、线和面),设计障碍的目的在于对网络中的的临时变更进行建模。下面将介绍各种类型的障碍:

障碍是网络分析图层(而不是网络数据集)的一部分。因此,障碍只会影响其所在的网络分析图层。如果其他分析中也需要使用障碍,则应将障碍加载到相应的网络分析图层中。此外,也可以通过编辑网络数据集而不使用障碍。

要改变网络的可穿越性或阻抗,除了可以通过障碍来实现之外,还可以通过编辑网络数据集来实现。由于障碍可以帮助您快速添加和移除网络更改,因此是对临时阻抗更改进行建模的理想之选:阻塞交通的树最终会被搬走,而洪水也终将退去。一旦障碍所建模的事件结束,只需将其删除即可。

由于障碍可以作为编辑的替代功能,因此即使不具有网络数据集编辑权限,您仍然可以更改网络的可穿越性和阻抗。例如,如果您有一个不可编辑的 SDC 网络数据集(例如 StreetMap North America)并且认为某个给定区域中的阻抗值不能准确反映行程时间,您可以添加一个面障碍并将阻抗调整为更合适的值。但是,使用障碍可能会降低求解程序的性能。

创建或加载线障碍或面障碍所花费的时间与障碍覆盖的网络元素的数量成正比。用障碍覆盖密集网络元素或大面积的网络区域可能是不可行的。

点障碍、线障碍和面障碍

障碍类存在于所有网络分析图层中。

可通过网络分析 工具条上的创建网络位置工具 创建网络位置工具加载位置 对话框或添加位置 地理处理工具向障碍类中添加障碍。创建、加载或添加障碍后,障碍只会影响网络分析图层的图层属性 对话框的网络位置选项卡中选中的项目。即使障碍与某些图层相交,但如果这些图层并未在网络位置选项卡中选中,障碍也不会影响这些图层。

了解有关通过“创建网络位置工具”创建网络分析对象的详细信息

可通过属性表(障碍类中所有障碍及其属性都列在此表中)或单个障碍的属性表(在此表中,一次只列出一个障碍及其属性)对障碍的属性进行检查和编辑。

了解有关打开网络分析对象的“属性”窗口的信息

点障碍要素图层

加载或创建点障碍后,该点障碍会捕捉到搜索容差内距离它最近的网络边或交汇点。障碍在网络中的位置由网络位置字段(SourceID、SourceOID、SideOfEdge 和 PosAlong)指定。如果一个禁止型点障碍位于某条边上,那么您既可以仅禁止穿过这个点障碍,也可以禁止穿过整条边。对于成本按比例增加型点障碍,只要穿过障碍,就会增加路径成本。

点障碍属性

点障碍的输入字段

输入字段

描述

ObjectID

系统管理的 ID 字段。

名称

网络分析对象的名称。

BarrierType

指定点障碍是完全限制通行还是增加通过障碍时的阻抗。有以下两个选项:

  • 禁止型 (0) - 禁止穿过障碍。这是默认值。
  • 成本增加型 (2) - 穿过障碍会增加网络成本,具体增加值取决于在 Attr_[阻抗] 属性值中指定的值。

FullEdge

该属性特定于边元素上的禁止型点障碍。默认值为 False

  • False - 允许在边上行进,但不允许通过障碍
  • True - 不允许在关联边上行进

Attr_[阻抗]

(例如,Attr_Minutes,其中 Minutes 是网络的阻抗)

该属性特定于成本增加型障碍并且它的值被限制为大于等于零。它表示穿越障碍时会增加的网络阻抗值。

网络位置字段

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

结合使用这四种属性可描述网络中对象所在的点。

了解有关网络位置字段的详细信息

CurbApproach

CurbApproach 属性用于指定受障碍影响的行驶方向。如果边上某个障碍的路边通道属性设置为

  • 车辆的任意一侧 (0) - 障碍将影响在边左右两个方向上行驶的车辆。
  • 车辆的右侧 (1) - 只会影响车辆的右行方向(障碍位于车辆右侧)。在同一条边上行驶但从左侧接近障碍的车辆不会受到障碍的影响。
  • 车辆的左侧 (2) - 只会影响车辆的左行方向(障碍位于车辆左侧)。在同一条边上行驶但从右侧接近障碍的车辆不会受到障碍的影响。

由于交汇点是点且不分左右侧,所以无论 CurbApproach 如何设置,交汇点上的障碍都会影响所有车辆。

点障碍的输入/输出字段

输入/输出字段

描述

状态

该字段受到下面列出的值的属性域(括号中是它们的编码值)的约束。

  • 正常 (0) - 网络位置有效。
  • 未定位 (1) - 无法确定网络中的位置。
  • 未定位网络元素 (2) - 找不到应作为网络位置的网络元素。如果删除了网络边并且未对网络位置重新进行计算,则可能会出现这种情况。

执行求解操作后,可以使用以下某一状态值修改状态:

  • 正常 (0) - 已成功计算网络位置。
  • 字段值无效 (4) - 网络位置的字段值落在分析图层的编码属性域或值域范围之外。例如,应该填写正数的位置可能存在负数。

线障碍要素图层

虽然点障碍会捕捉到距离它最近的边或交汇点,但线障碍却不会捕捉到网络;因此要对边和交汇点产生影响,线障碍需要覆盖边和交汇点。

如果线障碍的用途是穿过网络元素以及阻塞障碍与边和交汇点相交处的行进,通常只需使用创建网络位置工具 创建网络位置工具 就足以实现这一目标。如果线障碍的用途是限制对整条边的跨越,则应在编辑会话中创建一个线要素并将该线要素加载到线障碍类中。某些编辑工具(如“追踪”工具)的控制功能要强于“创建网络位置”工具并可确保线障碍与网络源要素重合。

线障碍属性

线障碍的输入字段

输入字段

描述

ObjectID

系统管理的 ID 字段。

名称

网络分析对象的名称。

BarrierType

指定障碍的存在将完全禁止通行还是按比例增加行程成本。有两个选项:

  • 禁止型 (0) - 禁止穿过障碍的任何部分。这是默认值。
  • 成本按比例增加型 (1) - 将阻抗乘以 Attr_[阻抗] 属性值从而调整基础边阻抗。如果障碍部分覆盖了边,则会按比例对阻抗执行乘法运算。

Attr_[阻抗]

(例如,Attr_Minutes,其中 Minutes 是网络的阻抗)

该属性特定于增加行程成本的障碍。它是障碍下面的边阻抗要乘以的因子。

值必须大于或等于零;但是请注意,如果将该值设置为零,由于遍历基础边没有成本,解可能会返回毫无意义的结果。因此,建议使用大于零的值。

面障碍要素类

面障碍与线障碍相似,也不会捕捉到网络。因此,要对边和交汇点产生影响,线障碍需要覆盖边和交汇点。

面障碍属性

面障碍的属性与线障碍的属性相同。

面障碍的输入字段

输入字段

描述

ObjectID

系统管理的 ID 字段。

名称

网络分析对象的名称。

BarrierType

指定障碍的存在将完全禁止通行还是按比例增加行程成本。有两个选项:

  • 禁止型 (0) - 禁止穿过障碍的任何部分。这是默认值。
  • 成本按比例增加型 (1) - 将阻抗乘以 Attr_[阻抗] 属性值从而调整基础边阻抗。如果障碍部分覆盖了边,则会按比例对阻抗执行乘法运算。

Attr_[阻抗]

(例如,Attr_Minutes,其中 Minutes 是网络的阻抗)

该属性特定于增加行程成本的障碍。它是障碍下面的边阻抗要乘以的因子。

值必须大于或等于零;但是请注意,如果将该值设置为零,由于遍历基础边没有成本,解可能会返回毫无意义的结果。因此,建议使用大于零的值。

叠置障碍的优先级

两个或多个障碍发生叠置时,ArcGIS Network Analyst 扩展模块会遵循一套规则以保证行为和结果的一致性:

创建障碍的方法

本部分将重点介绍创建障碍时可以使用的一些方法及其优缺点,从而帮助您更好地了解各种方法并从中选择一种最能满足自身需求的方法。

点障碍只与一个网络元素相关联,即使该元素与另一个元素重合也是如此。而在默认情况下,线障碍和面障碍会影响到它们所覆盖的所有网络元素。如果忽视线障碍或面障碍下面的任何网络元素,将会导致意想不到的结果。例如,如果天桥上的道路正在进行重铺因而沿天桥添加了一个禁止型线障碍,则不但不允许跨越天桥,也不允许在天桥下面的道路上行进。这是因为在二维空间中该线障碍与两条道路均相交。应仔细考虑如何创建障碍。

在上述的天桥示例中,可以考虑使用其他方法实现禁止通过天桥但不禁止通过天桥下的道路的情况:

还有一些其他创建线障碍的方法可用于不同的情景。以下是两个示例:

9/15/2013