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á una nueva capa con el resultado de la herramienta aplicada.

  • 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.

  • El número de registros seleccionados aparecerá en el historial de geoprocesamiento. Haga clic en Parámetros > Recuento para acceder a ellos. 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.

  • Al aplicar selecciones, es posible una selección de cero registros. Por ejemplo, seleccionar un valor de campo que no está presente, da como resultado una selección de cero registros. Una herramienta de geoprocesamiento que utilice la capa como entrada no utilizará ningún registro de la entrada.

  • Los delimitadores de campo utilizados en una expresión SQL difieren según el formato de los datos consultados. Por ejemplo, las geodatabases de archivos y los shapefiles usan comillas dobles, y las geodatabases corporativas no usan delimitadores de campo. Puede usar la función AddFieldDelimiters para asegurarse de que los delimitadores de campo usados con la expresión SQL sean correctos.

  • Si la fuente de datos de la entrada es un servicio de entidades, se recomienda que el ArcGIS Server subyacente utilice consultas SQL estandarizadas.

Parámetros

EtiquetaExplicaciónTipo de datos
Filas de entrada

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

Table View; Raster Layer; Mosaic Layer
Tipo de selección
(Opcional)

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

  • Nueva selecciónLa selección resultante reemplazará a la selección actual. Esta es la opción predeterminada.
  • Añadir a selección actualLa selección resultante se agregará a la selección actual, si la hay. Si no existe ninguna selección, coincide con la opción de nueva selección.
  • Eliminar de la selección actualLa selección resultante se quitará de la selección actual. Si no existe ninguna selección, esta opción no tendrá efecto.
  • Seleccionar subconjunto de la selección actualLa selección resultante se combinará con la selección actual. Solo permanecen seleccionados los registros comunes a ambas selecciones.
  • Cambiar la selección actualLa selección se cambiará. Todos los registros seleccionados se eliminarán de la selección actual y todos los registros no seleccionados se agregarán a la selección actual. El parámetro Expresión se ignora al especificar esta opción.
  • Borrar la selección actualLa selección se borrará o se eliminará. El parámetro Expresión se ignora al especificar esta opción.
String
Expresión
(Opcional)

Una expresión de SQL utilizada para seleccionar un subconjunto de registros.

SQL Expression
Invertir cláusula Where
(Opcional)

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

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

Salida derivada

EtiquetaExplicaciónTipo de datos
Capa o vista de tabla actualizadas

Las entradas actualizadas con selecciones aplicadas.

Table View; Raster Layer; Feature Layer
Recuento

El número de registros seleccionados.

Long

arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})
NombreExplicació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 reemplazará a la selección actual. Esta es la opción predeterminada.
  • ADD_TO_SELECTIONLa selección resultante se agregará 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 quitará de la selección actual. Si no existe ninguna selección, esta opción no tendrá efecto.
  • SUBSET_SELECTIONLa selección resultante se combinará con la selección actual. Solo permanecen seleccionados los registros comunes a ambas selecciones.
  • SWITCH_SELECTIONLa selección se cambiará. Todos los registros seleccionados se eliminarán de la selección actual y todos los registros no seleccionados se agregarán a la selección actual. El parámetro where_clause se ignora al especificar esta opción.
  • CLEAR_SELECTIONLa selección se borrará o se eliminará. El parámetro where_clause se ignora al especificar esta opción.
String
where_clause
(Opcional)

Una expresión SQL utilizada para seleccionar un subconjunto de registros.

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.

Table View; Raster Layer; Feature Layer
count

El número de registros seleccionados.

Long

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 de modo inmediato.

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

La siguiente secuencia de comandos 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 
# relationship 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.management.SelectLayerByLocation('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')

# Within selected features, further select only those cities with a 
# population > 10,000   
arcpy.management.SelectLayerByAttribute(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')

# Write the selected features to a new feature class
arcpy.management.CopyFeatures(chihuahua_cities, 'chihuahua_10000plus')

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.