了解连通性

网络数据集中的连通性基于线端点、线折点和点的几何重叠。还取决于在网络数据集上设置为属性的连通性规则。

组连通性

ArcGIS Network Analyst extension 中的连通性从定义连通性组开始。每个边源只能被分配到一个连通性组中,每个交汇点源可被分配到一个或多个连通性组中。一个连通性组中可以包含任意数量的源。网络元素的连接方式取决于元素所在的连通性组。例如,如果基于两个不同的源要素类创建的两条边位于同一连通性组中,则二者可以连接。如果处在不同连通性组中,除非用同时参与了这两个连通性组的交汇点连接这两条边,否则这两条边不连通。

连通性组可用于构建多模式运输系统模型。您可以为各个连通性组选择要相互连接的网络源。在下面的地铁和街道多模式网络示例中,地铁线和地铁入口全部被分配到了同一连通性组中。请注意,Metro_Entrance 同时还处在街道所处的连通性组中。它构成了两个连通性组间的连接。两组中的所有路径都必须至少经由一个共享地铁入口。例如,路径求解程序可能会为行人确定城市两个位置之间的最佳路径为:从街道步行到地铁入口,然后乘地铁,再在换乘站换乘另一趟地铁,最后走出另一个地铁入口。连通性组既区别了两个网络,又通过共享交汇点(地铁入口)把二者连接在一起。

连通性组

连接连通性组中的边

同一连通性组中的边可通过由边源上的连通性策略设置的两种方式(端点或折点)进行连通。

  • 如果设置了端点连通性,则线要素将成为仅在重合端点处连接的边。
    端点连通性

    在此情况中,线要素 l1 成为边要素 e1,线要素 l2 成为边要素 e2。遵照此连通性策略,将始终针对一个线要素创建一个边要素。构建具有端点连通性的网络是构建交叉式对象模型(如桥梁)的一种方式。为构建此示例的模型,桥和街道被放置在了同一连通性组 (1) 中。街道源被指定了“任意折点”连通规则,以便街道要素可以与其他街道要素在重合折点处相连接。桥源被指定为端点连通。这意味着桥只可在端点处与其他边要素相连通。因此,从桥下方穿过的任何街道将不会与桥连通。桥将在端点处与其他街道连通。

    连通桥

    如果网络中仅包含一个要用于对天桥(桥)和地下通道(隧道)进行建模的源,则可以在平面数据上使用高程字段。有关详细信息,请参阅下面的“高程字段”部分。

    注:

    如果使用多个线要素,请了解 Network Analyst 将每部分末尾处的折点视为端点而非折点。

  • 如果设置了“任意折点”连通规则,则线要素将在重合折点处被分成多条边。如果构建街道数据的目的是要让街道在折点处与其他街道相交,则设置这一策略非常重要。
    任意折点连通性

    在此情况中,在共享折点位置处相交的两条折线分割成四条边,交汇点位于该折点处。边 e1 和 e3 用线要素 l1 的源要素类和对象 ID 进行标识。边 e2 和 e4 用线要素 l2 的源要素类和对象 ID 进行标识。交汇点 j3 将是新建系统交汇点。交汇点 j1、j2、j4 和 j5 要么会是系统交汇点,要么会是源要素类的重合点的交汇点。

警告:

并非所有交叉线要素都可以生成连接的边。如果它们不共享任何重合端点或折点,则通过任何连通性策略也无法在交点处创建交汇点。因此必须事先对网络数据集的街道数据进行清理,以确保无论折点还是端点都显示在所有所需交汇点处。

无重合折点,无法连通

如果需要改进街道数据,可使用地理处理工具(如整合)分割交叉线,或在这些要素类上建立拓扑,然后在应用强制要素在交点处进行分割的拓扑规则时编辑街道要素。

通过跨各连通性组的交汇点连接边

处于不同连通性组中的边仅可通过两个连通性组共享的交汇点进行连接。

在组合了公交网和街道网的多模式系统示例中,公交站是从点源中添加的,并且同时处于两个连通性组中。然后,公交站的点位置在空间上必须与相连的公交线和街道线重合。添加公交站的点位置后,该点是否可以成为交汇点将取决于交汇点连通性策略。对于边,交汇点与边要么在端点处要么在折点处相连通,具体取决于目标边源的连通性策略。然而,在某些情况下您可能希望覆盖此行为。

遵从连通性的交汇点
设置交汇点的遵从连通性策略

例如,公交站所连接的公交线使用端点连通性策略,但您通常希望将公交站放置在中间折点处。要达到这一目的,您将需要设置交汇点策略以覆盖将交汇点连接到给定边这一默认行为。

要根据边源连通性策略覆盖在端点或折点处形成的交汇点的默认行为,请将交汇点源的连通性设置为覆盖。默认情况下,将遵从边连通性策略。

覆盖连通性的交汇点

设置交汇点的覆盖连通性策略

垂直连通性

网络元素的连通性不仅可取决于它们在 x 和 y 空间中是否重合,还可取决于它们是否共享相同的高程。可使用两个选项对高程进行建模:使用高程字段和使用几何中的 z 坐标值。

高程字段

在网络数据集中,高程字段用于优化线端点处的连通性。他们包含从参与网络的要素类的字段中获取的高程信息。这一点与基于 z 坐标值建立连通性有所不同,后者的物理高程信息存储在要素的各个折点中。高程字段适用于边和交汇点源。使用高程字段的边要素源用两个字段来描述高程(线要素的每个端点对应一个字段)。

