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

Synthèse

Ajoute, met à jour ou supprime une sélection en fonction d’une requête attributaire.

Utilisation

  • Si l’entrée est un chemin d’accès à une classe d’entités ou à un jeu de données, cet outil crée et renvoie une nouvelle couche avec les résultats de l’outil.

  • Si un ensemble de définition est présent dans l’entrée, seules les entités ou les enregistrements correspondant à l’ensemble de définition sont utilisés dans la sélection.

  • Le nombre d’enregistrements sélectionnés sera indiqué dans l’historique de géotraitement. Cliquez sur Paramètres > Total pour y accéder. En outre, l’outil Compter permet de compter le nombre d’enregistrements sélectionnés. Dans Python, vous pouvez également accéder au nombre d’enregistrements sélectionnés à partir de l’objet Result de l’outil.

  • Lors de l’application de sélections, une sélection de zéro enregistrement est possible. Par exemple, la sélection d’une valeur de champ qui n’est pas présente, aboutit à la sélection de zéro enregistrement. Un outil de géotraitement qui utilise la couche comme entrée n’utilise aucun enregistrement de l’entrée.

  • Les délimiteurs de champ utilisés dans une expression SQL diffèrent selon le format des données interrogées. Ainsi, les géodatabases fichier et les shapefiles utilisent des guillemets doubles, tandis que les géodatabases d’entreprise n’utilisent pas de délimiteurs de champ. Vous pouvez utiliser la fonction AddFieldDelimiters pour vérifier que les délimiteurs de champ utilisés avec l’expression SQL sont corrects.

  • Si la source de données de l’entrée est un service d’entités, il est préférable que l’instance ArcGIS Server sous-jacente utilise des requêtes SQL standardisées.

Paramètres

ÉtiquetteExplicationType de données
Enregistrements en entrée

Données auxquelles s’applique la sélection.

Table View; Raster Layer; Mosaic Layer
Type de sélection
(Facultatif)

Spécifie 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à.

  • Nouvelle sélectionLa sélection obtenue remplace la sélection actuelle. Il s’agit de l’option par défaut.
  • Ajouter à la sélection actuelleLa sélection obtenue est ajoutée à la sélection actuelle s’il en existe une. S’il n’existe aucune sélection, cette option est identique à l’option Nouvelle sélection.
  • Supprimer de la sélection actuelleLa sélection obtenue est supprimée de la sélection actuelle. S’il n’existe aucune sélection, cette option ne produit aucun effet.
  • Sélectionner un sous-ensemble de la sélection actuelleLa sélection obtenue est associée à la sélection actuelle. Seuls les enregistrements communs aux deux restent sélectionnés.
  • Inverser la sélection actuelleLa sélection est inversée. Tous les enregistrements qui étaient sélectionnés sont supprimés de la sélection actuelle et tous les enregistrements qui n’étaient pas sélectionnés sont ajoutés à la sélection actuelle. Le paramètre Expression est ignoré lorsque cette option est spécifiée.
  • Effacer la sélection actuelleLa sélection est effacée ou supprimée. Le paramètre Expression est ignoré lorsque cette option est spécifiée.
String
Expression
(Facultatif)

Expression SQL permettant de sélectionner un sous-ensemble d’enregistrements.

SQL Expression
Inverser la clause Where
(Facultatif)

Spécifie si l’expression sera utilisée en l’état, ou si l’expression opposée sera utilisée.

  • Désactivé : la requête sera utilisée en l’état. Il s’agit de l’option par défaut.
  • Activé : la requête opposée sera utilisée. Si vous utilisez le paramètre Type de sélection, l’inversion de la sélection se produit avant qu’elle ne soit associée aux sélections existantes.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Couche ou vue tabulaire mise à jour

Entrées mises à jour avec sélections appliquées.

Table View; Raster Layer; Feature Layer
Total

Nombre d’enregistrements sélectionnés.

Long

arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})
NomExplicationType de données
in_layer_or_view

Données auxquelles s’applique la sélection.

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

Spécifie 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 la sélection actuelle. Il s’agit de l’option par défaut.
  • ADD_TO_SELECTIONLa sélection obtenue est ajoutée à la sélection actuelle s’il en existe une. S’il n’existe aucune sélection, cette option est identique à l’option Nouvelle sélection.
  • REMOVE_FROM_SELECTIONLa sélection obtenue est supprimée de la sélection actuelle. S’il n’existe aucune sélection, cette option ne produit aucun effet.
  • SUBSET_SELECTIONLa sélection obtenue est associée à la sélection actuelle. Seuls les enregistrements communs aux deux restent sélectionnés.
  • SWITCH_SELECTIONLa sélection est inversée. Tous les enregistrements qui étaient sélectionnés sont supprimés de la sélection actuelle et tous les enregistrements qui n’étaient pas sélectionnés sont ajoutés à la sélection actuelle. Le paramètre where_clause est ignoré lorsque cette option est spécifiée.
  • CLEAR_SELECTIONLa sélection est effacée ou supprimée. Le paramètre where_clause est ignoré lorsque cette option est spécifiée.
String
where_clause
(Facultatif)

Expression SQL utilisée pour sélectionner un sous-ensemble d’enregistrements.

SQL Expression
invert_where_clause
(Facultatif)

Spécifie si l’expression sera utilisée en l’état, ou si l’expression opposée sera utilisée.

  • NON_INVERTLa requête sera utilisée en l’état. Il s’agit de l’option par défaut.
  • INVERTLa requête opposée sera utilisée. Si vous utilisez le paramètre selection_type, l’inversion de la sélection se produit avant qu’elle ne soit associée aux sélections existantes.
Boolean

Sortie obtenue

NomExplicationType de données
out_layer_or_view

Entrées mises à jour avec sélections appliquées.

Table View; Raster Layer; Feature Layer
count

Nombre d’enregistrements sélectionnés.

Long

Exemple de code

Exemple d’utilisation de la fonction SelectLayerByAttribute (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction SelectLayerByAttribute en mode immédiat.

import arcpy
arcpy.management.SelectLayerByAttribute("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")
Exemple 2 d’utilisation de la fonction SelectLayerByAttribute (script autonome)

Le script autonome suivant indique comment utiliser la fonction SelectLayerByAttribute dans un processus visant à extraire des entités vers une nouvelle classe d’entités en fonction d’une localisation et d’une requête attributaire.

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

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.