Sélectionner une couche par attributs (Gestion des données)
Récapitulatif
Ajoute, met à jour ou supprime une sélection sur une couche ou une vue tabulaire en fonction d'une requête attributaire.
Utilisation
-
L'entrée doit être couche d'entités ou une vue tabulaire. Il ne peut pas s'agit d'une classe d'entités ou d'une table.
-
Cet outil fonctionne sur les couches ou les vues tabulaires dans la table des matières ArcMap ainsi que sur les couches ou les vues tabulaires créées dans un script à l'aide des outils Générer une couche ou Générer une vue tabulaire.
-
Si un environnement d'étendue est spécifié ou si un ensemble de définition est présente dans la Couche en entrée ou la Vue tabulaire, seules les entités ou les lignes dans l'étendue ou correspondant à l'ensemble de définition peuvent être sélectionnées.
-
L'outil Compter permet de déterminer le nombre d'entités ou de lignes sélectionnées. Cela peut être particulièrement utile dans un script ou un modèle pour déterminer si un traitement supplémentaire est souhaité.
Syntaxe
Paramètre | Explication | Type de données |
in_layer_or_view |
Couche d'entités ou vue tabulaire à laquelle la sélection s'applique. L'entrée peut être une couche ou une vue tabulaire dans la table des matières ArcMap, ou une couche ou une vue tabulaire créée dans ArcCatalog ou dans des scripts à l'aide des outils Générer une couche ou Générer une vue tabulaire. | Table View; Raster Layer; Mosaic Layer |
selection_type (Facultatif) |
Détermine la manière dont la sélection doit être exécutée et ce qu'il faut faire si une sélection existe déjà.
| String |
where_clause (Facultatif) |
Expression SQL permettant de sélectionner un sous-ensemble d'enregistrements. Pour en savoir plus sur la syntaxe SQL, reportez-vous à la rubrique d'aide Référence SQL pour les expressions de requête utilisées dans ArcGIS. | SQL Expression |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction SelectLayerByAttribute en mode immédiat.
import arcpy
arcpy.MakeFeatureLayer_management ("C:/data/data.mdb/states", "stateslyr")
arcpy.SelectLayerByAttribute_management ("stateslyr", "NEW_SELECTION", " [NAME] = 'California' ")
Le script autonome suivant indique comment utiliser la fonction SelectLayerByAttribute dans un workflow permettant d'extraire des entités vers une nouvelle classe d'entités selon un emplacement et une requête attributaire.
# 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")