“减少交汇点”规则用于在保留拓扑的同时简化逻辑示意图。
“减少交汇点”规则用于减少逻辑示意图中表示的特定交汇点。 此规则用于对网络交汇点类或对象表或者网络类别进行处理。 将减少操作配置为对网络源类或对象表进行处理时,可以按属性过滤出要减少的交汇点。 减少始终适用于交汇点所连接到的交汇点数量,并且可选地适用于特定属性值或相邻边的属性。
缩减交汇点规则进程
无论是基于网络交汇点类或对象表还是基于网络类别缩减交汇点,缩减进程都是相同的,其行为取决于交汇点的价。 所连接的其他交汇点数不超过两个的交汇点与所连接的其他交汇点数不超过三个的交汇点在处理上存在明显差异。 以下部分中详细介绍了这些差异。
缩减连接到其他两个或更少交汇点的交汇点
当要缩减的交汇点与其他两个或更少交汇点连接时,“缩减交汇点”规则的运行进程如下:
- 将移除所有未连接的交汇点。
- 连接单个交汇点及其连接边的任何交汇点将缩减到视为目标交汇点的其他交汇点。
- 连接其他两个交汇点及其所有连接边的任何交汇点将缩减到称为缩减边的超跨度边,此类型的边为缩减而创建。
缩减连接到其他三个或更多交汇点的交汇点
当要缩减的交汇点与其他三个或更少交汇点连接时,“缩减交汇点”规则的进程取决于网络的层定义;即,分区网络中交汇点的缩减方式与等级网络中的缩减方式不同。
在具有等级层定义的网络中,要缩减的交汇点会被聚合到它所连接的任意其他交汇点(叶交汇点除外)。 当其连接的所有交汇点均为叶交汇点时,该交汇点不会被缩减。
在具有分区层定义的网络中,连接单个上游交汇点的任何交汇点都会被缩减到此上游目标交汇点。 当待缩减交汇点无上游交汇点,或待缩减交汇点有多个上游交汇点时,会对下游方向执行同样的分析。 该进程会搜索单个下游交汇点,如果该交汇点存在,则会缩减到该下游目标交汇点。 如果既没有单个上游交汇点也没有单个下游交汇点时,则待缩减交汇点不会被缩减。
注:
从 ArcGIS Pro 3.4 开始,该规则可以配置为在搜索目标上游或下游交汇点时根据数字化方向考虑流向。 在较早的 ArcGIS Pro 版本中,上游和下游追踪操作仅可基于子网控制器位置考虑流向。
缩减交汇点时的连接更改和关联报告
在缩减交汇点时,有几点需要注意:
- 在有些情况下,缩减交汇点时,会更改连接保留在逻辑示意图中的交汇点的边数。
- 缩减未连接的交汇点时除外,进程将在以下位置追踪任何缩减交汇点及其连接边:缩减规则视为目标交汇点的逻辑示意图交汇点或由规则创建的缩减边。
下面的逻辑示意图显示了连接更改和关联报告的示例。
逻辑示意图 A - 缩减连接到另外一个交汇点的交汇点
下表第一行中的逻辑示意图 A1 和 A2 显示缩减前的两个逻辑示意图。 每个图形都显示具有一个连接交汇点的橙色交汇点缩减前的逻辑示意图内容。
逻辑示意图 A1 - 图形更改和关联报告 | 逻辑示意图 A2 - 图形更改和关联报告 |
---|---|
橙色交汇点缩减后的逻辑示意图显示在表中第二行。 缩减后,J2 及其连接边在生成的逻辑示意图中不再可见,但规则继续追踪这些网络要素。 它们现在与目标 J1 交汇点相关联。
如示例所示,缩减连接到另一交汇点的交汇点时,将执行以下操作:
- 更改目标交汇点的连接数 - J1 在缩减前与一个交汇点连接,但在缩减后断开连接。 通常,如果目标交汇点在缩减之前连接 N 个交汇点,则其在缩减之后将连接 N-1 个交汇点。
- 导致所有缩减的网络元素在其他目标交汇点上进行报告。
逻辑示意图 B - 缩减连接到其他两个交汇点的交汇点
下图显示了如何减少连接到另外两个交汇点的交汇点。
一般情况
下表第一行中的逻辑示意图 B1 和 B2 显示缩减前的两个逻辑示意图。 每个图形都显示具有两个连接交汇点的橙色交汇点缩减前的逻辑示意图内容。
逻辑示意图 B1 - 图形更改和关联报告 | 逻辑示意图 B2 - 图形更改和关联报告 |
---|---|
橙色交汇点缩减后的逻辑示意图显示在表中第二行。 缩减后,J2 及其所有连接边在生成的逻辑示意图中不再可见,但规则继续追踪这些网络元素。 它们现在使用规则处理过程中创建的蓝色虚线缩减边相关联。
如示例所示,缩减连接到其他两个交汇点的交汇点时,将执行以下操作:
- 保持其他两个交汇点的连接交汇点数目不变
- 导致缩减的交汇点及其所有相邻边报告到规则创建的缩减边上
缩减复杂边上的交汇点
缩减连接到一条复杂边上的两个其他交汇点的交汇点(即连接同一复杂边上的两条线段的交汇点)时,规则行为稍有不同。 在这种情况下,请注意以下区别:
- 不会创建缩减边。
- 将保留一条复杂边段以在生成的逻辑示意图中保留相关信息。
- 所有缩减交汇点将在此边上进行报告。
第一行中的逻辑示意图 B3 显示了缩减前的逻辑示意图。 它引用了两条复杂边 E1 和 E2;这两条边由不同的线段组成,每个线段均连接到橙色交汇点。
在缩减橙色交汇点之后,每个复杂边由单条线段表示,该线段会聚合自身上的所有橙色交汇点。
缩减连接到其他三个或更多交汇点的交汇点
以下部分解释了在具有等级层定义的网络与具有分区层定义的网络中,缩减进程的运行情况。
逻辑示意图 C - 在使用等级层定义的网络中缩减连接到其他三个或更多交汇点的交汇点
下表第一行中的逻辑示意图 C1 和 C2 显示缩减前的两个逻辑示意图。 每个图形都显示橙色交汇点缩减前的逻辑示意图内容。
逻辑示意图 C1 - 进程 | 逻辑示意图 C2 - 进程 |
---|---|
在第二行中,每个图形都高亮显示连接到待缩减橙色交汇点的交汇点。 对于逻辑示意图 C1,橙色交汇点左侧的两个交汇点可以用用作将交汇点缩减到的目标交汇点,而右侧的三个交汇点则不可以,因为它们是叶交汇点。 对于逻辑示意图 C2,连接到待缩减橙色交汇点的交汇点是叶交汇点,因此无法作为用于缩减橙色交汇点的目标交汇点。
表第三行显示了缩减后的示例逻辑示意图内容。 在逻辑示意图 C1 中,橙色交汇点成功缩减至位于其左侧的其中一个交汇点。 在逻辑示意图 C2 中,未缩减橙色交汇点。
下表显示在使用等级层定义的网络中成功缩减连接三个或更多交汇点的交汇点时,逻辑示意图的更改方式以及关联的报告方式。
逻辑示意图 C3 - 图形更改和关联报告 | 逻辑示意图 C4 - 图形更改和关联报告 |
---|---|
第一行的逻辑示意图 C3 和 C4 显示缩减连接其他五个交汇点的橙色交汇点前的逻辑示意图。
该橙色交汇点缩减后获取的逻辑示意图显示在第二行:
- 对于左侧的逻辑示意图 C3,缩减后 J3 和 E1 不再可见。
- 对于右侧的逻辑示意图 C4,缩减后 J3、E1、E2 和 E3 不再可见。
在上述两例中,缩减规则继续对这些网络元素进行追踪。 它们现在与目标交汇点 J1 相关联。 此外,连接 N=5 个交汇点的 J3 缩减到 J1,而 J1 在缩减前连接 M=2 个交汇点,缩减后连接 M=5 个交汇点。
逻辑示意图 C - 在使用分区层定义的网络中缩减连接到其他三个或更多交汇点的交汇点
下表第一行中的逻辑示意图 D1 和 D2 表示使用分区层定义的网络的分区 它们显示连接其他三个或三个以上交汇点的橙色交汇点缩减前的两个逻辑示意图初始内容。
逻辑示意图 D1 - 进程 | 逻辑示意图 D2 - 进程 |
---|---|
在第二行中,每个图形显示从要缩减的交汇点开始的上游追踪(或下游追踪)的结果;即,从逻辑示意图 D1 和 D2 中的橙色交汇点开始的上游追踪结果。 对于逻辑示意图 D1,追踪仅返回一个上游交汇点(或下游交汇点),而对于逻辑示意图 D2,它将返回多个上游交汇点(或下游交汇点)。
表第三行显示了缩减后的示例逻辑示意图内容。 在逻辑示意图 D1 中,橙色交汇点成功缩减,其上游或下游交汇点成为缩减的目标交汇点。 在逻辑示意图 D2 中,未缩减橙色交汇点。
下表显示缩减连接三个或更多交汇点的交汇点时,逻辑示意图的更改方式以及关联的报告方式。
逻辑示意图 D3 - 图形更改和关联报告 | 逻辑示意图 D4 - 图形更改和关联报告 |
---|---|
第一行的逻辑示意图 D3 和 D4 显示缩减连接其他四个交汇点的橙色交汇点前的逻辑示意图。
该橙色交汇点缩减后获取的逻辑示意图显示在第二行:
- 对于左侧的逻辑示意图 C3,缩减后 J2 和 E1 不再可见。
- 对于右侧的逻辑示意图 C4,缩减后 J2、E1 和 E2 不再可见。
在上述两例中,缩减规则继续对这些网络元素进行追踪。 现与目标交汇点 J1 相关联,而 J1 是 J2 的上游或下游交汇点。 此外,连接 N=4 个交汇点的 J2 缩减到 J1,而 J1 在缩减前连接 M=1 个交汇点,缩减后连接 M=3 个交汇点。
如示例所示,缩减连接 N 个(三个或更多)其他交汇点的交汇点 J2 时,如果该交汇点只有一个连接 M 个交汇点的上游(或下游)交汇点 J1,将执行以下操作:
- 更改 J1 上游交汇点的连接数以使其在缩减后连接 N+M-2 个交汇点。
- 导致缩减的交汇点及其所有相邻上游(或下游)边缘在目标上游(或下游)交汇点上进行报告。
交汇点缩减和包含
缩减交汇点规则遵循以下规则:
- 内容交汇点永远无法聚合非内容要素。
下面的示例显示了不同的使用案例。 第一列显示了一些示例逻辑示意图,其中的蓝色内容交汇点连接到了橙色交汇点。 第二列显示了在运行用于缩减所有橙色交汇点的缩减交汇点规则之后的逻辑示意图。
在逻辑示意图 1 中,由于蓝色内容交汇点无法聚合橙色非内容交汇点,因此没有缩减网络元素。显示了缩减橙色交汇点之前的逻辑示意图 D1。 显示了缩减橙色交汇点之后的逻辑示意图 D1。 在逻辑示意图 2 中,只有左侧的橙色交汇点及其连接的边被缩减为蓝色交汇点(该交汇点是与它们类似的内容交汇点)。显示了缩减橙色交汇点之前的逻辑示意图 D2。 显示了缩减橙色交汇点之后的逻辑示意图 D2。 在逻辑示意图 3 中,左侧的橙色交汇点及其连接的边被缩减为蓝色交汇点(该交汇点是与它们类似的内容交汇点)。 橙色非内容 J9 交汇点及其两个连接的边被聚合在缩减边下。显示了缩减橙色交汇点之前的逻辑示意图 D3。 显示了缩减橙色交汇点之后的逻辑示意图 D3。 - 非内容交汇点永远无法聚合内容要素或对象。 但是,生成的缩减边可以聚合内容元素,也可以聚合非内容元素。
下面的示例显示了不同的使用案例。 第一列显示了一些示例逻辑示意图,其中的蓝色非内容交汇点连接到了橙色交汇点。 第二列显示了在运行用于缩减所有橙色交汇点的缩减交汇点规则之后的逻辑示意图。
在逻辑示意图 4 中,由于蓝色非内容交汇点无法聚合橙色内容交汇点,因此没有缩减网络元素。显示了缩减橙色交汇点之前的逻辑示意图 D4。 显示了缩减橙色交汇点之后的逻辑示意图 D4。 在逻辑示意图 5 中,作为内容的 J4 和 E3 在内容交汇点 J5 下缩减。 E2 在连接非内容交汇点 J3 与内容交汇点 J5 的缩减边 R1 下聚合。显示了缩减橙色交汇点之前的逻辑示意图 D5。 显示了缩减橙色交汇点之后的逻辑示意图 D5。 在逻辑示意图 6 中,左侧的橙色交汇点 J6 及其连接的边 E4 缩减为蓝色交汇点(该交汇点是与它们类似的非内容交汇点)。 右侧的 J8 和 E6 为内容,缩减在内容交汇点 J9 下。E5 在连接非内容交汇点 J7 与内容交汇点 J9 的缩减边 R2 下聚合。显示了缩减橙色交汇点之前的逻辑示意图 D6。 显示了缩减橙色交汇点之后的逻辑示意图 D6。
缩减交汇点规则配置
下文介绍了可用于在模板上添加“减少交汇点”规则的工具(添加缩减交汇点规则、添加按属性缩减交汇点规则和添加按类别缩减交汇点规则):
- 使用添加缩减交汇点规则工具用可基于特定网络交汇点源类或对象表配置逻辑示意图交汇点的缩减。 该规则可指定交汇点源类和对象表的列表,并将属于这些交汇点类和对象表的每个交汇点视为要缩减的候选项,或者,将不属于指定交汇点类和对象表的任意交汇点视为要缩减的候选项。 然后,将处理作为要缩减的候选项的所有交汇点,具体根据这些交汇点在逻辑示意图中所连接的交汇点数以及(可选)其事件边的属性。
- 使用添加按属性缩减交汇点规则工具可基于特定网络交汇点源类或对象表,通过按属性过滤交汇点来对逻辑示意图交汇点的缩减进行配置。 然后,将处理作为要缩减的候选项的所有交汇点,具体根据交汇点在逻辑示意图中所连接的交汇点数以及(可选)其相邻边的属性。
- 使用添加按类别缩减交汇点规则工具可配置减少使用或未使用特定网络类别标记的交汇点。
注:
添加按类别缩减交汇点规则工具仅适用于 Utility Network 版本 7 及更高版本。
提示:
在按属性配置逻辑示意图规则时,可以使用以下特定的 SQL 语句、根据其他逻辑示意图要素属性值,过滤掉网络源属性值上的逻辑示意图要素:WHERE 'OBJECT' = 'IN_DIAGRAM'。 例如,要查询生成的逻辑示意图中具有最小属性值的逻辑示意图要素,您可以根据以下语法使用 SQL 表达式设置任何按属性添加 <XXX> 规则工具:<attributeName> = (SELECT MIN(<attributeName>) FROM <networkClassName>) WHERE 'OBJECT' = 'IN_DIAGRAM'