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ètre | Explication | Type 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à.
| 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.
| Boolean |
Sortie dérivée
Nom | Explication | Type 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
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'")
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
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?