Extraction par masque (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Extrait les cellules d'un raster qui correspondent aux zones définies par un masque.

Illustration

Illustration de l'outil Extraction par masque
OutRas = ExtractByMask(InRas1, InMsk1)

Utilisation

  • Les éventuels attributs supplémentaires du raster en entrée seront transférés tels quels dans la table attributaire de raster en sortie. Selon la propriété enregistrée, il est possible que certaines valeurs attributaires doivent être recalculées.

  • Lorsqu’un raster multicanal est spécifié en tant que Input raster (Raster en entrée) (in_raster dans Python), tous les canaux sont utilisés.

    Pour traiter une sélection de canaux d’un raster multicanal, créez tout d’abord un jeu de données raster composé de ces canaux spécifiques à l’aide de l’outil Canaux composites. Utilisez ensuite le résultat en tant que raster en entrée (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 de grilles Esri, le nom de la pile 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 Input raster (Raster en entrée) (in_raster dans Python) et les 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) ont la même taille de cellule et que les cellules sont alignées, elles sont utilisées directement dans l’outil. Elles ne seront pas ré-échantillonnées 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 correspondra à la taille maximum des entrées, et le Input raster (Raster en entrée) (in_raster dans Python) sera utilisé en interne en tant que raster de capture. Si la taille de cellule est identique, mais que les cellules ne sont pas alignées, le Input raster (Raster en entrée) sert de raster de capture en interne. L’une de ces situations déclenche un rééchantillonnage interne avant l’exécution de l’opération d’extraction.

    Pour plus d’informations consultez les rubriques sur les environnements Taille de cellule et Raster de capture.

  • Si l’entrée de masque est une entité, elle sera convertie en raster en interne, en utilisant la taille de cellule et l’alignement de cellule du Input raster (Raster en entrée).

  • 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ètreExplicationType 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

NomExplicationType 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"

# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)

# Save the output 
outExtractByMask.save("C:/sapyexamples/output/extractmask")

Informations de licence

  • Basic: Requiert Spatial Analyst
  • Standard: Requiert Spatial Analyst
  • Advanced: Requiert Spatial Analyst

Rubriques connexes