练习 2:配置逻辑示意图规则
逻辑示意图规则对于从逻辑示意图中自动添加或移除内容非常有用。例如,在公用设施网中,常常会有用户不愿在其逻辑示意图中看到的设备类型。因此,逻辑示意图有一个允许减少这些项的“按优先级减少结点”规则,并且会将连接这些项的连接线转换成连接到后续项的高强格栅。社会网络也是一个示例,其内容通过地理数据库中的关系类彼此相关。此处,您可能想让用户仅选择地图上的一个内容,并且让逻辑示意图使用关系类信息自动将相关项添加到逻辑示意图。为此,要在逻辑示意图中使用“关系规则”。还有一些其他规则,均为特定用途而构建。有关每个可用规则的详细信息,请参阅帮助文件。
在本练习中,您将使用两种不同的规则执行以下任务:
- 配置减少结点规则以便从逻辑示意图中移除某些内容。
- 配置关系规则,以将某些内容添加到逻辑示意图。
- 修改关系规则,以便在逻辑示意图上获得容器。
要进行本练习,需要先完成“Schematics 高级配置教程”的练习 1。将在练习 1 中所做的配置的基础上进行操作。
创建和配置“减少结点”规则
首先创建和配置减少结点规则,移除出现在逻辑示意图中的 pipelines_Net_Junctions 结点。网络交汇点只是几何网络的一部分,并不是真实世界设备的一部分。因此,必要时可以删除它们。
- 打开 ArcCatalog。
- 浏览至 C:\ArcGIS\ArcTutor\Schematics 的根目录,并选择其中的 AdvancedSchematicDB 地理数据库。
-
右键单击此地理数据库中的 AdvancedSchematic 逻辑示意图数据集,然后从弹出菜单中选择 编辑。
将启动“逻辑示意图数据集编辑器”应用程序。
- 如果未选择,则单击“逻辑示意图数据集编辑器”树中的 BrazilTemplate 条目。
- 单击编辑器窗口右侧的规则 选项卡。
-
单击添加规则按钮 。
按优先级减少结点在类型下拉列表中恰巧是默认规则,并且是您要使用的规则。可使用下拉列表查看其他可用规则。
- 单击规则属性按钮 打开按优先级减少结点的规则属性 选项卡,在此完成配置。
- 在描述文本框中输入 Remove Junctions。
- 在选择要减少的结点逻辑示意图要素类下拉列表中,选择 pipelines_Net_Junctions。
- 选择连接限制选项。
-
取消选中下列两项旁的复选框。
- 减少带 1 个连接的结点
- 减少带 2 个以上连接的结点
也可以选择无连接约束(移除全部)来移除包含 1 个连接和超过 2 个连接的项目,但是需要先对结果进行分析。逻辑示意图中的连接线要素必须有 2 个连接结点。如果移除带 1 个连接的结点(它们位于连接线的末端),则此连接线也必须被移除。如果移除带 2 个以上连接的结点,则可能会导致连接错误,因为可能有多个逻辑连接的方法。有关本规则的详细信息和其他可用参数,请参阅帮助文档。
- 单击确定。
- 单击“逻辑示意图数据集编辑器”工具条上的保存按钮 。
测试按优先级减少结点的规则
-
使用 ArcMap 打开 Brazil.mxd 文件。
该文件位于 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data。
- 单击“逻辑示意图”工具条上的打开逻辑示意图按钮 ,打开选择要打开的逻辑示意图 对话框。
-
浏览到 C:\ArcGIS\ArcTutor\Schematics 中的 AdvancedSchematicDB 地理数据库,从 AdvancedSchematic 逻辑示意图数据集中选择名为 TestDiagram 的逻辑示意图。
-
单击添加按钮,在地图中打开此逻辑示意图。
请注意,此时未发生任何变化。仅在逻辑示意图生成或更新期间应用规则。
- 右键单击属于 TestDiagram 逻辑示意图图层的 pipelines_Net_Junctions 图层,然后选择选择 > 全选。
-
单击内容列表 窗口工具条上的按选择列出按钮 。
请注意逻辑示意图中当前 pipelines_Net_Junctions 要素的数量。
- 单击“基础工具”工具条上的清除所选要素按钮 。
- 单击内容列表 窗口工具条上的按绘制顺序列出按钮 。
-
单击“逻辑示意图”工具条上的逻辑示意图下拉列表,然后选择 更新逻辑示意图以打开更新逻辑示意图 对话框。
- 单击确定。
- 右键单击属于 TestDiagram 逻辑示意图图层的 pipelines_Net_Junctions 图层,然后选择选择 > 全选。
-
单击内容列表 窗口工具条上的按选择列出按钮 。
请注意逻辑示意图中当前 pipelines_Net_Junctions 要素的数量。此数目应该明显减少。您的屏幕截图可能不完全与此相符,这取决于生成 TestDiagram 逻辑示意图时您的最初选择。
- 关闭 ArcMap,如果提示保存,选择否。
创建和配置关系规则
在您使用的“巴西”数据中已存在一个关系类。此关系类存在于 pug_PUG_gas_plants 要素类和 pug_PUG_electric 要素类之间。由于 pug_PUG_electric 不是几何网络的一部分,因此,在先前运行“从要素图层导入”时并不导入。首先导入该图层。
- 切换到“逻辑示意图数据集编辑器”应用程序。
-
右键单击“逻辑示意图数据集编辑器”树中的 BrazilTemplate 条目,然后从弹出菜单中选择从要素图层导入。
将打开从要素图层导入 对话框。
-
单击地图或图层文件输入区域末端的省略号按钮。
将打开选择要导入的地图或图层文件 对话框。
- 使用此对话框导航至 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data,然后选择其中的 Brazil.mxd 文件。
- 单击添加按钮关闭对话框,然后更新从要素图层导入 对话框。
- 单击全部清除按钮移除全部所选项,因为您已在练习 1 中导入这些项。
-
选中 electric 旁的复选框。
-
单击确定按钮关闭此对话框。
新的 pug_PUG_electric 逻辑示意图要素类会显示在“逻辑示意图数据集编辑器”树中。
- 单击“逻辑示意图数据集编辑器”工具条上的保存按钮 。
- 单击“逻辑示意图数据集编辑器”树中的 BrazilTemplate 条目,然后单击规则 选项卡。
- 单击添加规则按钮 。
-
使用类型下拉列表选择关系。
- 单击规则属性按钮 以打开关系规则属性 选项卡,在此完成配置。
- 在描述文本框中输入 Gas to Electric。
-
使用选择源下拉列表选择 pug_PUG_gas_plants。
设置这些选项时,您必须考虑地图用户要执行的操作。在本例中,地图用户将选择天然气厂,而您想让它自动添加到电厂中。因此,此处 pug_PUG_gas_plants 将是源。系统会发现在 pug_PUG_gas_plants 和 pug_PUG_electric 之间的地理数据库中存在关系类,因此,它会自动为您填充一些信息。
-
在关系部分中,选中创建连接线复选框。
这会导致系统添加电力要素,并绘制从天然气厂到电厂的连接线,以便对它们进行逻辑上的连接,即使它们不是通过几何网络进行物理连接。
- 单击确定。
- 单击“逻辑示意图数据集编辑器”工具条上的保存按钮 。
测试关系规则
-
打开 ArcMap,然后加载 Brazil.mxd 文件。
该文件位于 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data。
- 单击“逻辑示意图”工具条上的打开逻辑示意图按钮 ,打开选择要打开的逻辑示意图 对话框。
- 浏览到 C:\ArcGIS\ArcTutor\Schematics 中的 AdvancedSchematicDB 地理数据库,从 AdvancedSchematic 逻辑示意图数据集中选择名为 TestDiagram 的逻辑示意图。
-
单击添加按钮,在地图中打开此逻辑示意图。
请注意,此时未发生任何变化。仅在逻辑示意图生成或更新期间应用规则。另请注意,在此逻辑示意图中当前没有电厂。
- 单击“逻辑示意图”工具条上的逻辑示意图下拉列表,然后选择 更新逻辑示意图菜单项。
-
单击更新逻辑示意图 对话框上的确定。
此时,由于此关系规则,您应有两条新线,将已存在于逻辑示意图上的天然气厂连接到已添加的新电厂。
- 关闭 ArcMap,然后在所有保存对话框中选择否。
修改数据集和关系规则,以便其显示容器而不显示线
此处将会做一些小的更改,以便可以使用容器查看此关系。由于发电站向两家天然气厂供电,因此将发电站绘制为一个包含其相关的两家天然气厂的容器。导入 pug_PUG_electric 要素图层时,它会变成带点几何的结点。这不适用于容器。容器必须是面或折线 (polyline)。因此,您还要予以修复。
- 切换到“逻辑示意图数据集编辑器”应用程序。
- 展开“逻辑示意图数据集编辑器”树中的 BrazilTemplate 条目,以便您可以查看与此逻辑示意图模板相关联的所有逻辑示意图要素类。
-
右键单击 pug_PUG_electric,然后从菜单中选择删除。
- 在删除消息中单击“是”。
-
单击“逻辑示意图数据集编辑器”工具条上的保存按钮 。
此时,您必须重新导入图层。
-
右键单击“逻辑示意图数据集编辑器”树中的 BrazilTemplate 条目,然后从弹出菜单中选择从要素图层导入。
将打开从要素图层导入 对话框。
-
单击地图或图层文件输入区域末端的省略号按钮。
将打开选择要导入的地图或图层文件 对话框。
- 使用此对话框导航至 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data,然后选择其中的 Brazil.mxd 文件。
- 单击添加按钮,这将关闭此对话框并更新从要素图层导入 对话框。
- 单击全部清除按钮移除全部所选项,因为您已在练习 1 中导入这些项。
-
选中 electric 旁的复选框。
-
单击确定按钮关闭此对话框。
此时,要特别小心,不要保存,因为您必须修改逻辑示意图要素类,以便其有面几何而非点几何。
- 在“逻辑示意图数据集编辑器”树中选择 pug_PUG_electric 条目。
-
使用“编辑器”窗口右侧的属性 选项卡将几何更改为面。
- 单击“逻辑示意图数据集编辑器”工具条上的保存按钮 。
- 在“逻辑示意图数据集编辑器”树中选择 BrazilTemplate 条目。
- 选择规则 选项卡。
- 选择第二行 - 关系规则,以使其成为活动行。
- 单击规则 选项卡上的规则属性按钮 。
- 选中使源与目标逻辑示意图要素相关联复选框。
-
选中反向关系复选框。
您想要发电厂在此处是父项或容器,但是它在规则中是目标,因此,必须反向关系。而且,这是因为用户会考虑选择天然气厂,而不是电厂。不过可以采用其他方式执行。
-
取消选中创建连接线复选框。
- 单击确定。
- 单击“逻辑示意图数据集编辑器”工具条上的保存按钮 。
- 关闭“逻辑示意图数据集编辑器”。
测试关系规则更改
-
打开 ArcMap,然后加载 Brazil.mxd 文件。
该文件位于 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data。
- 单击“逻辑示意图”工具条上的打开逻辑示意图按钮 ,打开选择要打开的逻辑示意图 对话框。
- 浏览到 C:\ArcGIS\ArcTutor\Schematics 中的 AdvancedSchematicDB 地理数据库,从 AdvancedSchematic 逻辑示意图数据集中选择名为 TestDiagram 的逻辑示意图。
-
单击添加按钮,在地图中打开此逻辑示意图。
请注意,此时未发生任何变化。仅在逻辑示意图生成或更新期间应用规则。但仍然会显示电厂使用连接线连接到天然气厂。
- 单击“逻辑示意图”工具条上的逻辑示意图下拉列表,然后选择 更新逻辑示意图菜单项。
-
单击更新逻辑示意图 对话框上的确定。
此时,应存在一个容器,表示电厂位于两个天然气厂的周围:
有趣的是,在编辑过程中,容器会添加一些功能。如果移动容器,其内容会随之自动移动。如果移动内容,容器会自动重新调整大小,以适应其内容。 - 关闭 ArcMap,然后在所有保存对话框中选择否。
- 关闭 ArcCatalog。