描述
用于基于属性查询添加、更新或移除选择内容。
使用方法
语法
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 (可选) | 指定如何应用所选内容以及如果已存在已选内容要执行的操作。
| String |
where_clause (可选) | 用于选择记录子集的 SQL 表达式。有关 SQL 语法的详细信息,请参阅在 ArcGIS 中使用的查询表达式的 SQL 参考。 | SQL Expression |
invert_where_clause (可选) | 指定是按原样使用表达式,还是使用与表达式相反的表达式。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
out_layer_or_view | 已应用选择的已更新输入。 | 表视图;栅格图层;要素图层 |
count | 所选记录的数量。 | Long |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 SelectLayerByAttribute 函数。
import arcpy
arcpy.SelectLayerByAttribute_management("states", "NEW_SELECTION",
"[NAME] = 'California'")
以下独立脚本显示了如何在工作流中使用 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: 是