使用图层和表视图

工具的最常见输入是数据集。当然,可以始终浏览至磁盘上的数据集,但是也可以使用图层或表视图作为输入。

按源列出

注注:

在表上操作的任何工具也可以在要素类或要素图层上操作。这是因为要素类只是具有包含要素形状属性的表。除此之外,它们只是表。

在 ArcMap 中打开工具对话框或在 Python 窗口中输入工具名称时,会发生以下情况:

  1. ArcGIS 检查工具参数,以查看哪些参数使用输入数据集或表。如果发现这样的参数,它会进一步检查输入数据集的类型。它是点要素类吗?是 TIN 吗?是网络吗?是表吗?
  2. 然后会扫描和过滤 ArcMap 内容列表,以查看是否有图层与参数数据集类型相匹配。如果是这样,会从匹配的图层创建一个列表,以下拉列表的形式出现在参数的控件中。可以从这些图层或表视图中选择一个作为输入。

以下图示显示缓冲区工具和它为输入要素参数构造的图层的下拉菜单。

下拉列表中的图层

有些工具只接受图层或图层文件作为输入或输出。如果您使用的工具就属于此类情况,参数的显示名称将包含文字图层(例如,输入要素图层而不是输入要素)。

使用图层(而不是浏览到磁盘上的数据集)很自然且直观。不过,除了将图层用作磁盘上数据集的简单快捷方式之外,使用图层还有许多好处。

“创建图层”工具(如创建栅格图层)可根据输入数据创建图层。此图层被临时存储在内存中;不将其保存在磁盘上,仅在当前会话中可用。如果关闭会话,图层即被删除。在 ArcCatalog 中创建的图层无法在 ArcMap 中使用,反之亦然。ArcCatalog 不显示创建的图层,但可将其用作您所在会话中其他地理工具的输入。

选择

图层或表视图中包含选择(有时称作选择集)。选择是要素类中要素的子集或表中行的子集。在 ArcMap 中,可通过多种方法来选择要素,例如:在地图显示中绘制出一个形状以选择该形状内的所有要素,或者使用逻辑表达式。使用“数据管理”工具箱图层和表视图工具集中的地理处理工具也可选择要素和行。如下图所示,在 ArcMap 中单击内容列表顶部的“按源列出”按钮 按选择列出 可查看要素或行的数目。

查看图层和表中的所选内容

几乎所有地理处理工具都只对所选要素或行的集合起作用。例如,裁剪工具在输入要素数据集和裁剪要素数据集中都只使用当前所选要素。汇总统计数据工具只对所选内容计算统计数据。实际上,工具对所选要素集合不起作用的情况极其少见。如果工具不使用所选集合,则工具参考页面会明确指出它不使用所选集合。

注注:

修改要素类方案或表方案的工具(如添加字段)不使用所选集合,因为不可能只将字段添加到某一组记录中而不添加到另一组记录中。

内部图层

不需要使用 ArcMap 也可创建图层。在 ArcCatalog 中,可使用图层和表视图工具集中的创建要素图层工具在内存中创建要素类的内部图层。

使用地理处理工具创建图层或表视图时,新建的图层或表视图存储在不同于 ArcMap 内容列表的另外一个内部图层列表中。也就是说,地理处理实际上保存了两份图层和表视图列表:

无论图层保存在何处,在工具对话框的同一下拉列表中都会显示图层。

如果在 ArcMap 中执行创建要素图层操作,通过启用将地理处理操作的结果添加到显示中选项可将图层自动添加到 ArcMap 内容列表中。

在模型或脚本中使用图层

退出 ArcGIS Desktop 应用程序后,所有图层都将从内存中删除。一个常见的问题就是会创建将图层用作变量的模型或脚本 - 此类模型或脚本在当前会话中可正常运行,但在后续会话中会失败,因为会话结束时图层即被删除。例如,脚本中可能包含以下代码片段:

landuse_layer = "Zoning"

此例中,变量 landuse_layer 被“硬编码”为 Zoning。随后在此脚本中使用了 landuse_layer 变量,脚本将返回错误,因为当前应用程序中没有名为 Zoning 的图层。如果在 ArcMap 中用内容列表中的 Zoning 图层执行该脚本,它将正常运行,但在 ArcCatalog 中(或者当 Zoning 图层不存在时)执行该脚本便会失败。

模型也同样如此。如果要创建的模型中使用了 Zoning 图层,该模型便会失败,因为应用程序中没有该名称对应的图层。

含 zoning 图层的模型

在这两种情况下,可采用以下其中一种方式:

使用图层文件

图层可以图层文件(扩展名为 .lyr 的文件)的形式保存到磁盘,然后用作接受图层的任意工具的输入。

图层文件与内部图层(例如 ArcMap 内容列表中的图层,包括图层选择)包含的信息相同,包括选择要素的信息。

要创建一个图层文件,可以使用保存至图层文件工具。在 ArcMap 中,可以右键单击内容列表中的图层,再单击另存为图层文件

对于接受图层的任意工具,可以浏览至磁盘上的图层文件 (.lyr),就象浏览至磁盘上的数据集一样。然而,浏览至图层文件时,有些工具不能确定图层文件中包含的数据类型,因此会显示全部图层文件。如果选择的图层文件不当,工具会显示错误或警告。

重复的图层名称 - 使用图层组

在 ArcMap 中,允许内容列表中存在多个名称相同的图层。当地理处理通过扫描内容列表来构建图层列表时,它不会删除重复的图层名称,因此,无论名称是否重复,图层下拉列表中都将包含所有图层。

警告警告:

如果选择具有重复名称的图层,则将无法分辨出要使用的图层。

解决此问题的最佳方法是使用图层组,将重复图层置于不同的图层组中。下图显示了 ArcMap 内容列表中的两个图层组,每个图层组中各包含一个同名的图层。在添加字段工具对话框中,图层组以树视图的形式加以显示,以便您能够选择正确的图层。

图层组

相关主题


7/10/2012