按属性选择图层 (数据管理)

摘要

用于基于属性查询添加、更新或移除选择内容。

使用情况

  • 如果输入为要素类或数据集路径,则此工具将自动创建并返回应用了该工具结果的新图层。

  • 如果输入的数据源是要素服务,建议基础 ArcGIS Server 使用标准 SQL 查询

  • 如果输入上存在定义查询,则只会在选择中使用与定义查询相匹配的要素或行。

  • 在使用高于均值低于均值查询时,AVG 函数将始终在源数据上执行,即使输入图层为源数据子集的情况下也是如此。

  • 所选记录的数量将在参数 > 计数下的地理处理历史中列出。 此外,获取计数工具也可以用于计算所选记录的数量。 在 Python 中,也可以通过工具的 Result 对象访问所选记录的数量。

参数

标注说明数据类型
输入行

将应用所选内容的数据。

Table View; Raster Layer; Mosaic Layer
选择类型
(可选)

指定如何应用所选内容以及如果已存在已选内容要执行的操作。

  • 新建选择内容生成的选择内容将替换当前选择内容。这是默认设置。
  • 添加到当前选择内容当存在一个选择内容时,会将生成的选择内容添加到当前选择内容中。如果不存在选择内容,该选项的作用与新选择内容选项的作用相同。
  • 从当前选择内容中移除将生成的选择内容从当前选择内容中移除。如果不存在选择内容,该选项不起作用。
  • 选择当前选择内容的子集将生成的选择内容与当前选择内容进行组合。只有两者共同的记录才会被选取。
  • 切换当前选择内容选择内容将被切换。将所选的所有记录从当前选择内容中移除,将未选取的所有记录添加到当前选择内容中。当指定该选项时,系统将忽略表达式参数(Python 中的 where_clause)。
  • 清除当前选择内容选择将被清除或移除。当指定该选项时,系统将忽略表达式参数(Python 中的 where_clause)。
String
表达式
(可选)

用于选择记录子集的 SQL 表达式。

SQL Expression
反向 Where 子句
(可选)

指定是按原样使用表达式,还是使用与表达式相反的表达式。

  • 未选中 - 将按原样使用查询。这是默认设置。
  • 选中 - 将反转查询。如果使用选择类型参数,则将先反转选择,然后再将其与现有选择组合。
Boolean

派生输出

标注说明数据类型
更新的图层或表视图

已应用选择的已更新输入。

表视图;栅格图层;要素图层
计数

所选记录的数量。

Long

arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})
名称说明数据类型
in_layer_or_view

将应用所选内容的数据。

Table View; Raster Layer; Mosaic Layer
selection_type
(可选)

指定如何应用所选内容以及如果已存在已选内容要执行的操作。

  • NEW_SELECTION生成的选择内容将替换当前选择内容。这是默认设置。
  • ADD_TO_SELECTION当存在一个选择内容时,会将生成的选择内容添加到当前选择内容中。如果不存在选择内容,该选项的作用与新选择内容选项的作用相同。
  • REMOVE_FROM_SELECTION将生成的选择内容从当前选择内容中移除。如果不存在选择内容,该选项不起作用。
  • SUBSET_SELECTION将生成的选择内容与当前选择内容进行组合。只有两者共同的记录才会被选取。
  • SWITCH_SELECTION选择内容将被切换。将所选的所有记录从当前选择内容中移除,将未选取的所有记录添加到当前选择内容中。当指定该选项时,系统将忽略表达式参数(Python 中的 where_clause)。
  • CLEAR_SELECTION选择将被清除或移除。当指定该选项时,系统将忽略表达式参数(Python 中的 where_clause)。
String
where_clause
(可选)

用于选择记录子集的 SQL 表达式。有关 SQL 语法的详细信息,请参阅在 ArcGIS 中使用的查询表达式的 SQL 参考

SQL Expression
invert_where_clause
(可选)

指定是按原样使用表达式,还是使用与表达式相反的表达式。

  • NON_INVERT将按原样使用查询。这是默认设置。
  • INVERT将反转查询。如果使用 selection_type 参数,则将先反转选择,然后再将其与现有选择组合。
Boolean

派生输出

名称说明数据类型
out_layer_or_view

已应用选择的已更新输入。

表视图;栅格图层;要素图层
count

所选记录的数量。

Long

代码示例

SelectLayerByAttribute 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 SelectLayerByAttribute 函数。

import arcpy
arcpy.SelectLayerByAttribute_management("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")
SelectLayerByAttribute 示例 2(独立脚本)

以下独立脚本显示了如何在工作流中使用 SelectLayerByAttribute 函数,以便根据位置和属性查询提取要素并将其导入一个新要素类中。

# Name: ExtractFeaturesByLocationAndAttribute.py
# Description: Extract features to a new feature class based on a spatial 
# relationships to another layer, and an attribute query
# Import system modules
import arcpy
# Set the workspace
arcpy.env.workspace = 'c:/data/mexico.gdb'
# Select all cities that overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')
# Within selected features, further select only those cities with a 
# population > 10,000   
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')
# Write the selected features to a new feature class
arcpy.CopyFeatures_management(chihuahua_cities, 'chihuahua_10000plus')

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题