转弯构成了从某一边元素到另一边元素的移动方式。通常,创建转弯来增加通行的成本,或者完全禁止转弯。例如,可以为十字路口处表示左转弯的转弯要素分摊 30 秒的时间成本以模拟左转弯交通信号变为绿色的平均用时。同样,约束属性可从转弯要素中读取字段值来禁止转弯。当转弯行为被宣告违反交通规则时(禁止左转),这会十分有用。
转弯可在相连边的任何交汇点处创建。在每个网络交汇点处均可能有 n² 种转弯,其中 n 表示连到该交汇点的边数。即使在只有一条边的交汇点处,仍可以创建一个 U 形转弯。
多边转弯
在某个交汇点处连通的两条边之间实现的简单转弯移动方式称为两边转弯。ArcGIS Network Analyst extension 支持构建多边转弯模型。多边转弯是从网络中的一个边元素开始,经过一系列已连接的中间边元素,到达网络中的另一边元素结束的移动方式。这些中间穿过的边称为转弯的内部边。在街道网络中,转弯的内部边通常是那些表示分隔式道路十字路口内部的边元素。
如上所示的示例中描述了位于两条分隔式道路的相交路口处的多边左转弯。边 c 和边 d 表示转弯的内部边,而边 f 和边 i 表示外部边。
U 形转弯
U 形转弯是一种从某个边要素出发经由其某个末端再折回的移动方式。通常将其构建成在边序列中含有两个进入点的转弯形式,其中的两个进入点均属于相同的边元素。
处理分隔式道路时,U 形转弯被构造为多边转弯,其中边 f 和边 e 为外部边,边 c、边 d 和边 a 为内部边。
正确定义的转弯
只有正确地加以定义,才能在网络中使用转弯。正确定义的转弯必须遵守以下规则:
- 一个转弯必须是由至少两条边构成的序列。U 形转弯构成了从某条边出发再折返回来的移动方式。
- 转弯中的第一条边或最后一条边(任何外部边)均不能充当其他转弯的内部边。在上节的示例中,任何转弯均不能在 a、d 或者 c 处开始(或结束)。
- 序列中的每条边均连接到序列中的下一条边,这样连接的边就形成一条无分支的“链”。在转弯中,任何边(外部或内部)只能连接到一条边。在以上示例中的 U 形转弯内 (f-c-d-a-e),d 只是连接到了 a。
- 内部边可在多个转弯之间共享。在以上示例中,内部边 c 和 d 由 U 形转弯 (f-c-d-a-e) 以及左转弯 (f-c-d-i) 共享。一个转弯的内部边可成为所有转弯的内部边。
- 两个转弯要素无法表示相同的转弯移动方式。即,两个转弯不能拥有同样的第一条和最后一条外部边。
- 转弯要素不应在交汇点上方开始或结束。
转弯要素
在 ArcGIS Network Analyst extension 中,以转弯要素类中的要素对转弯进行建模。转弯要素类是自定义线要素类(类型为 Esri 转弯要素)。
在网络之外,转弯要素类没有任何意义。为了使用转弯要素类中有价值的信息,必须将其添加到网络数据集中。为了将转弯要素类添加到网络中,应将其与网络数据集的其他要素来源置于相同的要素数据集中。在 shapefile 环境中,转弯要素类必须与网络数据集中的边要素来源位于同一目录中(shapefile 工作空间)且必须与这些边要素来源具有相同的空间参考。网络数据集中可以包含多个转弯要素类。转弯要素来源不参与连通性组,也不具有高程字段信息。可在网络属性的字段赋值器中对转弯要素类使用用户定义的字段,使用方式与来自其他要素类来源的字段相似。
创建转弯要素类时,可指定转弯所支持的最大边数。一个转弯最少有两条边。Network Analyst 支持最多含有 50 条边的转弯。默认的最大边数为 5。
转弯要素类的方案
下表描述了最多支持五条边的转弯要素类中的各字段。
字段 | 说明 |
---|---|
OBJECTID | 转弯的内部要素编号。 |
SHAPE | 转弯要素的要素几何。 |
Edge1End | 指示转弯是否通过第一条边的末端(Y 表示转弯通过第一条边的末端,而 N 表示转弯通过第一条边的始端)。 |
Edge1FCID | 表示转弯第一条边的线要素的要素类 ID。 |
Edge1FID | 表示转弯第一条边的线要素的要素 ID。 |
Edge1Pos | 表示转弯第一条边的线要素沿线的位置。对于表示多条边的线要素(可使用通过折点连接的多条线或具有覆盖策略的多个点创建),此位置将指明要素的哪个边元素是转弯的第一条边。 |
Edge2FCID | 表示转弯中第二条边的线要素的要素类 ID。 |
Edge2FID | 表示转弯中第二条边的线要素的要素 ID。 |
Edge2Pos | 表示转弯第二条边的线要素沿线的位置。 |
Edge3FCID | 表示多边转弯(具有三条或更多条边的多边转弯)中第三条边的线要素的要素类 ID。 |
Edge3FID | 表示多边转弯(具有三条或更多条边的多边转弯)中第三条边的线要素的要素 ID。 |
Edge3Pos | 表示多边转弯(具有三条或更多条边的多边转弯)中第三条边的线要素沿线的位置。 |
Edge4FCID | 表示多边转弯(具有四条或更多条边的多边转弯)中第四条边的线要素的要素类 ID。 |
Edge4FID | 表示多边转弯(具有四条或更多条边的多边转弯)中第四条边的线要素的要素 ID。 |
Edge4Pos | 表示转弯(具有四条或更多条边的转弯)中第四条边的线要素沿线的位置。 |
Edge5FCID | 表示多边转弯(具有五条或更多条边的多边转弯)中第五条边的线要素的要素类 ID。 |
Edge5FID | 表示多边转弯(具有五条或更多条边的多边转弯)中第五条边的线要素的要素 ID。 |
Edge5Pos | 表示转弯(具有五条或更多条边的转弯)中第五条边的线要素沿线的位置。 |
OBJECTID、SHAPE 以及 Edge1End 字段存在于所有的转弯要素类中。其他字段是否出现则由所支持的最大边数决定。除上述列举的字段之外,最多支持六条边的转弯要素类还将包含 Edge6FCID、Edge6FID 以及 Edge6Pos 字段。
还可以向转弯要素类添加其他字段。例如,常见的方式有,添加一个字段来表示完成转弯所需的平均用时。作用于网络数据集中基于时间的成本属性的字段赋值器可从转弯要素类读取延迟时间并将延迟时间计入网络成本中。
转弯表和转弯要素
ARC/INFO 和 ArcView GIS(ArcGIS 的前身)使用转弯表对转弯移动方式进行建模。这些转弯表将两部分转弯的信息存储为多行数据,其中包括一个表示时间阻抗的字段。负阻抗表示转弯受限制。
上面的示例显示了如何使用转弯表来表示常见的转弯方式。在 ArcGIS Network Analyst extension 中,这些情况中每一种都将由转弯要素表示。
- U 形转弯 - U 形转弯可以由第一条边和最后一条边相同的转弯要素进行表示。此外,转弯要素类包含一个称为 Turn Impedance 的字段,用于存储上述转弯对应的 20 秒阻抗。
- 禁行标志 - 三个转弯要素对应转弯表中的三行,其中包括一个有 20 秒转弯阻抗的左转弯,一个有 10 秒转弯阻抗的右转弯,一个有 15 秒转弯阻抗的直行。
- 禁止右转弯 - 转弯要素类可包含一个字段,它可供网络数据集中约束属性的字段赋值器读取。这可构建禁止转弯模型,例如禁止右转弯。
ArcGIS 提供了可将现有的转弯表导入到转弯要素类中的工具。如果有来自于 ARC/INFO 或 ArcView GIS 的转弯表,就会涉及此类工具。
转弯属性
转弯中具有的属性可以包含有关在网络中穿行方面的信息。例如,可用转弯属性指定转弯所需时间或是否限制转弯。使用赋值器定义转弯属性的方式与定义边属性的方式相同;但由于转弯涉及方向,所以只有用于正向的赋值器,没有用于逆向的赋值器。
通用的转弯
在网络中尚不存在转弯要素的位置处,两个边之间的每处过渡都会存在隐含的通用转弯。通过为转弯元素的默认值指定通用转弯延迟赋值器,可为通用转弯指定属性值。