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

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)

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 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_SELECTIONInverse la sélection. Tous les enregistrements qui étaient sélectionnés sont supprimés de la sélection courante. 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_SELECTIONEfface ou supprime toute sélection. 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 le résultat de l’expression doit être inversé.

  • NON_INVERTLe résultat de la requête sera utilisé en l'état. Il s’agit de l’option par défaut.
  • INVERTLe résultat de la requête sera inversé. Si le paramètre selection_type est sélectionné, l’inversion se produit avant que la sélection 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.

Entier 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 which overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')
# Within selected features, further select only those cities which have a 
# population > 10,000   
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')
# Write the selected features to a new featureclass
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