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

Résumé

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

Utilisation

  • Si l’entrée est le chemin d’accès à une classe d’entités ou à un jeu de données, cet outil crée automatiquement une nouvelle couche en appliquant le résultat de l’outil.

  • Si la source de données en entrée est un service d’entités, le serveur ArcGIS Server sous-jacent devrait utiliser des requêtes SQL normalisées.

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

  • Lorsque vous utilisez les requêtes is Above Average (est au-dessus de la moyenne) et is Below Average (est sous la moyenne), la fonction AVG s’exécute toujours sur les données source, même si la couche en entrée est un sous-ensemble des données source.

  • Le nombre d’enregistrements sélectionnés sera indiqué dans l’historique de géotraitement, sous Parameters (Paramètres) > Count (Total). En outre, l’outil Get Count (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.

Syntaxe

arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})
ParamètreExplicationType 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 courante. Il s’agit de l’option par défaut.
  • ADD_TO_SELECTIONLa sélection obtenue est ajoutée à la sélection courante. S'il n'existe aucune sélection, elle est identique à la nouvelle sélection.
  • REMOVE_FROM_SELECTIONLa sélection obtenue est supprimée de la sélection courante. S'il n'existe aucune sélection, cette option ne produit aucun effet.
  • SUBSET_SELECTIONLa sélection obtenue est associée à la sélection courante. 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 courante et tous les enregistrements qui n’étaient pas sélectionnés sont ajoutés à la sélection courante. Le paramètre Expression (where_clause dans Python) est ignoré lorsque cette option est spécifiée.
  • CLEAR_SELECTIONLa sélection est effacée ou supprimée. Le paramètre Expression (where_clause dans Python) est ignoré lorsque cette option est spécifiée.
String
where_clause
(Facultatif)

Expression SQL permettant de sélectionner un sous-ensemble d'enregistrements. Pour plus d’informations sur la syntaxe SQL reportez-vous à la rubrique Référence SQL pour les expressions de requête utilisées dans ArcGIS.

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 dérivée

NomExplicationType de données
out_layer_or_view

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

Vue tabulaire ; couche raster ; couche d'entités
count

Nombre d’enregistrements sélectionnés.

Long

Exemple de code

Exemple d’utilisation de l’outil SelectLayerByAttribute (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.SelectLayerByAttribute_management("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")
Exemple 2 d’utilisation de l’outil SelectLayerByAttribute (script autonome)

Le script autonome suivant indique comment utiliser la fonction SelectLayerByAttribute dans un workflow pour extraire des entités vers une nouvelle classe d'entités en fonction d'un emplacement et d'une requête attributaire.

# Name: ExtractFeaturesByLocationAndAttribute.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
arcpy.env.workspace = 'c:/data/mexico.gdb'
# Select all cities that overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')
# Within selected features, further select only those cities with a 
# population > 10,000   
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')
# Write the selected features to a new feature class
arcpy.CopyFeatures_management(chihuahua_cities, 'chihuahua_10000plus')

Environnements

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

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes