Sélectionner une couche par attributs (Gestion des données)

Niveau de licence :BasicStandardAdvanced

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

Syntaxe

SelectLayerByAttribute_management (in_layer_or_view, {selection_type}, {where_clause})
ParamètreExplicationType 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à.

  • NEW_SELECTIONLa sélection obtenue remplace toute sélection existante. Il s'agit de l'option par défaut.
  • ADD_TO_SELECTIONLa sélection obtenue est ajoutée à l'éventuelle sélection existante. S'il n'existe aucune sélection, elle est identique à celle de l'option NEW_SELECTION.
  • REMOVE_FROM_SELECTIONLa sélection obtenue est supprimée d'une sélection existante. S'il n'existe aucune sélection, cette option ne produit aucun effet.
  • SUBSET_SELECTIONLa sélection obtenue est associée à la sélection existante. Seuls les enregistrements communs aux deux restent sélectionnés.
  • SWITCH_SELECTIONInverse la sélection. Tous les enregistrements qui étaient sélectionnés sont supprimés de la sélection. Tous les enregistrements qui n'étaient pas sélectionnés sont ajoutés à la sélection. L'Expression est ignorée lorsque cette option est spécifiée.
  • CLEAR_SELECTIONEfface ou supprime toute sélection. L'Expression est ignorée lorsque cette option est spécifiée.
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

Exemple d'utilisation de l'outil Sélectionner une couche par attributs (fenêtre Python)

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' ")
Exemple 2 d'utilisation de l'outil Sélectionner une couche par attributs (script autonome)

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")

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Oui
ArcGIS for Desktop Standard: Oui
ArcGIS for Desktop Advanced: Oui
6/5/2014