ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

按属性选择图层

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

基于属性查询在图层或表视图中添加、更新或移除选择内容。

使用方法

  • 输入必须为要素图层或表视图。不能使用要素类或表作为输入。

  • 该工具适用于 ArcMap 内容列表中的图层或表视图,也适用于在脚本中使用创建要素图层或创建表视图工具创建的图层或表视图。

  • 如果指定了范围环境,或者输入图层或表视图上存在定义查询,则只会选择处于设置范围内或与定义查询匹配的要素或行。

  • 获取计数工具可用于确定选中的要素或行的数量。在脚本或模型中确定是否需进一步处理时,此工具尤为有用。

语法

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

将应用选择的要素图层或表视图。

输入可以是 ArcMap 内容列表中的图层或表视图,也可以是在 ArcCatalog 或脚本中使用“创建要素图层”或“创建表视图”工具创建的图层或表视图。

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

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

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

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

SQL Expression

派生输出

名称说明数据类型
out_layer_or_view

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

表视图;栅格图层;镶嵌图层

代码示例

SelectLayerByAttribute 示例 1(Python 窗口)

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

import arcpy
arcpy.MakeFeatureLayer_management("C:/data/data.mdb/states", "stateslyr")
arcpy.SelectLayerByAttribute_management("stateslyr", "NEW_SELECTION", " [NAME] = 'California' ")
SelectLayerByAttribute 示例 2(独立脚本)

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

# Name: ExtactFeaturesByLocationAndAttribute.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
env.workspace = "c:/data/mexico.gdb"
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("cities", "lyr") 
 
# Select all cities which overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("lyr", "intersect", "chihuahua", 0, "new_selection")
# Within selected features, further select only those cities which have a population > 10,000   
arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", ' "population" > 10000 ')
 
# Write the selected features to a new featureclass
arcpy.CopyFeatures_management("lyr", "chihuahua_10000plus")

环境

  • 自动提交
  • 当前工作空间
  • 范围

许可信息

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

相关主题

  • 图层和表视图工具集概述
  • 使用图层和表视图
  • 使用图层和表视图
  • 创建和使用图层选择
  • 构建查询表达式
  • 在 ArcGIS 中使用的查询表达式的 SQL 参考

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明