Disponible avec une licence Spatial Analyst.
Résumé
Extrait les cellules d'un raster qui correspondent aux zones définies par un masque.
Illustration
Utilisation
Les attributs supplémentaires du raster en entrée, le cas échéant, sont transférés tel quel vers la table attributaire des rasters en sortie. Selon la nature de la propriété en cours d’enregistrement, vous serez amené à recalculer la valeur de certains attributs.
Lorsqu’un raster multicanal est spécifié comme raster en entrée (Input raster) (in_raster dans Python), tous les canaux sont utilisés.
Pour traiter une sélection de canaux à partir d’un raster multicanal, créez d’abord un jeu de données raster composé de ces canaux spécifiques à l’aide de l’outil Canaux composites et utilisez le résultat comme raster en entrée (Input Raster) (in_raster dans Python).
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.
Lorsqu'un raster multicanal est spécifié pour le masque de raster en entrée, seul le premier canal est utilisé dans l'opération.
Lorsque le raster en entrée (option Input raster) (in_raster dans Python) et des données raster Input raster mask or feature mask data (Données raster ou vecteur de masque en entrée) (in_mask_data dans Python) utilisent une même taille de cellule et que les cellules sont alignées, ils seront directement utilisés dans l’outil. Ils ne seront pas ré-échantillonnés en interne au cours de l’exécution de l’outil.
Si la taille de cellule est différente, la taille de cellule en sortie correspond au maximum des entrées et le raster en entrée (option Input raster) (in_raster dans Python) sera utilisé comme raster de capture en interne. Si la taille de cellule est identique, mais que les cellules ne sont pas alignées, le raster en entrée (Input raster) sert de raster de capture en interne. L’une de ces cases déclenche un ré-échantillonnage interne avant l’exécution de l’opération d’extraction.
Des informations supplémentaires sont disponibles dans les rubriques relatives à l’environnement Taille de cellule et Raster de capture.
Si l’entrée du masque est une entité, elle est convertie en raster en interne, à l’aide de la taille de cellule et de l’alignement des cellules du raster en entrée (option Input raster).
Si Masque est spécifié dans le paramètre d'environnement lors de l'exécution de l'outil Extraction par masque, le raster en sortie ne possède de valeurs de cellule que pour les zones comprises dans l'intersection du masque d'environnement et des données du masque en entrée.
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
ExtractByMask (in_raster, in_mask_data)
Paramètre | Explication | Type de données |
in_raster | Raster en entrée à partir duquel les cellules seront extraites. | Raster Layer |
in_mask_data | Données de masque en entrée définissant les zones à extraire. Il peut s'agir d'un raster ou d'un jeu de données d'entité. Lorsque les données d'un masque en entrée correspondent à un raster, les cellules NoData du masque sont définies d'après les valeurs NoData du raster en sortie. Lorsque le masque en entrée correspond à des données d'entité, les cellules dans le raster en entrée dont le centre est compris dans le périmètre de l'entité sont incluses dans la sortie, tandis que la valeur NoData est attribuée aux cellules dont le centre se situe en dehors. | Raster Layer; Feature Layer |
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 ExtractByMask (fenêtre Python)
Dans cet exemple, on extrait des cellules d'un raster dans un masque défini par une classe d'entités du fichier de formes du polygone en entrée.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
Deuxième exemple d'utilisation de l'outil ExtractByMask (script autonome)
Dans cet exemple, on extrait des cellules d'un raster dans un masque défini par une classe d'entités du fichier de formes du polygone en entrée.
# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a raster that correspond with the areas
# defined by a mask.
# 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"
inMaskData = "mask.shp"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)
# Save the output
outExtractByMask.save("C:/sapyexamples/output/extractmask")
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst