Disponible avec une licence Spatial Analyst.
Résumé
Extrait les cellules d'un raster selon une requête logique.
Illustration
Utilisation
Si la clause Where est vraie, vous obtenez la valeur en entrée initiale pour l'emplacement de la cellule. Lorsqu'elle est fausse, la valeur NoData est attribuée à l'emplacement de la cellule.
La clause Where utilise une requête SQL. Reportez-vous aux rubriques suivantes pour en savoir plus sur la création des requêtes dans le Générateur de requêtes :
Pour utiliser une clause {where_clause} dans Python, elle doit être placée entre guillemets. Par exemple, "Valeur > 5000".
Vous pouvez consulter l'aide pour obtenir plus d'informations sur la spécification d'une requête dans Python.
Tous les éléments supplémentaires (autres que Valeur et Total) du raster en entrée ne sont pas pris en compte dans le raster en sortie.
Lorsque vous indiquez un élément autre que Valeur du raster en entrée dans la requête, la valeur en entrée initiale est retournée pour l'emplacement de la cellule.
Lorsqu'un raster multicanal est spécifié comme entrée, un nouveau raster multicanal est créé comme sortie. Chaque canal individuel dans le raster multicanal en entrée sera analysé en conséquence.
Le format en sortie par défaut est un raster de géodatabase. Si le format en sortie est une pile Grid Esri, notez que le nom ne peut pas commencer par un nombre, utiliser des espaces ni comporter plus de neuf caractères.
Si l'entrée est une couche créée à partir d'un raster multicanal comportant plus de trois canaux, l'opération d'extraction considérera uniquement les canaux qui ont été chargés (symbolisés) par la couche. En conséquence, le raster multicanal en sortie peut avoir uniquement trois canaux, qui correspondent à ceux utilisés dans l'affichage de la couche en entrée.
Si le raster en entrée est un nombre entier, le raster en sortie sera un nombre entier. Si l'entrée est à virgule flottante, la sortie sera également à virgule flottante.
Pour plus d'informations sur les environnements de géotraitement qui s'appliquent à cet outil, reportez-vous à la rubrique Environnements d'analyse et Spatial Analyst.
Syntaxe
ExtractByAttributes (in_raster, where_clause)
Paramètre | Explication | Type de données |
in_raster | Raster en entrée à partir duquel les cellules seront extraites. | Raster Layer |
where_clause | Expression logique qui sélectionne un sous-ensemble de cellules raster. L'expression suit la forme générale d'une expression SQL. "VALEUR > 100" est un exemple de where_clause. | SQL Expression |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster | Raster en sortie contenant les valeurs de cellule extraites du raster en entrée. | Raster |
Exemple de code
Premier exemple d'utilisation de l'outil ExtractByAttributes (fenêtre Python)
Dans cet exemple, on extrait des cellules d'un raster selon une requête logique, compte tenu d'une altitude supérieure à 1 000 mètres.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
attExtract = ExtractByAttributes("elevation", "VALUE > 1000")
attExtract.save("c:/sapyexamples/output/attextract")
Deuxième exemple d'utilisation de l'outil ExtractByAttributes (script autonome)
Dans cet exemple, on extrait des cellules d'un raster selon une requête logique, compte tenu d'une altitude supérieure à 1 000 mètres.
# Name: ExtractByAttributes_Ex_02.py
# Description: Extracts the cells of a raster based on a logical query.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "elevation"
inSQLClause = "VALUE > 1000"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause)
# Save the output
attExtract.save("c:/sapyexamples/output/attextract02")
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst