Extraction par masque (ArcGIS Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Extrait les cellules d’un raster qui correspondent aux surfaces définies par un masque.

Illustration

Illustration de l’outil Extraction par masque
OutRas = ExtractByMask(InRas1, InMsk1, "INSIDE")

Utilisation

  • Les éventuels attributs supplémentaires du raster en entrée seront inclus tels quels dans la table attributaire du raster en sortie. Selon la propriété en cours d’enregistrement, il peut être nécessaire de recalculer certaines valeurs attributaires.

  • Lorsqu’un raster multicanal est spécifié comme valeur dans le champ 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 d’abord un jeu de données raster composé de ces canaux spécifiques à l’aide de l’outil Canaux composites. Ensuite, utilisez le résultat comme valeur dans le champ Input Raster (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 chiffre, contenir 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 la valeur Raster en entrée (in_raster dans Python) et les données raster 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 sont 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 correspond à la taille maximum des entrées, et la valeur Raster en entrée) est 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, la valeur 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 est convertie en raster en interne, en utilisant la taille de cellule et l’alignement de cellule de la valeur Raster en entrée par défaut.

  • 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.

  • Vous pouvez utiliser le paramètre Étendue d’analyse (analysis_extent dans Python) afin de spécifier la zone d’analyse en sortie explicitement pour l’exécution d’un outil autonome ou de remplacer le paramètre d’environnement dans le cadre d’un processus. Vous pouvez spécifier l’étendue en saisissant des valeurs, en choisissant l’étendue d’affichage, en sélectionnant une couche ou en recherchant un jeu de données en entrée.

  • La valeur Étendue d’analyse par défaut est calculée à partir de l’intersection de la valeur Raster en entrée et de la valeur Données raster ou vecteur de masque en entrée.

  • Si l’étendue d’analyse n’est pas explicitement spécifiée comme valeur de paramètre, elle est dérivée des paramètres d’environnement d’analyse.

  • 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.

Paramètres

ÉtiquetteExplicationType de données
Raster en entrée

Raster en entrée à partir duquel les cellules seront extraites.

Raster Layer
Données raster ou vecteur de masque en entrée

Données de masque en entrée définissant les emplacements de cellule à extraire.

Il peut s’agir d’un raster ou d’un jeu de données d’entité.

Lorsque le masque en entrée est un raster, les cellules NoData du masque en entrée se voient assignées des valeurs NoData dans le raster en sortie.

Lorsque le masque en entrée correspond à des données d’entité, les cellules du raster en entrée dont le centre est compris dans la forme spécifiée 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
Zone d’extraction
(Facultatif)

Indique si les cellules situées à l’intérieur ou à l’extérieur des emplacements définis par le masque en entrée sont sélectionnées et écrites dans le raster en sortie.

  • IntérieurLes cellules comprises dans le masque en entrée sont sélectionnées et écrites dans le raster en sortie. Toutes les cellules situées à l’extérieur du masque prennent la valeur NoData dans le raster en sortie. Il s’agit de l’option par défaut.
  • ExtérieurLes cellules situées à l’extérieur du masque en entrée sont sélectionnées et écrites dans le raster en sortie. La valeur NoData est attribuée à toutes les cellules couvertes par le masque.
String
Étendue d’analyse
(Facultatif)

Étendue qui délimite la zone à extraire.

Par défaut, l’étendue est calculée comme intersection de la valeur Raster en entrée et de la valeur Données raster ou vecteur de masque en entrée. Le traitement se produit en dehors des limites x et y, et les cellules situées hors de cette étendue prendront la valeur NoData.

Les paramètres identifiés avec les flèches de direction gauche et bas définissent la coordonnée inférieure gauche de la surface à extraire, et ceux identifiés avec les flèches de direction droite et haut définissent la coordonnée supérieure droite.

Si elles ne sont pas explicitement définies par l’environnement d’analyse, les coordonnées sont spécifiées dans les mêmes unités de carte que le raster en entrée.

Extent

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster en sortie contenant les valeurs de cellule extraites du raster en entrée.

Raster

ExtractByMask(in_raster, in_mask_data, {extraction_area}, {analysis_extent})
NomExplicationType 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 emplacements de cellule à extraire.

Il peut s’agir d’un raster ou d’un jeu de données d’entité.

Lorsque le masque en entrée est un raster, les cellules NoData du masque en entrée se voient assignées des valeurs NoData dans le raster en sortie.

Lorsque le masque en entrée correspond à des données d’entité, les cellules du raster en entrée dont le centre est compris dans la forme spécifiée 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
extraction_area
(Facultatif)

Indique si les cellules situées à l’intérieur ou à l’extérieur des emplacements définis par le masque en entrée sont sélectionnées et écrites dans le raster en sortie.

  • INSIDELes cellules comprises dans le masque en entrée sont sélectionnées et écrites dans le raster en sortie. Toutes les cellules situées à l’extérieur du masque prennent la valeur NoData dans le raster en sortie. Il s’agit de l’option par défaut.
  • OUTSIDELes cellules situées à l’extérieur du masque en entrée sont sélectionnées et écrites dans le raster en sortie. La valeur NoData est attribuée à toutes les cellules couvertes par le masque.
String
analysis_extent
(Facultatif)

La classe Extent détermine l’étendue du jeu de données raster en sortie.

La classe Extent se présente comme suit :

  • Extent (XMin, YMin, XMax, YMax)

    où :

    • XMin : valeur XMin de l’étendue
    • YMin : valeur YMin de l’étendue
    • XMax : valeur XMax de l’étendue
    • YMax : valeur YMax de l’étendue

Si elle n’est pas spécifiée, l’étendue par défaut est l’intersection de la valeur in_raster et de la valeur in_mask_data.

Si elles ne sont pas explicitement définies par l’environnement d’analyse, les coordonnées sont spécifiées dans les mêmes unités de carte que le raster en entrée.

Extent

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

Exemple 1 d’utilisation de la fonction 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", "INSIDE")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
Exemple 2 d’utilisation de la fonction ExtractByMask (script autonome)

Dans cet exemple, on extrait des cellules d’un raster pour toutes les zones en dehors d’un masque défini par une classe d’entités du fichier de formes du polygone en entrée, en conservant l’étendue en sortie du raster en entrée.

# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a elevation raster for all areas outside of the mask features.
#     Keeping the output extent of the input elevation raster. 
# 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"
extraction_area = "OUTSIDE"
analysis_extent = "elevation"


# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData, extraction_area, analysis_extent)

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