Affiné (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Affine les entités linéaires rasterisées en réduisant le nombre de cellules représentant la largeur des entités.

Utilisation

  • Une application type de l'outil Affinage concerne le traitement d'une carte numérisée représentant des isolignes d'altitude. En raison de la résolution du scanner et de la largeur des lignes sur la carte d'origine, les isolignes sont représentées dans le raster obtenu sous forme d'éléments linéaires larges de cinq à dix cellules. Après exécution de la fonction Affinage, chaque isoligne est représentée sous la forme d'une entité linéaire large d'une cellule.

  • Si elle est activée, l'option de filtre utilise le même algorithme de filtrage que l'outil Nettoyage de limites pour supprimer les entités linéaires courtes qui prolongent la branche principale. Elle peut également supprimer des entités dont la largeur ne dépasse pas trois cellules.

  • La spécification de l'épaisseur maximale des entités linéaires en entrée est essentielle pour affiner des rasters là où l'épaisseur d'entités linéaires peut dépasser ou rester au-dessous de la valeur d'épaisseur maximale par défaut. Les meilleurs résultats peuvent être obtenus lorsque l'épaisseur maximale correspond aux entités linéaires les plus épaisses à affiner.

  • L'algorithme général utilisé dans l'outil Affinage est expliqué dans cet ouvrage :

    Zhan, Cixiang, 1993, A Hybrid Line Thinning Approach, Proceedings Auto-Carto 11, Minneapolis , pp. 396-405

  • 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

Thin(in_raster, {background_value}, {filter}, {corners}, {maximum_thickness})
ParamètreExplicationType de données
in_raster

Raster en entrée à affiner.

Il doit être de type entier.

Raster Layer
background_value
(Facultatif)

Spécifie la valeur de la cellule qui doit identifier les cellules d'arrière-plan. Les entités linéaires sont formées à partir des cellules de premier plan.

  • ZEROL'arrière-plan se compose de cellules dont la valeur est 0, inférieure à zéro ou NoData. Toutes les cellules dont la valeur est supérieure à 0 composent le premier plan.
  • NODATA L'arrière-plan se compose de cellules de valeur NoData. Toutes les cellules ayant une valeur valide appartiennent au premier plan.
String
filter
(Facultatif)

Précise si un filtre doit être appliqué comme premier stade de l'affinage.

  • NO_FILTERAucun filtre n'est appliqué.Il s’agit de l’option par défaut.
  • FILTER Le raster est filtré pour lisser les limites entre les cellules du premier plan et de l'arrière-plan. Cette option élimine les défauts mineurs du raster en sortie.
Boolean
corners
(Facultatif)

Précise s'il faut ou non arrondir les angles (tournants et jonctions).

Cette option est également utilisée lors de la conversion en vecteurs pour spliner les courbes et créer des angles vifs aux intersections et aux coins.

  • ROUND Tente de lisser les jonctions et les angles. Cette option est particulièrement adaptée à la vectorisation des caractéristiques naturelles du terrain, telles que les cours d'eau et les isolignes.
  • SHARP Tente de conserver l'arête des jonctions et des angles. Cette option est recommandée pour la vectorisation des entités résultant d'une intervention humaine, telles que les rues.
String
maximum_thickness
(Facultatif)

Epaisseur maximale des entités linéaires du raster en entrée (en unités de carte).

L'épaisseur par défaut représente dix fois la taille de cellule.

Double

Valeur renvoyée

NomExplicationType de données
out_raster

Raster en sortie après affinage.

La sortie est toujours de type entier.

Raster

Exemple de code

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

Cet exemple affine un raster où les valeurs d'arrière-plan sont NoData, et lisse les limites en essayant de conserver des angles et des jonctions.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
thinOut = Thin("land","NODATA", "FILTER", "SHARP", 300)
thinOut.save("c:/sapyexamples/output/thinout")
Deuxième exemple d'utilisation de l'outil Affinage (script autonome)

Cet exemple affine un raster où les valeurs d'arrière-plan sont NoData, et lisse les limites en essayant de conserver des angles et des jonctions.

# Name: Thin_Ex_02.py
# Description: Thins rasterized linear features by 
#              reducing the number of cells 
#              representing the width of the features.
# 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"
tolerance = 300

# Execute Thin
thinOut = Thin(inRaster, "NODATA", "FILTER", "SHARP", tolerance)

# Save the output 
thinOut.save("c:/sapyexamples/output/thinoutput")

Informations de licence

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

Rubriques connexes