Extraction par masque (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 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.
  • Dessiner l’étendue Terminer avec mise à l’équerre : l’étendue est basée sur un rectangle dessiné sur la carte ou dans la scène.
  • Extent of a Layer (Étendue d’une couche) Couche : l’étendue repose sur une couche de carte active. Choisissez une couche disponible ou utilisez l’option Étendue des données dans toutes les couches. Chaque couche de carte comporte les options suivantes :

    • Toutes les entités Sélectionner tout : étendue de toutes les entités.
    • Entités sélectionnées Zone à partir des entités sélectionnées : étendue de toutes les entités sélectionnées.
    • Entités visibles Extent Indicator : étendue de toutes les entités visibles.

  • Parcourir Parcourir : l’étendue repose sur un jeu de données.
  • Presse-papiers Coller : l’étendue peut être copiée depuis et vers le Presse-papiers.
    • Copier l’étendue Copier : copie l’étendue et le système de coordonnées dans le Presse-papiers.
    • Coller l’étendue Coller : colle l’étendue et le système de coordonnées depuis le Presse-papiers. Si le Presse-papiers n’inclut pas de système de coordonnées, l’étendue utilise celui de la carte.
  • Reset Extent (Réinitialiser l’étendue) Réinitialiser : la valeur par défaut de l’étendue est rétablie.

Lorsque les coordonnées sont saisies manuellement, elles 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 de celles des coordonnées saisies. Utilisez le signe moins pour les coordonnées sud et ouest.

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)

Étendue qui délimite la zone à extraire.

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.

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

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

Informations de licence

  • Basic: Nécessite Spatial Analyst
  • Standard: Nécessite Spatial Analyst
  • Advanced: Nécessite Spatial Analyst

Rubriques connexes