标准构建器是经过配置便可根据以几何网络形式组织的 GIS 要素方便快捷地生成逻辑示意图的构建器。在本练习中,您将学习如何创建和配置一个逻辑示意图模板以便根据几何网络示例 ElectricNetwork_Net 生成逻辑示意图。此几何网络存储在随 Schematics 教程数据一起提供的 ElecDemo 教程地理数据库中。要完成该配置,需要使用在练习 1 中创建的 SchematicBuilderSamples 逻辑示意图数据集。
- 编辑存储在 C:\ArcGIS\ArcTutor\Schematics\TutorialSchematicDB 地理数据库中的 SchematicBuilderSamples 逻辑示意图数据集,方法为:在 ArcCatalog 中浏览到此数据库,右键单击该数据集,然后选择编辑菜单选项 。
基于标准构建器创建逻辑示意图模板
第一阶段是创建逻辑示意图模板,可使用该模板由几何网络数据生成逻辑示意图。
- 在“逻辑示意图数据集编辑器”树中右键单击 SchematicBuilderSamples 条目,然后单击新建逻辑示意图模板。
在编辑器 窗口右侧会自动显示新建逻辑示意图模板的属性选项卡: 此选项卡中包含了各种带有自身默认值的参数。默认的逻辑示意图构建器为“标准构建器”,这也是要用于构建逻辑示意图模板(将用于处理几何网络数据)的构建器。
- 在名称文本框中输入 DiagramsFromGeometricNetwork。
- 由于其他参数使用默认值即满足需要,因此请直接单击确定即可。
将在“逻辑示意图数据集编辑器”树中自动显示一个条目用以表示 DiagramsFromGeometricNetwork 逻辑示意图模板。同时编辑器 窗口右侧将显示三个新的选项卡,即关联、布局和规则。
结束上述步骤后,逻辑示意图数据集编辑器 将如下所示:
通过从要素图层进行导入的方式创建逻辑示意图要素类
逻辑示意图模板用于生成特定类型的逻辑示意图,其中包含了一组所需的逻辑示意图要素。下一阶段是指定希望在基于逻辑示意图模板 DiagramsFromGeometricNetwork 创建的逻辑示意图中包含哪些逻辑示意图要素类。当使用逻辑示意图模板生成各种完全或部分基于 GIS 要素的逻辑示意图时,可以使用一个名为“从要素图层导入”的简单功能来快速创建所需的逻辑示意图要素类。“从要素图层导入”功能的操作对象是存储在地图文档(已添加了 GIS 要素的文档)中的要素图层。此功能不仅可以创建逻辑示意图要素类,同时还可以设置默认的逻辑示意图图层属性,以便生成的逻辑示意图中包含的逻辑示意图要素的显示方式与关联的 GIS 要素在地图文档中的显示方式相同。
- 在“数据集编辑器”树中右键单击 DiagramsFromGeometricNetwork 逻辑示意图模板条目,然后单击从要素图层导入。
将打开从要素图层导入 对话框:
- 单击地图或图层文件区域省略号按钮。
将打开选择要导入的地图或图层文件 对话框。
- 浏览至存储在 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\GeometricNetwork_Data 文件夹中的 MapToImport MXD 文档并将其选中。
此地图文档中包含了与 ElectricNetwork 要素数据集的要素类相关联的要素图层。这些 GIS 要素类存储在 C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo 地理数据库中。
- 单击添加。
将关闭选择要导入的地图或图层文件 对话框。
进而自动填充从要素图层导入 对话框中的内容,如下面的屏幕截图所示:指定的地图文档内容列表中的所有要素图层都将列在选择要导入的要素图层列表中。与 ElectricNetwork_Net 几何网络中的内容相关联的项默认处于选中状态。
- 单击确定。
导入过程结束后,选择要导入的要素图层列表中所选中的每个逻辑示意图要素图层,都将在逻辑示意图数据集编辑器 中相应地显示为一个新建的逻辑示意图要素类。展开 ProtectionDeviceBank、TransformerBank、Primaryline 和 SecondaryLine 逻辑示意图要素类项后您会发现,导入过程中已自动为导入的逻辑示意图要素类创建了逻辑示意图属性:这些属性与导入的地图文档中用于标注或分类的相关 GIS 要素的相同字段相关联。
如果在逻辑示意图数据集编辑器 树中展开数据源条目,您会发现在导入过程中已自动添加了新建的逻辑示意图数据源 ElecDemo。此数据源便是用于与导入的地图文档中包含的 GIS 数据相连接的数据源。
- 单击保存。
至此,逻辑示意图数据集的配置过程便已完成,可以根据在此地图文档或包含相同 GIS 数据的其他地图文档中所指定的选择集或追踪结果生成逻辑示意图。
- 关闭逻辑示意图数据集编辑器。
根据相关 GIS 要素生成逻辑示意图
在本部分中,将根据新建的 DiagramsFromGeometricNetwork 逻辑示意图模板生成第一个逻辑示意图。
- 启动 ArcMap。
- 加载存储在 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\GeometricNetwork_Data 文件夹中的 MapToImport MXD 文档。
- 单击主菜单上的书签下拉菜单,然后单击 First GIS Features Set。
- 单击按矩形选择按钮 ,然后选择一组 GIS 要素,如下面的屏幕截图所示:
- 单击逻辑示意图 工具条上的生成新逻辑示意图按钮 。
将打开新建逻辑示意图 对话框:由于地图中显示的 GIS 数据来源于 ElecDemo 地理数据库,而此地理数据库中恰好已经存在一个逻辑示意图数据集,因此当前所选的 GeoSchematic 逻辑示意图模板来源于此逻辑示意图数据集。由于要基于新建的 SchematicBuilderSamples 逻辑示意图数据集中配置的新建 DiagramsFromGeometricNetwork 逻辑示意图模板来创建逻辑示意图,因此需要首先指向该逻辑示意图数据集:
- 单击逻辑示意图数据集或文件夹浏览按钮 。
将打开选择逻辑示意图数据集或逻辑示意图文件夹 对话框。
- 浏览到 C:\ArcGIS\ArcTutor\Schematics 并从中选择在练习 1 中创建的 TutorialSchematicDB 地理数据库。
- 双击此地理数据库,然后选择 SchematicBuilderSamples 逻辑示意图数据集。
- 单击添加。
将自动填充新建逻辑示意图 对话框中的内容,如下面的屏幕截图所示: 此逻辑示意图数据集 (DiagramsFromGeometricNetwork) 中包含的唯一一个逻辑示意图模板在逻辑示意图模板下拉列表中已处于选中状态。
- 单击逻辑示意图数据集或文件夹浏览按钮 。
- 在逻辑示意图名称字段中输入 FirstDiagram_FromSelection。
完成本步骤后,新建逻辑示意图 对话框中显示的内容如以下屏幕截图所示:
- 单击确定。
开始生成过程,新生成的逻辑示意图将显示在自动添加到地图文档的一个新的数据框中:
使用连接绘制和标注逻辑示意图要素
刚生成的逻辑示意图中所包含的逻辑示意图要素将以默认的逻辑示意图图层属性进行显示。在本练习第一部分使用“从要素图层导入”命令配置逻辑示意图模板的过程中系统已自动设置了这些默认图层属性。由于这些属性是基于导入过程中创建的逻辑示意图属性设置的,因此组成逻辑示意图图层的各要素图层的属性与导入的各地理要素图层的图层属性完全相同。
但由于逻辑示意图要素是标准要素,因此逻辑示意图中各要素图层的大多数属性也都可以像其他任何图层一样通过图层属性 对话框加以控制。尤其是在使用几何网络数据时(如在本练习中),逻辑示意图要素会追踪关联的真实 GIS 要素对象,并在逻辑示意图要素图层上配置连接以获取关联的 GIS 属性。然后就可以使用这些 GIS 属性绘制和标注逻辑示意图要素,而无需在逻辑示意图要素类上对逻辑示意图属性进行任何特殊配置。在本部分中,您将在某些要素图层上添加一个连接,并使用连接属性绘制和标注逻辑示意图要素,从而通过这种方式修改生成的逻辑示意图的图层属性。
根据关联的 GIS 要素的属性值绘制逻辑示意图要
以下步骤介绍了如何对逻辑示意图要素图层 ServiceLocation 配置连接以获取关联 GIS 要素的属性,进而使用这些 GIS 属性值绘制 ServiceLocation 逻辑示意图要素。
- 在 ArcMap 的内容列表中右键单击 FirstDiagram_FromSelection 逻辑示意图图层下的 ServiceLocation 要素图层。
- 选择属性菜单选项。
将打开图层属性 对话框。
- 单击连接和关联选项卡。
- 在左侧的“连接”部分中单击添加。
将打开连接数据 对话框。
- 从选择该图层中连接将基于的字段下拉列表中选择 UOID。
UOID 是 Schematics 存储真实要素的 objectid 的字段。
- 单击选择要连接到此图层的表,或者从磁盘加载表下拉列表旁的浏览按钮。
将 添加 对话框。
- 导航到存储在 C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo 地理数据库中的 ElectricNetwork 要素数据集,然后选择 ServiceLocation 要素类。
ServiceLocation GIS 要素类与 ServiceLocation 逻辑示意图要素类相关联。
- 单击添加按钮。
- 从选择此表中要作为连接基础的字段下拉列表中选择 OBJECTID。
至此,您已创建从逻辑示意图要素类到真实 GIS 要素类的连接:
- 单击确定。
将关闭连接数据 对话框。
- 从选择该图层中连接将基于的字段下拉列表中选择 UOID。
- 接下来,您将使用连接的 GIS 属性在逻辑示意图中绘制 ServiceLocation 逻辑示意图要素:
- 单击符号系统选项卡。
- 在显示部分中单击类别下的唯一值。
- 从值字段下拉列表中选择 ONWHAT。
注意,此字段来源于与连接到的 ServiceLocation GIS 要素类。此时,此要素类的全部 GIS 属性都会显示在“值字段”列表中。
- 单击添加所有值按钮。
- 选择所有可能显示在 Building 值旁的值,然后单击移除按钮。
仅保留特定的 Building 值。
- 设置想要分别使用哪种符号系统来表示具有 Building 值的 ServiceLocation 逻辑示意图要素和具有其他值的 ServiceLocation 逻辑示意图要素。
- 单击确定,然后关闭图层属性 对话框。
由于建立了连接,此时的 ServiceLocation 逻辑示意图要素会以特定的符号系统(基于关联的 GIS 要素的 ONWHAT 属性值)进行显示:
根据关联的 GIS 要素的属性值标注逻辑示意图要素
接下来,您将使用另一个已连接的 GIS 属性来标注 ServiceLocation 逻辑示意图要素:
- 在 ArcMap 的内容列表中右键单击 FirstDiagram_FromSelection 逻辑示意图图层下的 ServiceLocation 要素图层。
- 选择属性菜单选项。
将打开图层属性 对话框。
- 单击标注选项卡。
- 选中标注此图层中的要素复选框。
- 从标注字段下拉列表中选择 PhaseCode。
注意,此字段来源于与连接到的 ServiceLocation GIS 要素类。此时,此要素类的全部 GIS 属性都会显示在“标注字段”列表中。
此时标注 选项卡上的内容应如下面的屏幕截图所示:
- 单击确定。
- 单击确定,然后关闭图层属性 对话框。
由于建立了连接,此时的 ServiceLocation 逻辑示意图要素会以特定的标注(基于来自相关 GIS 要素的 PhaseCode 属性值)进行显示。
此时,ServiceLocation 逻辑示意图要素已使用关联的逻辑示意图要素的属性值进行标注和绘制。此自定义内容目前仅影响 FirstDiagram_FromSelection 示例逻辑示意图。但如果您愿意,也可将当前配置的图层属性指定为关联的逻辑示意图模板的默认逻辑示意图图层属性,这样任何基于此模板的逻辑示意图都将以此种方式进行显示。有关此类型配置的详细信息,请参阅“高级配置教程”的第一个练习中的创建一个用作逻辑示意图模板默认值的图层文件部分。