Seleccionar capa por atributo (Administración de datos)
Resumen
Agrega, actualiza o quita una selección en una capa o vista de tabla basada en una consulta de atributos.
Uso
-
La entrada debe ser una capa de entidades o una vista de tabla. La entrada no puede ser una tabla o clase de entidad.
-
Esta herramienta funciona sobre capas o vistas de tabla en la tabla de contenido de ArcMap y también sobre capas o vistas de tabla creadas en una secuencia de comandos con las herramientas Crear capa de entidades o Crear vista de tabla.
-
Si se especifica un Entorno de extensión, o si hay una consulta de definición en la Capa de entrada o vista de tabla, solo pueden seleccionarse las entidades o filas dentro de la extensión o que coincidan con la consulta de definición.
-
Puede utilizarse la herramienta Obtener contador para determinar el número de entidades o filas seleccionadas. Esta puede ser especialmente útil en una secuencia de comandos o en un modelo para determinar si se quiere seguir procesando.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_layer_or_view |
Capa de entidades o vista de tabla a la que se aplicará la selección. La entrada puede ser una capa o una vista de tabla de la tabla de contenido de ArcMap, o una capa o vista de tabla creada en ArcCatalog o en secuencias de comandos con las herramientas Crear capa de entidades o Crear vista de tabla. | Table View; Raster Layer; Mosaic Layer |
selection_type (Opcional) |
Determina cómo se aplicará la selección y qué hacer si ya existe una selecció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 el tema de la ayuda Referencia SQL para las expresiones de consulta utilizadas en ArcGIS. | SQL Expression |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función SelectLayerByAttribute en el modo inmediato.
import arcpy
arcpy.MakeFeatureLayer_management ("C:/data/data.mdb/states", "stateslyr")
arcpy.SelectLayerByAttribute_management ("stateslyr", "NEW_SELECTION", " [NAME] = 'California' ")
La siguiente secuencia de comandos independiente muestra cómo utilizar la función SelectLayerByAttributes 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: 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")