Sélectionner (Analyse)
Récapitulatif
Extrait des entités d'une classe d'entités ou d'une couche d'entités en entrée, généralement à l'aide d'une expression de sélection ou SQL (Structured Query Language), et les stocke dans une classe d'entités en sortie.
Utilisation
-
L'expression de sélection ou SQL est créée à l'aide du Générateur de requêtes ou simplement saisie. Pour plus d'informations sur la syntaxe des expressions, reportez-vous à la rubrique Construction d'une expression SQL ou à la Référence SQL.
-
Si une couche est utilisée pour les Entités en entrée et qu'aucune expression n'est entrée, seules les entités sélectionnées sont enregistrées dans la classe d'entités en sortie. Si une couche est utilisée pour les entités en entrée et qu'une expression est entrée, l'expression est exécutée uniquement sur les entités sélectionnées et le sous-ensemble (basé sur l'expression) de l'ensemble sélectionné est enregistré dans la classe d'entités en sortie.
-
Pour créer une classe d'entités à partir de l'ensemble d'entités sélectionné dans une couche, utilisez l'outil Copier des entités.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Couche ou classe d'entités en entrée dans laquelle les entités sont sélectionnées. | Feature Layer |
out_feature_class |
Classe d'entités en sortie à créer. Si aucune expression n'est utilisée, elle contient toutes les entités en entrée. | Feature Class |
where_clause (Facultatif) |
Expression SQL permettant de sélectionner un sous-ensemble d'entités. La syntaxe de l'expression diffère légèrement en fonction de la source des données. Par exemple, lorsque vous interrogez des géodatabases fichier ou ArcSDE, des fichiers de formes ou des couvertures, placez le nom des champs entre guillemets doubles : "MY_FIELD" Si vous interrogez des géodatabases personnelles, placez les champs entre crochets : [MON_CHAMP] Dans Python, les chaînes se trouvent entre guillemets simples ou doubles. Pour créer une chaîne contenant des guillemets (comme c'est souvent le cas pour les clauses WHERE dans les expressions SQL), vous pouvez désactiver les guillemets (à l'aide d'une barre oblique inverse) ou placer la chaîne entre guillemets triples. Par exemple, si la clause WHERE souhaitée est "CITY_NAME" = 'Chicago' vous pouvez mettre la chaîne entière entre guillemets doubles, puis désactiver les guillemets doubles intérieurs de la manière suivante : " \"CITY_NAME\" = 'Chicago' " Ou vous pouvez mettre la chaîne entière entre guillemets simples, puis désactiver les guillemets simples intérieurs de la manière suivante : ' "CITY_NAME" = \'Chicago\' ' Ou vous pouvez mettre la chaîne entière entre guillemets triples sans désactiver les guillemets : """ "CITY_NAME" = 'Chicago' """ Pour en savoir plus sur la syntaxe SQL et sur ses différences selon les sources de données, 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
import arcpy
from arcpy import env
env.workspace = "c:/basedata/roads.gdb"
arcpy.Select_analysis("nfroads", "paved", '[ROAD_CLASS] = "PAVED"')
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Sélectionner en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Select_analysis("majorrds.shp", "C:/output/majorrdsClass4.shp", '"CLASS" = \'4\'')
Le script Python ci-dessous illustre l'utilisation de la fonction Sélectionner dans un script autonome.
# Name: Select_Example2.py
# Description: Select roads of Class 4 from major roads tin the gnatcatcher habitat study area
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/data"
# Set local variables
in_features = "majorrds.shp"
out_feature_class = "C:/output/majorrdsClass4.shp"
where_clause = '"CLASS" = \'4\''
# Execute Select
arcpy.Select_analysis(in_features, out_feature_class, where_clause)