练习 4:配置逻辑示意图属性
在本练习中,您将熟悉逻辑示意图属性的配置方法。您将了解如何执行以下操作:
- 创建属性。
- 删除属性。
- 配置关联的字段属性。
- 配置查询属性。
- 配置格式化属性。
要进行本练习,需要先完成“Schematics 高级配置教程”的练习 1 和练习 2。将在之前练习中所做配置的基础上进行操作。
编辑逻辑示意图数据集
- 打开 ArcCatalog。
- 浏览并选择 Schematics 教程目录 C:\ArcGIS\ArcTutor\Schematics。
- 双击 AdvancedSchematicDB 地理数据库以显示其中的 AdvancedSchematic 逻辑示意图数据集。
-
右键单击 AdvancedSchematic 逻辑示意图数据集,然后从弹出菜单中选择 编辑。
将启动“逻辑示意图数据集编辑器”应用程序。
- 在“逻辑示意图编辑器”树中选择 BrazilTemplate 逻辑示意图模板(如果尚未选中),然后将其展开以便查看下面的所有逻辑示意图要素类。
创建逻辑示意图属性
Schematics 的很多方面都会用到属性,包括连通性和关系的符号系统、标注和高级配置项。
在决定使用配置工具创建属性之前,必须确定是否真的需要进行此操作。使用 Schematics 时,根据需要以及数据的不同有几个可用选项:
- 如果需要的属性只用于符号系统或标注,并且需要从中检索属性的表可通过 ArcMap 进行连接,则多数情况下最好在 ArcMap 中为逻辑示意图图层创建连接。建立连接的充分理由是最终用户可立即访问符号系统和标注使用的所有连接表字段。在不进行连接的情况下,假如最终用户需要访问 10 个表字段,您将需要在配置中创建 10 个属性,而一个简单的图层连接即可满足此需求。这意味着将为最终用户提供更大的灵活性并减少配置操作。有关逻辑示意图图层连接的详细信息,请参阅本教程的练习 1。
- 如果因某些外部需要而需要将属性与逻辑示意图记录一同存储,则应在“逻辑示意图数据集编辑器”中配置属性。
- 逻辑示意图因某些高级原因(如连通性、关系等)而使用属性,则必须在“逻辑示意图数据集编辑器”中定义属性。
有关使用属性定义连通性的详细信息及示例,请查看 Schematics 基本配置教程的练习 6。
-
在“逻辑示意图数据集编辑器”树中右键单击 pug_PUG_gas_plants 逻辑示意图要素类,然后从弹出菜单中选择新建属性。
在编辑器窗口的右侧会自动显示新建的逻辑示意图属性的属性 选项卡:
只有执行以下两个操作才能设置属性:- 单击确定按钮(这样可锁定属性类型)。
- 保存(这样可真正在系统中创建属性)。
-
单击确定。
此时即会在“逻辑示意图数据集编辑器”树中的 pug_PUG_gas_plants 下看到 NewAttribute 条目。
删除属性
关于属性删除操作的一些说明
- 如果未单击特性属性选项卡上的“确定”按钮且创建属性后未进行任何更改,则单击树视图中的其他项即可删除该属性。
- 如果未单击“确定”按钮但对特性属性选项卡进行了更改,则可以单击选项卡上的“取消”按钮来删除属性。如果单击树视图中的其他位置,则会提示您保存属性。
- 如果在创建属性后单击了“确定”按钮但未单击“保存”按钮 ,则在不保存的情况下关闭逻辑示意图数据集编辑器将删除属性。
- 最后,如果某属性已保存(或者至少单击了“确定”按钮),您始终可以按以下步骤将其删除:
- 在“逻辑示意图数据集编辑器”树中右键单击 NewAttribute 条目,然后从弹出菜单中选择 删除。
创建和配置“关联的字段”类型属性
使用包含关联对象类(在练习 1 中导入 .mxd 时自动设置)的逻辑示意图要素类时,“关联的字段”属性最为常见。通过该属性,您可以从 GIS 要素类中选择字段并可将其添加到逻辑示意图要素类中。对于标注或符号系统,之前练习中的做法是在 ArcMap 中创建连接,而在此处您只需指向逻辑示意图图层的相应字段即可。因此,您需要对 pug_PUG_gas_plants 逻辑示意图要素类(与 pug_PUG_gas_plants GIS 要素类相关联)的 NAME 字段执行此操作。
-
在树视图中右键单击 pug_PUG_gas_plants 逻辑示意图要素类,然后从弹出菜单中选择新建属性。
关联的字段为默认属性类型。您可以根据需要从该类型列表中选择不同的属性类型。在本练习的稍后部分将用到该列表。
-
在名称字段中输入 GasPlantName。
- 当“存储模式”选项设置为字段(默认设置)时,意味着将向逻辑示意图要素类添加一个新字段。该字段将以名称字段中输入的内容作为名称,在本例中输入的名称为 GasPlantName。其他“存储模式”适用于其他内部项或开发人员创建算法所需的信息,但如果用于最终用户标注和符号系统则不应使用,因为您需要有实际字段。
- 求值模式 - 用于告知系统何时更新逻辑示意图正在追踪的值。默认设置生成\更新时意味着仅在逻辑示意图生成或更新期间将该值从 GIS 要素同步到逻辑示意图要素。如果选择开始编辑时,将在每次用户启动逻辑示意图编辑会话时强制系统对值进行同步。如果选择重绘/刷新时,将使系统始终保持同步状态。请注意,“重绘/刷新时”只能在极为特殊的情况下使用,因为它会影响逻辑示意图的性能。
-
在字段下拉列表中选择 NAME。
该列表将显示 pug_PUG_gas_plants 的所有可用 GIS 要素类字段。
- 单击确定设置该属性。
- 创建其他关联的字段属性以获取 Rel_Electric 字段。稍后即可将其作为“查询”属性定义的一部分。在“逻辑示意图数据集编辑器”树中右键单击 pug_PUG_gas_plants 逻辑示意图要素类,然后从弹出菜单中选择新建属性。
- 在名称字段中输入 RelElecID。
-
在字段下拉列表中选择 Rel_Electric。
- 单击确定。
创建和配置“查询”类型属性
- 在“逻辑示意图数据集编辑器”树中右键单击 pug_PUG_gas_plants 逻辑示意图要素类,然后从弹出菜单中选择新建属性。
- 在属性选项卡上的名称字段中输入 RelElecName。
-
在类型下拉列表中选择查询。
-
单击确定设置该属性。
在该版本中,查询属性类型中新增了使用相关联的要素数据源选项。如果要使用版本化数据且需要基于各个要素的相同版本查询其他表,请选中此复选框。这将使用相关要素的版本运行查询。在没有此选项的先前版本中,始终针对默认版本运行查询。如果要在其他数据库中进行查询,则不要选中此复选框,因为这会忽略配置并尝试使用与关联要素相同的数据源运行查询,并且无法找到尝试查询的表。由于未处在版本化环境中,因此无需使用此选项。现在您需要配置查询。
-
在属性 选项卡的“查询”部分中单击查询/标识符编辑器按钮 。
将打开查询/标识符编辑器 对话框。
-
在数据源下拉列表中选择 Brazil.gdb,即源数据所在的位置。
这将填充该数据源中可用表的列表。
-
滚动表列表,然后双击 pug_PUG_electric 条目。
这会在“查询”部分填入一个默认查询。
现在需要过滤此查询以根据用户逻辑示意图中的天然气工厂返回记录。因此,您将根据来自上面定义的 RelElecID 属性的 objectID 获得行。 -
通过向现有字符串末尾添加以下内容来修改查询字符串: where objectid = ?。
这将打开一个新的参数部分。
- 在“参数”部分的名称下拉字段中选择 RelElecID。
- 取消选中为文本复选框,因为 ID 为数字。
- 在测试值字段中输入测试值 1。
-
单击“查询”部分的显示结果按钮。
这样,在“结果”部分即会显示一行关于 CAMACARI 电站的信息。您需要滚动到名称字段进行验证。
-
在窗体底部的标识符下拉列表中选择 NAME_。
现在您即已配置完毕,系统将针对用户逻辑示意图上的每个 pug_PUG_gas_plant 从关联的字段属性中获得相关的电站 ID 并在 pug_PUG_electric 表中运行属性查询以获得电站名称。
- 单击确定关闭查询/标识符编辑器 窗体。
创建和配置格式化属性
格式化属性用于合并多个属性,还可用于加入文本。在本示例中,您将合并两个属性。您将插入文本,以便能够在 pug_PUG_gas_plant 记录中看到诸如“Powered by 电厂编号 - 电厂名称”等内容。
- 在“逻辑示意图数据集编辑器”树中右键单击 pug_PUG_gas_plants 逻辑示意图要素类,然后从弹出菜单中选择新建属性。
- 在属性 选项卡的名称字段中输入 ElectricFormat。
-
从类型下拉列表中选择格式化。
-
在格式字段中,输入以下内容:Powered by %s - %s
%s 是一个占位符,用于传入其他某个属性。在本例中,您需要相关电站的 ID 和名称。
- 在参数表格中,使用顶部的下拉列表选择 RelElecID。
-
在“参数”表格中,使用底部的下拉列表选择 RelElecName。
- 单击确定设置该属性。
- 单击“逻辑示意图数据集编辑器”工具条上的保存按钮 。
- 关闭“逻辑示意图数据集编辑器”。
测试属性更改
-
使用 ArcMap 打开 Brazil.mxd 文件。
该文件位于 C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data。
- 使用 ArcMap 选择工具选中当前视图中的所有内容。
-
单击“逻辑示意图”工具条上的生成新逻辑示意图按钮 。
将打开新建逻辑示意图 对话框。
-
单击逻辑示意图数据集或文件夹下拉列表旁边的浏览按钮 。
将打开选择逻辑示意图数据集或逻辑示意图文件夹 对话框。
- 使用此对话框浏览并选择 AdvancedSchematicDB 地理数据库中的 AdvancedSchematic 逻辑示意图数据集,具体位置为 C:\ArcGIS\ArcTutor\Schematics。
-
单击添加按钮。
由于您的配置仅包含一个逻辑示意图模板 (BrazilTemplate),因此在逻辑示意图模板部分会自动将其选中。
-
在逻辑示意图名称文本框中输入 TestAttributes。
-
单击确定。
此时即会看到逻辑示意图已按照逻辑示意图模板的默认设置以“等级 – 压缩树”布局形式进行显示。在“逻辑示意图编辑器”工具条中,布局任务也设置为等级 – 压缩树。
-
在内容列表中,双击位于 TestAttributes 逻辑示意图图层下的 pug_PUG_gas_plants 条目。
将打开图层属性 窗口。
- 单击字段选项卡。
-
向下滚动字段列表,即会在该列表底部看到新创建的属性。
请注意,这只是由于您已将它们的“存储模式”指定为“字段”。
- 单击标注 选项卡。
- 选中标注此图层中的要素对应的复选框(如果尚未选中)。
-
在标注字段的下拉列表中选择 SCH1E_pug_PUG_gas_plants.ElectricFormat 字段。
-
单击确定。
现在即会看到带有 Powered by1 - CAMACARI 标注的天然气工厂。请记住,此标注由三种不同属性(电厂编号的关联字段、电厂名称的查询属性,以及用于将这些内容组合到一起的格式化属性)而创建。
- 关闭 ArcMap 和 ArcCatalog,并在所有保存对话框中单击否。