Seleccionar capa por atributo (Administración de datos)

Resumen

Agrega, actualiza o elimina una selección en función de una consulta de atributos.

Uso

  • Si la entrada es una clase de entidad o una ruta de dataset, esta herramienta creará y devolverá automáticamente una nueva capa con el resultado de la herramienta aplicada.

  • Si la fuente de datos de entrada es un servicio de entidades, se recomienda que ArcGIS Server subyacente use consultas SQL estándar.

  • Si hay una consulta de definición en la entrada, solo se usarán en la selección las entidades o filas que coincidan con la consulta de definición.

  • Al usar las consultas Está por encima de la media y Está por debajo de la media, la función AVG siempre se ejecutará en los datos de origen, aunque la capa de entrada sea un subconjunto de datos de origen.

  • El número de registros seleccionados aparecerá en el historial de geoprocesamiento, en Parámetros > Recuento. Además, la herramienta Obtener conteo se puede utilizar para contar el número de registros seleccionados. En Python, también se puede acceder al número de registros seleccionados desde el objeto Result de la herramienta.

Sintaxis

arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})
ParámetroExplicaciónTipo de datos
in_layer_or_view

Los datos a los que se aplicará la selección.

Table View; Raster Layer; Mosaic Layer
selection_type
(Opcional)

Especifica cómo se aplicará la selección y qué hacer si ya existe una selección.

  • NEW_SELECTIONLa selección resultante reemplaza a la selección actual. Esta es la opción predeterminada.
  • ADD_TO_SELECTIONLa selección resultante se agrega a la selección actual, si la hay. Si no existe ninguna selección, coincide con la opción de nueva selección.
  • REMOVE_FROM_SELECTIONLa selección resultante se quita de la selección actual. Si no existe ninguna selección, esta opción no tendrá efecto.
  • SUBSET_SELECTIONLa selección resultante se combina con la selección actual. Solo permanecen seleccionados los registros comunes a ambas selecciones.
  • SWITCH_SELECTIONLa selección se cambia. Todos los registros seleccionados se quitan de la selección actual y todos los registros no seleccionados se agregan a la selección actual. El parámetro Expresión (where_clause en Python) se ignora al especificar esta opción.
  • CLEAR_SELECTIONLa selección se borra o se elimina. El parámetro Expresión (where_clause en Python) se ignora al especificar esta opción.
String
where_clause
(Opcional)

Una expresión SQL utilizada para seleccionar un subconjunto de registros. Para obtener más información sobre la sintaxis SQL, consulte Referencia SQL para las expresiones de consulta utilizadas en ArcGIS.

SQL Expression
invert_where_clause
(Opcional)

Especifica si se invertirá la expresión o se utilizará tal cual.

  • NON_INVERTLa consulta se utilizará tal cual. Esta es la opción predeterminada.
  • INVERTSe utilizará la consulta invertida. Si se usa el parámetro selection_type, la inversión de la selección se producirá antes de que se combine con las selecciones existentes.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_layer_or_view

Las entradas actualizadas con selecciones aplicadas.

Vista de tabla; Capa ráster; Capa de entidades
count

El número de registros seleccionados.

Largo

Muestra de código

Ejemplo de SelectLayerByAttribute (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función SelectLayerByAttribute en modo inmediato.

import arcpy
arcpy.SelectLayerByAttribute_management("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")
Ejemplo 2 de SelectLayerByAttribute (script independiente)

El siguiente script independiente muestra cómo utilizar la función SelectLayerByAttribute en un flujo de trabajo para extraer entidades en una nueva clase de entidad basada en la ubicación y en una consulta de atributos.

# 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')

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados