实施“折叠相关要素”规则
在配置“折叠相关要素”规则之前,必须检查逻辑示意图数据集中是否存在执行规则所必需的结点逻辑示意图要素类,并且该要素类是否与将要指定该规则的逻辑示意图模板相关联。
通过“折叠相关要素”规则可得到这样的逻辑示意图:其中与给定结点逻辑示意图要素类实现的某些特定父结点相关的所有逻辑示意图要素都已折叠,并且在用于连接这些折叠逻辑示意图要素的连接线在父结点上重新连接后会保留拓扑结构。折叠的要素是与父逻辑示意图结点相关的逻辑示意图要素。这些关联关系源自于关系规则、空间查询规则或逻辑示意图数据集中存储的、使用 PEN 和 PTN 预定义属性指定的关联关系。
折叠的逻辑示意图要素是与指定父逻辑示意图结点关联的逻辑示意图连接线和结点,它们将以隐藏状态存在于所生成的最终逻辑示意图中。您可以折叠与指定父结点逻辑示意图要素类的所有结点相关联的逻辑示意图要素,也可以仅折叠与使用以下方法过滤出来的某些特定父逻辑示意图结点相关联的逻辑示意图要素:
- 用于过滤与父结点逻辑示意图要素类关联的真实要素类/对象表的 SQL 过滤器
- 专用于确定将哪些父结点的相关要素折叠(或不折叠)的扩展条件
例如,该规则只能折叠 (1) 与验证特定字段值的父结点关联的逻辑示意图要素 (2) 与验证函数代码所检测的特定属性值的父结点关联的逻辑示意图要素 (3) 与同时验证这两种条件的父结点关联的逻辑示意图要素。
如果没有任何逻辑示意图要素与指定父结点逻辑示意图要素类相关联,则“折叠相关要素”规则无效。
以下步骤重点介绍了对“折叠相关要素”规则的“规则属性”页面的配置(如果在“规则”选项卡工具条上单击“规则属性”按钮,同时该选项卡中已添加了这样的“折叠相关要素”规则,就会显示此页面)。要了解如何在“规则”选项卡中添加新规则项以及如何显示“规则属性”页,请参阅指定逻辑示意图模板的逻辑示意图规则主题。
对于刚刚添加到“规则”选项卡中的“折叠相关要素”规则,如果单击“规则”选项卡工具条上的 规则属性按钮,将打开下图所示的规则属性 对话框:
-
在描述字段中输入对规则的描述。
此描述字符串将显示在相关规则项的“规则”选项卡中,在逻辑示意图生成和更新过程中也会显示,以告知用户规则正在执行中。
-
从选择父结点逻辑示意图要素类下拉列表中选择父结点逻辑示意图要素类的名称。
此下拉列表中仅提供与逻辑示意图模板关联的结点逻辑示意图要素类。
规则配置进行到此步骤时,会将与父结点逻辑示意图要素类实现的所有结点相关的所有要素都配置为折叠状态。
-
如果要对父结点指定 SQL 过滤器,以便仅折叠某些父结点的相关逻辑示意图要素,请执行以下操作:
-
单击关联要素/对象类的 SQL 过滤器区域右侧的编辑按钮。
将打开 SQL 查询 对话框。
-
构建所需的 SQL 表达式。
该过滤操作的作用对象是指定父结点逻辑示意图要素类所关联的要素类或对象类中存储的字段。
-
单击确定。
将关闭 SQL 查询 对话框,并且刚指定的 SQL 过滤器会自动显示在关联要素/对象类的 SQL 过滤器区域中。
随后将使用指定的 SQL 过滤器来确定要将关联的逻辑示意图要素折叠的一部分父逻辑示意图结点。对于不验证 SQL 过滤器的父结点,与其相关联的逻辑示意图要素在规则执行期间将不会折叠。
-
单击关联要素/对象类的 SQL 过滤器区域右侧的编辑按钮。
-
如果要使用特定扩展条件,请执行以下操作:
- 选中使用扩展条件复选框。
- 从下拉列表中选择所需扩展条件。
“折叠相关要素”规则的扩展条件是用于实现 esriSchematic.ISchematicCollapseRelatedElementsExtended 接口的组件。
注:如果未在计算机的“ESRI 逻辑示意图规则扩展条件”类别中注册任何自定义的折叠扩展条件,则“使用扩展条件”下拉列表和“使用扩展条件”复选框将不可用。
扩展条件组件的作用对象是父结点折叠候选项(即,在执行步骤 2 和步骤 3 中指定的选项后产生的这组父结点)。然后,它会根据自己的条件为每个候选结点确定在执行规则期间是否折叠与其关联的逻辑示意图要素。
- 将用于连接相关逻辑示意图要素的连接线重新连接到父逻辑示意图结点以保留拓扑结构时,如果想要让原来沿这些连接线显示的顶点继续显示,请选中保留折点选项。
- 单击确定以关闭规则属性 对话框。