Extraction par rectangle (ArcGIS Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Permet d'extraire les cellules d'un raster en fonction d'un rectangle en spécifiant l'étendue du rectangle.

Illustration

Illustration de l’outil Extraction par rectangle
OutRas = ExtractByRectangle(InRas1, Extent(1, 0, 5, 5), "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.

  • Le centre de la cellule permet de déterminer si une cellule est à l’intérieur ou à l’extérieur d’un rectangle. Si le centre se trouve dans un rectangle, on considère que la cellule entière se trouve à l’intérieur, même si des portions débordent de ce rectangle.

  • La valeur NoData est attribuée aux emplacements de cellule qui ne sont pas sélectionnés.

  • Si le raster en entrée est un nombre entier, le raster en sortie sera un nombre entier. Si l'entrée est à virgule flottante, la sortie sera également à virgule flottante.

  • 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
Étendue

Rectangle qui délimite la zone à extraire.

Si le paramètre Étendue est défini sur Comme spécifié ci-dessous, utilisez les paramètres identifiés avec les flèches de direction vers la gauche et le bas pour définir la coordonnée inférieure gauche de la surface à extraire, et ceux identifiés avec les flèches de direction droite et haut pour définir la coordonnée supérieure droite.

Si le paramètre Étendue est défini sur Parcourir, vous pouvez sélectionner un jeu de données dont l’emprise définira l’étendue.

Les coordonnées sont spécifiées dans les mêmes unités de carte que le raster en entrée.

Extent
Zone d’extraction
(Facultatif)

Indique si les cellules situées à l’intérieur ou à l’extérieur du rectangle en entrée sont sélectionnées et écrites dans le raster en sortie.

  • IntérieurLes cellules situées à l’intérieur du rectangle en entrée sont sélectionnées et écrites dans le raster en sortie. Toutes les cellules situées à l’extérieur du rectangle adoptent les valeurs NoData dans le raster en sortie.
  • ExtérieurLes cellules situées à l’extérieur du rectangle en entrée sont sélectionnées et écrites dans le raster en sortie. Toutes les cellules situées à l’intérieur du rectangle adoptent les valeurs NoData dans le raster en sortie.
String

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

ExtractByRectangle(in_raster, rectangle, {extraction_area})
NomExplicationType de données
in_raster

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

Raster Layer
rectangle
extent

Rectangle qui délimite la zone à extraire.

Un objet Extent est utilisé pour définir les coordonnées.

La forme de l’objet est la suivante :

  • Extent(XMin, YMin, XMax, YMax)

    XMin et YMin désignant les coordonnées de la partie inférieure gauche de la surface à extraire et XMax et YMax correspondant aux coordonnées de la partie supérieure droite.

Les coordonnées sont spécifiées dans les mêmes unités de carte que le raster en entrée.

Extent
extraction_area
(Facultatif)

Indique si les cellules situées à l’intérieur ou à l’extérieur du rectangle en entrée sont sélectionnées et écrites dans le raster en sortie.

  • INSIDELes cellules situées à l’intérieur du rectangle en entrée sont sélectionnées et écrites dans le raster en sortie. Toutes les cellules situées à l’extérieur du rectangle adoptent les valeurs NoData dans le raster en sortie.
  • OUTSIDELes cellules situées à l’extérieur du rectangle en entrée sont sélectionnées et écrites dans le raster en sortie. Toutes les cellules situées à l’intérieur du rectangle adoptent les valeurs NoData dans le raster en sortie.
String

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 ExtractByRectangle (fenêtre Python)

Dans cet exemple, on extrait des cellules à l’extérieur d’une étendue rectangulaire dans un nouveau raster.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
rectExtract = ExtractByRectangle("elevation", 
                                 Extent(477625, 213900, 486400, 224200), 
                                 "OUTSIDE")
rectExtract.save("c:/sapyexamples/output/extrect")
Exemple 2 d’utilisation de la fonction ExtractByRectangle (script autonome)

Dans cet exemple, on extrait des cellules à l’intérieur d’une étendue rectangulaire dans un nouveau raster.

# Name: ExtractByRectangle_Ex_02.py
# Description: 
# 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"
inRectangle = Extent(477625, 213900, 486400, 224200)

# Execute ExtractByRectangle
rectExtract = ExtractByRectangle(inRaster, inRectangle, "INSIDE")

# Save the output 
rectExtract.save("c:/sapyexamples/output/extrect02")