Contraction (Spatial Analyst)
Récapitulatif
Réduit la taille des zones sélectionnées selon un nombre de cellules défini, en remplaçant leur valeur par celle de la cellule la plus fréquente dans leur voisinage.
Illustration
Utilisation
-
Les valeurs de zone spécifiées sont considérées comme des zones de premier plan, tandis que les valeurs de zone restantes sont considérées comme des zones d'arrière-plan. Avec cet outil, les cellules des zones de premier plan peuvent être remplacées par les cellules des zones d'arrière-plan.
-
Lorsque deux régions adjacentes font partie de l'ensemble sélectionné pour contraction, leur limite n'est pas modifiée.
-
Les valeurs NoData ont la même priorité que toute autre valeur valide pour occuper les zones libérées par les valeurs sélectionnées pour contraction. Par conséquent, si une valeur sélectionnée est adjacente à une valeur NoData, elle peut prendre la valeur NoData après contraction.
Syntaxe
Paramètre | Explication | Type de données |
in_raster |
Raster en entrée pour lequel les zones identifiées seront contractées. Il doit être de type entier. | Raster Layer |
number_cells |
Nombre de cellules à contracter dans chaque zone spécifiée. La valeur doit être un entier supérieur à 0. | Long |
zone_values [zone_value,...] |
Liste des valeurs de zone à contracter. Les valeurs de zone doivent être des entiers. Elles peuvent être dans un ordre quelconque. | Long |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster |
Raster généralisé en sortie. Les zones spécifiées du raster en entrée seront contractées en fonction du nombre spécifié de cellules. | Raster |
Exemple de code
Cet exemple décrit la contraction de la zone spécifiée en fonction d'une liste de valeurs (deux cellules).
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outShrink = Shrink("land", 2, [1, 3, 7])
outShrink.save("c:/sapyexamples/output/shrinkout")
Cet exemple décrit la contraction de la zone spécifiée en fonction d'une liste de valeurs (deux cellules).
# Name: Shrink_Ex_02.py
# Description: Shrinks the selected zones by a
# specified number of cells.
# 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 = "land"
cellRemove = 2
zoneSet = [1,3,7,9]
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Shrink
outShrink = Shrink(inRaster, cellRemove, zoneSet)
# Save the output
outShrink.save("c:/sapyexamples/output/outshrink")