Nettoyage de limites (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Permet de lisser la limite entre les zones en l'allongeant et en la rétrécissant.

Pour en savoir plus sur le fonctionnement de l'outil Nettoyage de limites

Illustration

Illustration de l’outil Nettoyage des limites
OutRas = BoundaryClean(InRas1)

Utilisation

  • Toutes les régions de moins de trois cellules dans la direction x ou y sont modifiées.

  • Deux processus de lissage sont disponibles. Ils diffèrent dans le nombre de sessions d'expansion-contraction. Avec le paramètre activé par défaut Run expansion and shrinking twice (Exécuter deux fois l'expansion et la contraction) (TWO_WAY dans Python), le processus d'expansion-contraction visant à lisser les valeurs de cellule en entrée est réalisé deux fois, tandis que lorsque l'option n'est pas activée (ONE_WAY dans Python), le processus n'est réalisé qu'une seule fois.

    Lors du premier passage pour les deux techniques, si des cellules de traitement figurant dans le raster développé comporte un voisin de la valeur initiale de la cellule de traitement, cette valeur initiale est rétablie. Toutefois, lors de l'opération de contraction du deuxième passage de l'option bidirectionnelle, toute cellule du raster développé qui n’est pas entièrement entourée de huit cellules de même valeur reprend sa valeur initiale.

  • L'expansion est identique pour le premier et deuxième passage.

  • Les cellules en entrée dotées de la valeur NoData ont la priorité la plus faible dans le type de tri à un passage, ou dans le premier passage du tri à deux passages. Lors d'un deuxième passage du tri à deux passages, les cellules NoData ont la priorité la plus élevée.

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

Syntaxe

BoundaryClean(in_raster, {sort_type}, {number_of_runs})
ParamètreExplicationType de données
in_raster

Le raster en entrée dont la limite entre les zones doit être lissée.

Il doit être de type entier.

Raster Layer
sort_type
(Facultatif)

Indique le type de tri à utiliser dans le processus de lissage.

Celui-ci définit la priorité des cellules à étendre dans leur voisinage.

  • NO_SORTAucun tri par taille. Les zones dotées de valeurs plus importantes sont prioritaires pour s'étendre dans des zones à valeurs moindres.Il s’agit de l’option par défaut.
  • DESCENDTrie les zones par ordre de taille décroissant. Les zones dotées de surfaces totales plus importantes sont prioritaires pour s'étendre dans des zones à surfaces totales moindres.
  • ASCENDTrie les zones par ordre de taille croissant. Les zones dotées de surfaces totales plus réduites sont prioritaires pour s'étendre dans des zones à surfaces totales plus importantes.
String
number_of_runs
(Facultatif)

Précise le nombre de directions dans lesquelles le processus de lissage doit être effectué.

  • TWO_WAYEffectue une expansion et une contraction en fonction du type de tri, puis effectue une contraction et une expansion supplémentaires avec la priorité inverse.Il s’agit de l’option par défaut.
  • ONE_WAYEffectue une expansion et une contraction une seule fois, en fonction du type de tri.
Boolean

Valeur renvoyée

NomExplicationType de données
out_raster

Raster généralisé en sortie.

Les limites entre zones dans l'entrée seront lissées.

La sortie est toujours de type entier.

Raster

Exemple de code

Premier exemple d'utilisation de l'outil BoundaryClean (fenêtre Python)

Cet exemple décrit le lissage de la limite entre des zones dans un ordre décroissant avec un passage bidirectionnel.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OutBndCln = BoundaryClean("land", "DESCEND", "TWO_WAY")
OutBndCln.save("c:/sapyexamples/output/bndcln_des2")
Deuxième exemple d'utilisation de l'outil BoundaryClean (script autonome)

Cet exemple décrit le lissage de la limite entre des zones dans un ordre décroissant avec un passage bidirectionnel.

# Name: BoundaryClean_Ex_02.py
# Description: Smoothes the boundary between zones 
#              by expanding and shrinking it.
# 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"

# Execute BoundaryClean
OutBndCln = BoundaryClean(inRaster, "ASCEND", "TWO_WAY")

# Save the output 
OutBndCln.save("c:/sapyexamples/output/bndcln_asc2")

Informations de licence

  • Basic: Requiert Spatial Analyst
  • Standard: Requiert Spatial Analyst
  • Advanced: Requiert Spatial Analyst

Rubriques connexes