Extraction par masque (ArcGIS Spatial Analyst)

Synthèse

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

Illustration

llustration 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 Input raster (Raster en entrée) (in_raster en Python) et les données raster Input raster or feature mask data (Données raster ou vecteur de masque en entrée) (in_mask_data en Python) ont la même taille de cellule et que les cellules sont alignées, elles seront utilisées directement dans l’outil. Elles ne sont pas rééchantillonnées en interne pendant 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 la valeur Input raster (Raster en entrée) est utilisée en interne comme raster de capture. Si la taille de cellule est identique, mais que les cellules ne sont pas alignées, la valeur de Input raster (Raster en entrée) sert de raster de capture en interne. L’un de ces cas déclenche un rééchantillonnage interne avant l’exécution de l’extraction.

    Pour plus d’informations, consultez les rubriques d’environnement Taille de cellule et Raster de capture.

  • Si le masque en entrée est une entité, il est converti en raster en interne en utilisant la taille de cellule et l’alignement de cellule (raster de capture) spécifiés par le paramètre Input raster (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 la zone comprise dans l’intersection du masque d’environnement et des données du masque en entrée.

  • Vous pouvez utiliser le paramètre Analysis Extent (Étendue d’analyse) (analysis_extent en 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 par défaut de Analysis Extent (Étendue d’analyse) est calculée à partir de l’intersection de la valeur de Input raster (Raster en entrée) et de la valeur de Input raster or feature mask data (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 cellules à 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és, 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)

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

  • IntérieurLes cellules situées à l’intérieur du 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 reçoivent 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
Etendue d’analyse
(Facultatif)

Étendue qui délimite la zone à extraire.

Par défaut, l’étendue est calculée comme l’intersection de la valeur de Input raster (Raster en entrée) et de la valeur de Input raster or feature mask data (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 ont la valeur NoData.

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

  • Current Display Extent (Étendue actuellement affichée) Vue cartographique : l’étendue repose sur la carte ou la scène active. Cette option est uniquement disponible lorsqu’une carte est active.
  • Extent of a Layer (Étendue d’une couche) Couche : l’étendue repose sur une couche de carte active. Utilisez la liste déroulante pour choisir une couche disponible ou utilisez l’option Extent of data in all layers (Étendue des données dans toutes les couches) pour obtenir l’étendue combinée de toutes les couches de carte actives, y compris le fond de carte. Cette option est uniquement disponible lorsqu’une carte avec des couches est active.
  • Browse (Parcourir) Parcourir : l’étendue repose sur un jeu de données existant.
  • Reset Extent (Réinitialiser l’étendue) Réinitialiser : la valeur par défaut de l’étendue est rétablie.
  • Manually entered coordinates (Coordonnées saisies manuellement) : les coordonnées doivent être des valeurs numériques incluses dans le système de coordonnées de la carte active.

    La carte peut utiliser des unités d’affichage différentes

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 cellules à 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és, 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)

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

  • INSIDELes cellules situées à l’intérieur du 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 reçoivent 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)

Étendue qui délimite la zone à extraire.

Si elle n’est pas spécifiée, l’étendue par défaut correspond à l’intersection des valeurs in_raster et in_mask_data.

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

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale commune à toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
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

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", "INSIDE")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
Deuxième exemple d'utilisation de l'outil ExtractByMask (script autonome)

Dans cet exemple, des cellules sont extraites d’un raster pour toutes les zones situées en dehors d’un masque défini par une classe d’entités du shapefile surfacique en entrée. L’étendue en sortie du raster en entrée est conservé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")