逻辑示意图规则对于从逻辑示意图中自动添加或移除内容非常有用。例如,在公用设施网中,常常会存在用户不愿在其逻辑示意图中看到的设备类型。因此,“ArcGIS 逻辑示意图”有一个允许减去这些项的“按优先级减去结点”的规则,并且会将连接这些项的链接转换成连接到后续项的超跨度链接。另一个例子是社会网络,其组成对象通过地理数据库中的关系类彼此关联。此处,您可能想让用户仅选择地图上的一个对象,并且让逻辑示意图使用关系类信息自动将关联项添加到逻辑示意图中。为此,要在“逻辑示意图”中使用关系规则。还有一些其他规则,均为特定用途而构建。有关每个可用规则的详细信息,请参阅帮助文件。
在本练习中,您将使用两种不同的规则执行以下任务:
- 配置减去结点规则以便从逻辑示意图中移除某些内容。
- 配置关系规则,以将某些内容添加到逻辑示意图。
- 修改关系规则,以便从逻辑示意图上获得容器。
创建并配置减去结点规则
首先创建并配置减去结点规则,移除存在于逻辑示意图中的 pipelines_Net_Junctions 结点。网络交汇点是几何网络的一部分,并不存在于实际设备中。因此,必要时可以删除它们。
- 启动 ArcCatalog。
- 浏览至 C:\ArcGIS\ArcTutor\Schematics 的根目录,并选择其中的 AdvancedSchematicDB 地理数据库。
- 单击地理数据库中的 AdvancedSchematic 逻辑示意图数据集,并从快捷菜单中选择编辑 。
将弹出逻辑示意图数据集编辑器 对话框。
- 如果未选择,则单击逻辑示意图数据集编辑器 树中的 BrazilTemplate 条目。
- 单击编辑器窗口右侧的规则选项卡。
- 单击添加规则按钮 。
按优先级减去结点在类型下拉列表中是默认规则,并且是您要使用的规则。可使用下拉列表查看其他可用规则。
- 单击规则属性按钮 打开按优先级减去结点的规则属性选项卡,在此完成配置。
- 在描述文本框中输入 Remove Junctions。
- 在选择要减去的逻辑示意图要素类下拉列表中,选择 pipelines_Net_Junctions。
- 选择连接限制选项。
默认选中“减去带 0 个连接的结点”和“减去带 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,如果提示保存,选择否。
创建和配置关系规则
在您使用的“Brazil”数据中已存在一个关系类。此关系类存在于 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。