“设置起点”规则用于将逻辑示意图中所表示的网络元素预设为起点。
可以对“设置起点”规则进行配置,以将逻辑示意图中当前表示的网络要素或对象预设为起点。 当这些要素或对象是具有终端的交汇点时,该规则也可用于在特定终端上预设起点。
当根据网络地图中选择作为输入的网络要素或网络元素创建逻辑示意图,并且在追踪规则之前在模板上配置了“设置起点规则”时,可以将指定起点标识为唯一起点,而非在其运行时运行在逻辑示意图中显示的所有网络元素。
设置起点规则过程
设置起点规则在从网络地图中选择作为输入的网络要素或网络对象生成逻辑示意图时特别有用。 当从追踪位置生成逻辑示意图时,它们的感兴趣方面比较有限。 以下部分解释了过程的差异。
从网络地图中的输入选择集生成逻辑示意图时设置起点规则流程
当从网络地图中选择作为输入的网络要素或网络对象生成逻辑示意图时,设置起点规则允许您避免运行不必要的多次追踪并影响性能。
如果设置起点规则没有配置 SQL 表达式或交汇点终端,则指定网络源的任何网络要素或网络对象都可被视为追踪规则进程的起点。
如果同时配置了 SQL 表达式和交汇点终端,则只有从具有指定终端的指定网络源查询到的网络要素或网络对象才可被视为追踪规则进程的起点。
由于默认情况下,所有内容要素将始终存在于具有其容器的逻辑示意图中,因此您可能需要指定内容或容器要素作为起点,以防止追踪失败。
在为逻辑示意图模板配置的规则序列中,可以在追踪规则之前指定多个设置起点规则。 所有规则都会在当前在逻辑示意图中表示的网络要素或网络对象中搜索其预期起点,并将检测到的这些起点合并到内部列表中。 当追踪规则开始时,该进程将考虑此内部列表中的起点,并仅从这些起点运行追踪。 如果起点列表为空,换句话说,如果逻辑示意图中没有网络要素或网络对象符合设置起点规则条件,则将跳过追踪规则。
也可以链接追踪规则以构建逻辑示意图内容。 在这种情况下,该追踪规则在开始时将考虑由位于规则序列中第一个追踪规则之前的“设置起点”规则设置的任何起点。 这些起点将在运行规则序列中的第二个追踪规则时再次使用,除非在第一个和第二个追踪规则之间存在其他设置起点规则。 在这种情况下,将考虑该第二组“设置起点”规则来构建新的内部起点列表,以用作第二个追踪的输入。 如果在规则序列中配置了第三个追踪规则,则原理相同。
当追踪规则配置为运行最短路径追踪类型时,准确地说,将正好需要两个起点。
从追踪位置生成逻辑示意图时设置起点规则流程
从网络地图中指定的追踪位置生成逻辑示意图时,可能会绕过设置起点规则。 在这种情况下,模板规则序列中的第一个追踪规则将始终从指定输入追踪位置中的起点进行操作,并忽略规则序列中先前设置的设置起点规则所构建的任何内部起点列表。
但是,当规则序列中有多条追踪规则时,第一条追踪规则之后的任何其他追踪规则都会忽略网络地图中的追踪位置,并在追踪运行时只要内部列表不为空,就会考虑内部列表中的起点。
设置起点规则配置
要在模板上配置“设置起点”规则,请使用添加按属性设置起点规则工具。
提示:
在按属性配置逻辑示意图规则时,可以使用以下特定的 SQL 语句、根据其他逻辑示意图要素属性值,过滤掉网络源属性值上的逻辑示意图要素:WHERE 'OBJECT' = 'IN_DIAGRAM'。 例如,要查询生成的逻辑示意图中具有最小属性值的逻辑示意图要素,您可以根据以下语法使用 SQL 表达式设置任何按属性添加 <XXX> 规则工具:<attributeName> = (SELECT MIN(<attributeName>) FROM <networkClassName>) WHERE 'OBJECT' = 'IN_DIAGRAM'
假设您负责维护一个下水道网络,并且希望创建逻辑示意图,使其既能显示特定升降站上游的所有升降站,又能显示这些上游升降站的所有下游升降站。 在这种情况下,您将通过链接以下规则工具来设置逻辑示意图模板规则序列:
- 第一个添加按属性设置起点规则工具用于将您感兴趣的升降站设置为第一个起点。
- 第一个添加轨迹规则工具用于运行从该输入升降站开始的上游追踪。
- 第二个添加按属性设置起点规则工具用于将上游追踪返回的所有升降站设置为新起点。
- 第二个添加轨迹规则工具用于从每个上游升降站开始运行下游追踪。