Extraction par attributs (Spatial Analyst)
Récapitulatif
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.
-
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 clause Where, la valeur en entrée initiale est attribuée à l'emplacement de la cellule.
-
Lorsqu'un raster multicanal est spécifié en entrée, un nouveau raster multicanal est créé en sortie. Chaque canal individuel au sein du raster multicanal en entrée est analysé en conséquence.
Le format en sortie par défaut est une pile de grilles Esri. Notez que le nom d'une pile de grilles Esri ne peut pas commencer par un nombre, utiliser d'espaces ou comporter plus de 9 caractères.
-
Si l'entrée est une couche créée à partir d'un raster multicanal de plus de trois canaux, l'opération d'extraction ne prend en compte que les canaux chargés (symbolisés) par la couche. En conséquence, le raster multicanal en sortie ne peut comporter que 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 en virgule flottante, la sortie est également en virgule flottante.
Syntaxe
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. Consultez la documentation pour plus d'informations sur la référence SQL pour les expressions de requête utilisées dans ArcGIS et la définition d'une requête dans Python. | 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
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")
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")