Lissage avec préservation des entités (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Lisse un raster de surface en supprimant le bruit tout en préservant les entités.

En savoir plus sur le fonctionnement de l’outil Lissage avec préservation des entités

Illustration

Illustration de l’outil Lissage avec préservation des entités

Utilisation

  • Cet outil permet de supprimer le bruit d’un raster de modèle d’élévation numérique (MNE). Il peut être utilisé dans tout processus d’analyse pour lequel un meilleur lissage final en sortie est souhaité.

  • Cet outil possède plusieurs paramètres qui influent sur le processus de lissage. Ces paramètres peuvent être utilisés séparément ou ensemble pour adapter les résultats aux spécificités de votre application. L’analyse peut être contrôlée des façons suivantes :

    • La taille du voisinage autour des cellules qui sont lissées.
    • La déclivité relative de la variation locale qui sera affectée.
    • Le nombre d’itérations du processus de lissage.
    • La hauteur relative des objets qui seront affectés.
  • Le paramètre Neighborhood Distance (Distance de voisinage) définit la taille du voisinage. Renseignez une valeur faible pour garantir que seul le bruit sera lissé et que les entités sur le raster en entrée seront préservées. Par exemple, un paramètre de 5 cellules produira une fenêtre de traitement de 11 cellules par 11, ce qui constitue en général un bon point de départ.

  • Le paramètre Normal Difference Threshold (Seuil de différence de normale) définit le changement potentiel maximal de déclivité des tronçons d’entités (en degrés) au cours d’une seule itération. Spécifier une valeur faible (telle que 15 degrés ou moins) permet de s’assurer que seuls les tronçons des entités plates seront lissés.

  • Le paramètre Maximum Elevation Change (Changement d’élévation maximal) détermine le changement potentiel maximal de hauteur de l’entité au cours d’une seule itération. Spécifier une valeur faible (telle que 0,5 mètre ou moins) permet de s’assurer que seules les entités courtes seront lissées.

  • Le paramètre Number of Iterations (Nombre d’itérations) indique le nombre de répétitions du processus de lissage. Spécifier des valeurs plus élevées peut améliorer le niveau de lissage du raster en sortie ; Toutefois, un plus grand nombre d’itérations augmente le temps de traitement. Dans de nombreux cas, une valeur faible (telle que 3) donne de bons résultats pour ce paramètre.

  • Lorsqu’un système de coordonnées verticales est défini pour la valeur du paramètre Input Surface Raster (Raster de surface en entrée), l’unité z du système de coordonnées verticales sera respectée dans l’analyse. Si aucun système de coordonnées verticales n’est défini pour le raster de surface en entrée, spécifiez la valeur du paramètre Z Unit (Unité Z) pour garantir un calcul correct des vecteurs normaux durant l’analyse.

  • Si votre système dispose d’un processeur graphique (GPU) compatible, celui-ci peut accélérer cet outil et améliorer ses performances. Utilisez le paramètre Périphérique cible pour analyse (analysis_target_device dans Python) pour définir si c’est le GPU ou le CPU qui sera utilisé pour exécuter l’outil.

    Consultez la rubrique Traitement GPU avec Spatial Analyst pour plus d’informations sur les GPU compatibles, sur la configuration et l’utilisation des périphériques GPU et pour obtenir des conseils de dépannage.

  • Cet outil prend en charge le traitement parallèle. Il est possible d’obtenir de meilleures performances, en particulier sur les jeux de données volumineux, si votre ordinateur est doté de plusieurs processeurs ou de processeurs multicœurs. Pour plus d’informations concernant cette fonctionnalité et sa configuration, consultez la rubrique d’aide Traitement parallèle avec Spatial Analyst.

  • Lorsque le format raster en sortie est .crf, cet outil prend en charge l’environnement de stockage raster Pyramide. Des pyramides seront créées dans la sortie par défaut. Pour tout autre format en sortie, cet environnement n’est pas pris en charge et aucune pyramide n’est créé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.

Paramètres

ÉtiquetteExplicationType de données
Raster de surface en entrée

Raster de surface en entrée.

Raster Layer
Unités de distance
(Facultatif)

Spécifie l’unité de distance qui sera utilisée pour le paramètre Neighborhood Distance (Distance de voisinage). La valeur par défaut est Cellules.

  • CellulesLes cellules sont l’unité de distance.
  • MètresLes mètres sont l’unité de distance.
  • CentimètresLes centimètres sont l’unité de distance.
  • KilomètresLes kilomètres sont l’unité de distance.
  • PoucesLes pouces sont l’unité de distance.
  • PiedsLes pieds sont l’unité de distance.
  • YardLes yards sont l’unité de distance.
  • MilesLes miles sont l’unité de distance.
String
Distance de voisinage
(Facultatif)

La distance depuis la cellule cible qui définit la taille du voisinage de traitement.

La valeur doit être un nombre positif. La valeur par défaut est 5 cellules.

Double
Seuil de différence de normale
(Facultatif)

La différence de normale maximale pour qu’une cellule soit prise en compte dans le calcul de valeur d’une nouvelle cellule pour la cellule de traitement actuelle. Une différence de normale correspond à l’angle formé entre le vecteur normal d’une cellule voisine et le vecteur normal de la cellule de traitement actuelle.

La valeur peut être n’importe quel nombre compris entre -180 et 180 degrés. La valeur par défaut est 15 degrés.

Double
Nombre d’itérations
(Facultatif)

Le nombre de répétitions du processus de lissage.

La valeur doit être un entier positif. La valeur par défaut est 3.

Long
Changement d’élévation maximal
(Facultatif)

Le changement maximal autorisé de hauteur d’une cellule au cours d’une itération.

La nouvelle valeur calculée pour un emplacement de cellule est comparée à la valeur d’origine à cet emplacement de cellule. Si la différence est inférieure ou égale à la valeur de ce paramètre, la nouvelle valeur de cellule sera utilisée. Dans le cas contraire, la valeur d’origine sera conservée.

La valeur doit être un nombre positif. La valeur par défaut est 0.5 mètre.

Linear Unit
Unité Z
(Facultatif)

Spécifie l’unité linéaire qui sera utilisée pour les valeurs Z verticales.

Elle est définie par un système de coordonnées verticales s’il en existe un. En l’absence d’un système de coordonnées verticales, définissez l’unité z à l’aide de la liste d’unités pour garantir un calcul géodésique correct. Le mètre est la valeur par défaut.

  • PouceLes unités linéaires sont les pouces.
  • PiedLes unités linéaires sont les pieds.
  • YardLes unités linéaires sont les yards.
  • Mile USLes unités linéaires sont les milles.
  • Mille nautiqueLes unités linéaires sont les milles nautiques.
  • MillimètreLes unités linéaires sont les millimètres.
  • CentimètreLes unités linéaires sont les centimètres.
  • MètreLes unités linéaires sont les mètres.
  • KilomètreLes unités linéaires sont les kilomètres.
  • DécimètreLes unités linéaires sont les décimètres.
String
Périphérique cible pour analyse
(Facultatif)

Spécifie le périphérique qui sera utilisé pour effectuer le calcul.

  • GPU puis CPUSi un GPU compatible est trouvé, celui-ci sera utilisé pour effectuer le calcul. Autrement, le CPU sera utilisé. Il s’agit de l’option par défaut.
  • CPU uniquementLe calcul sera uniquement exécuté sur le CPU.
  • GPU uniquementLe calcul sera uniquement exécuté sur le GPU.
String

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster lissé en sortie.

Raster

FeaturePreservingSmoothing(in_raster, {distance_units}, {neighborhood_distance}, {normal_difference_threshold}, {number_iterations}, {maximum_elevation_change}, {z_unit}, {analysis_target_device})
NomExplicationType de données
in_raster

Raster de surface en entrée.

Raster Layer
distance_units
(Facultatif)

Spécifie l’unité de distance qui sera utilisée pour le paramètre Neighborhood Distance. La valeur par défaut est CELLS.

  • CELLSLes cellules sont l’unité de distance.
  • METERSLes mètres sont l’unité de distance.
  • CENTIMETERSLes centimètres sont l’unité de distance.
  • KILOMETERSLes kilomètres sont l’unité de distance.
  • INCHESLes pouces sont l’unité de distance.
  • FEETLes pieds sont l’unité de distance.
  • YARDSLes yards sont l’unité de distance.
  • MILESLes miles sont l’unité de distance.
String
neighborhood_distance
(Facultatif)

La distance depuis la cellule cible qui définit la taille du voisinage de traitement.

La valeur doit être un nombre positif. La valeur par défaut est 5 cellules.

Double
normal_difference_threshold
(Facultatif)

La différence de normale maximale pour qu’une cellule soit prise en compte dans le calcul de valeur d’une nouvelle cellule pour la cellule de traitement actuelle. Une différence de normale correspond à l’angle formé entre le vecteur normal d’une cellule voisine et le vecteur normal de la cellule de traitement actuelle.

La valeur peut être n’importe quel nombre compris entre -180 et 180 degrés. La valeur par défaut est 15 degrés.

Double
number_iterations
(Facultatif)

Le nombre de répétitions du processus de lissage.

La valeur doit être un entier positif. La valeur par défaut est 3.

Long
maximum_elevation_change
(Facultatif)

Le changement maximal autorisé de hauteur d’une cellule au cours d’une itération.

La nouvelle valeur calculée pour un emplacement de cellule est comparée à la valeur d’origine à cet emplacement de cellule. Si la différence est inférieure ou égale à la valeur de ce paramètre, la nouvelle valeur de cellule sera utilisée. Dans le cas contraire, la valeur d’origine sera conservée.

La valeur doit être un nombre positif. La valeur par défaut est 0.5 mètre.

Linear Unit
z_unit
(Facultatif)

Spécifie l’unité linéaire qui sera utilisée pour les valeurs Z verticales.

Elle est définie par un système de coordonnées verticales s’il en existe un. En l’absence d’un système de coordonnées verticales, définissez l’unité z à l’aide de la liste d’unités pour garantir un calcul géodésique correct. Le mètre est la valeur par défaut.

  • INCHLes unités linéaires sont les pouces.
  • FOOTLes unités linéaires sont les pieds.
  • YARDLes unités linéaires sont les yards.
  • MILE_USLes unités linéaires sont les milles.
  • NAUTICAL_MILELes unités linéaires sont les milles nautiques.
  • MILLIMETERLes unités linéaires sont les millimètres.
  • CENTIMETERLes unités linéaires sont les centimètres.
  • METERLes unités linéaires sont les mètres.
  • KILOMETERLes unités linéaires sont les kilomètres.
  • DECIMETERLes unités linéaires sont les décimètres.
String
analysis_target_device
(Facultatif)

Spécifie le périphérique qui sera utilisé pour effectuer le calcul.

  • GPU_THEN_CPUSi un GPU compatible est trouvé, celui-ci sera utilisé pour effectuer le calcul. Autrement, le CPU sera utilisé. Il s’agit de l’option par défaut.
  • CPU_ONLYLe calcul sera uniquement exécuté sur le CPU.
  • GPU_ONLYLe calcul sera uniquement exécuté sur le GPU.
String

Valeur renvoyée

NomExplicationType de données
out_raster

Raster lissé en sortie.

Raster

Exemple de code

Exemple 1 d’utilisation de l’outil FeaturePreservingSmoothing (fenêtre Python)

L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python.

Cet exemple lisse un MNE d’une résolution de 1 mètre en utilisant une distance de voisinage de 5 cellules et un seuil de différence de normale de 15 degrés.

from arcpy.sa import *
outFPS01 = FeaturePreservingSmoothing("elevation_1m.tif", "CELLS", 5, 15, 3, 
                                      "0.5 Meters", "METER", "GPU_THEN_CPU")
outFPS01.save("C:/sapyexamples/output/outsmoothraster01.tif")
Exemple 2 d’utilisation de l’outil FeaturePreservingSmoothing (script autonome)

L’exemple suivant illustre l’utilisation de cet outil dans un script Python autonome.

Cet exemple lisse un MNE d’une résolution de 1 mètre en utilisant une distance de voisinage de 5 mètres et un seuil de différence de normale de 10 degrés.

# Name: FeaturePreservingSmoothing_Ex_02.py
# Description: Smooths a 1m resolution elevation raster  
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Set environment settings
arcpy.env.workspace = "C:/sapyexamples/data"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set local variables
inRaster = "elevation_1m.tif"
distUnits = "METERS"
nbrDistance = 5
normDiffThreshold = 10
iterations = 1
maxElevChange = "1.5 Meters"
zUnit = ""
analysisDevice = ""

# Execute the tool
outFPS02 = FeaturePreservingSmoothing(inRaster, distUnits, nbrDistance,
                                    normDiffThreshold, iterations, maxElevChange,
                                    zUnit, analysisDevice)

# Save the output 
outFPS02.save("C:/sapyexamples/output/outsmoothraster02.tif")

Informations de licence

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

Rubriques connexes