在下面的示例中,EF1、EF2、EF3 和 EF4 这四个线要素属于同一连通性组,并遵守端点连通性。EF3 和 EF4 的高程值为 0;EF1 和 EF2 的高程值为 1。因此,在交点处,EF3 仅与 EF4 连通(不与 EF1 或 EF2 连通)。同样,EF1 只连接 EF2,而不连接 EF3 或 EF4。必须了解高程字段用于优化连通性;它们不会覆盖连通性。两个边元素即便具有相同高程字段且相互重合,但如果处在两个不同的连通性组中,它们仍不会相互连接。

通过高程字段对连通性进行建模

许多数据供应商都提供用于构建连通性模型的高程字段数据。ArcGIS 网络数据集连通性模型可以使用此高程字段数据来增强连通性。而且,在构建桥梁和隧道等特殊方案时,高程字段与连通性模型之间的交互同样是至关重要的一个方面。

几何的 Z 坐标值

如果源要素的几何中存储了 z 值,则可以创建 3D 网络。

室内人行道的模型通常就用 3D 网络构建。想一想,多层建筑中的很多走廊在 2D (x,y) 空间中都是无法区分的,但在 3D 空间中,却可以根据它们的 z 坐标值对其加以区分。同样,电梯是靠垂直移动来连接各楼层的。在 x,y 空间中电梯是点,但在 3D 空间中却完全可以将其作为线进行建模。

Z 坐标值使得以三维形式构建点和线要素的连通性模型成为可能。连通性仅适用于 3D 网络数据集,其中源要素(尤其是点、线端点和线折点)共享所有三个坐标值:x、y 和 z。以下图片集演示此要求:

三维空间中的连通线和未连通线(正视图)
三维空间中存在四个线要素:三条水平线(蓝色)和一条对角线(红色)。六个绿色圆球表示线端点。
三维空间中的连通线和未连通线(侧视图)
从另一角度显示相同的线和端点。显然,红线与顶部的两条蓝线在端点处相连接。但红线不与底部的蓝线相交。
基于 3D 要素创建的边的逻辑示意图
此图显示的是根据上两个图形中显示的三维要素将有哪些边相连接。由于红线与顶部的两条蓝线共享 x、y 和 z 坐标值,因此这些边相连通。但是,由于红线不与底部的蓝线相交,因此它们在网络数据集中的对应边无法连通。

三维网络同样遵从连通性组的连通性策略设置,如以下三张图像所示:

三维空间中与两条蓝色平行线要素相交的红色线要素
一个红色线要素与两个蓝色线要素在折点(绿色立方体)处相交。由于这些线在折点处相交,因此它们对应的边在网络数据集中可能连接也可能不连通;这要视具体连通性策略而定。

使用端点连通性策略的结果逻辑示意图
当将连通性策略设置为“端点”时,生成的边(e2、e1 和 e3)不相互连接。
将任何折点连通性策略用于三维线要素时的结果逻辑示意图
将连通性策略设置为“任何折点”时,生成的边相互连接,因此行人可以在蓝边和红边间随意穿行。

修改高程字段垂直连通性

按照以下步骤修改网络高程字段。

  1. 打开网络数据集属性 对话框。
  2. 单击源设置 > 垂直连通性

    将显示垂直连通性页面。如果垂直连通性策略为策略: 高程字段,将针对每个边源显示一个包含两行的表格,一行对应顺方向,一行对应逆方向。可使用此表格为每个边源的每个方向设置高程字段。

  3. 单击高程字段列下方,然后从下拉列表中选择所需字段。

    下拉列表仅包含数据类型为整型的字段,因为高程级别以整数方式指定。所有整数值有效;即,所选字段可以具有正数值、负数值和零值。

    更改高程字段

    注:

    如果正在使用的网络数据集在创建时未配置为使用高程字段垂直连通性策略,则将无法编辑此页面上的高程字段。创建网络后,无法更改垂直连通性策略。

  4. 单击确定

    对高程字段所做的更改将保存至网络数据集。

  5. 注:

    更改任何网络属性时,您必须构建网络数据集以重新建立连通性、重新计算受影响的属性以及更新网络元素。

    了解有关何时需要重新构建的详细信息

修改组连通性

按照以下步骤修改组连通性设置。

  1. 打开网络数据集属性 对话框。
  2. 单击源设置 > 组连通性
  3. 要修改源的策略,请单击源的策略列,然后从下拉列表中选择策略。

    边源连通性可设置为终点任何折点。可以将交汇点源设置为遵从覆盖边源的连通性策略。

    为源选择策略

  4. 组计数框中,单击向上或向下箭头以增加或减少网络数据集的连通性组数,或在框中输入组计数。
  5. 单击相关组列中的按钮以向连通性组分配边源。

    每个边源只能属于一个组。

  6. 选中相关组列中的复选框以向连通性组分配交汇点。

    每个交汇点源可以属于多个组。

  7. 如果要素类具有子类型,请单击位于右上角的更改子类型使用按钮。
    1. 选中要添加子类型的一个或多个源要素。可在组连通性页面上按子类型修改连通性。

      选择子类型

    2. 单击确定

      随即组连通性页面上将显示子类型。可通过连通性策略将每个子类型分配给连通性组。

      已添加至组连通性页面的子类型

  8. 单击确定

    组连通性页面上进行的编辑将保存至网络数据集。

  9. 注:

    更改任何网络属性时,您必须构建网络数据集以重新建立连通性、重新计算受影响的属性以及更新网络元素。

    了解有关何时需要重新构建的详细信息