Appartenance floue (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Convertit un raster en entrée en une échelle de 0 à 1, qui indique le degré d'appartenance dans une série, compte tenu d'un algorithme d'approximation prévu à cet effet.

La valeur 1 indique une appartenance totale dans un ensemble flou et une appartenance de 0 signifie que l'élément ne fait pas partie de l'ensemble.

Pour en savoir plus sur le fonctionnement de l'outil Appartenance floue

Utilisation

  • Cet outil ne met pas à l'échelle les données catégorielles. Pour insérer des données catégorielles dans l'analyse d'une superposition floue, vous devez respecter une étape préalable. Vous pouvez créer un modèle ou exécuter les outils de géotraitement suivants. En premier lieu, utilisez l'outil Reclassification pour obtenir une nouvelle gamme de valeurs (par exemple, 1 à 100). Ensuite, divisez le résultat par un facteur (par exemple, 100) pour obtenir des valeurs comprises entre 0,0 et 1,0.

  • La dispersion détermine la rapidité à laquelle les valeurs d'appartenance floue diminuent de 1 à 0. Plus la valeur est élevée, plus l'appartenance floue autour du milieu est prononcée. En d'autres termes, plus la dispersion est réduite, moins les appartenances floues tendent vers 0. La sélection de la valeur de dispersion appropriée est un processus subjectif qui dépend de la plage de valeurs précises. Si vous utilisez Gaussien et Proche, la valeur par défaut de 0,1 est un bon point de départ. En général, les valeurs varient dans les plages de [0.01.1] ou [0.001-1], respectivement. Si vous sélectionnez Petite et Grande, 5 est la valeur par défaut. En principe, les valeurs varient de 1 à 10.

    Illustration de l'outil Incidence d'une dispersion sur une appartenance floue Gaussienne
    Incidence d'une dispersion sur une appartenance floue Gaussienne.

  • Il se peut qu'aucune des valeurs en entrée n'ait une possibilité de 100 % d'être un membre de l'ensemble spécifié. En d'autres termes, aucune valeur en entrée n'est dotée d'une appartenance floue définie sur 1. Dans ce cas, vous pouvez redimensionner les valeurs d'appartenance floue afin de prendre en compte la nouvelle échelle. Par exemple, si la plus haute appartenance pour les valeurs en entrée est 0,75, vous pouvez établir la nouvelle échelle en multipliant chacune des valeurs d'appartenance floue par 0,75.

  • Les couvertures valables sont Maximum et Approximative. Maximum est également appelée concentration. Elle correspond à l'appartenance floue au carré. Approximative est une digression (plus ou moins). Elle correspond à la racine carrée de la fonction d'appartenance floue. Dans les deux cas, les couvertures Maximum et Approximative s'accroissent ou diminuent selon les fonctions d'appartenance floue.

  • Les valeurs négatives ne sont pas acceptées dans les fonctions d'appartenance Petites et Grandes.

  • Pour la fonction d'appartenance Linéaire, les données dans le raster en entrée doivent être classées. Le minimum peut être inférieur au maximum pour créer une pente positive. Il peut également être supérieur au maximum si vous souhaitez créer une pente négative pour la transformation.

    Si le minimum est inférieur au maximum, vous employez une fonction de pente positive inclinée pour effectuer la transformation. S'il est supérieur, vous employez une fonction de pente négative.

  • 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

FuzzyMembership(in_raster, {fuzzy_function}, {hedge})
ParamètreExplicationType de données
in_raster

Raster en entrée dont les valeurs seront mises à l'échelle de 0 à 1.

Il peut s'agir d'un entier ou d'un raster en virgule flottante.

Raster Layer
fuzzy_function
(Facultatif)

Spécifie l'algorithme utilisé dans l'appartenance floue du raster en entrée.

Les classes floues permettent de spécifier le type d'appartenance.

Les types de classes d'appartenances sont :

Les classes d'appartenance sont les suivantes :

  • FuzzyGaussian({midpoint},{spread})
  • FuzzyLarge({midpoint},{spread})
  • FuzzyLinear({minimum},{maximum})
  • FuzzyMSLarge({meanMultiplier},{STDMultiplier})
  • FuzzyMSSmall({meanMultiplier},{STDMultiplier})
  • FuzzyNear({midpoint},{spread})
  • FuzzySmall({midpoint},{spread})

Fuzzy function
hedge
(Facultatif)

La définition d'une couverture augmente ou réduit les valeurs d'appartenance floue qui modifient la signification d'un ensemble flou. Les couvertures sont utiles pour aider à contrôler les critères ou les attributs importants.

  • NONEAucune couverture n'est appliquée. Il s’agit de l’option par défaut.
  • SOMEWHATEgalement appelé dilatation, ce paramètre correspond à la racine carrée de la fonction d'appartenance floue. Cette couverture augmente les fonctions d'appartenance floue.
  • VERYIl s'agit d'une concentration. Ce paramètre représente la fonction d'appartenance floue au carré. Cette couverture réduit les fonctions d'appartenance floues.
String

Valeur renvoyée

NomExplicationType de données
out_raster

La sortie sera un raster à virgule flottante avec des valeurs comprises entre 0 et 1.

Raster

Exemple de code

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

Cet exemple décrit la création d'un raster d'appartenance floue à l'aide de la fonction Gaussienne lorsque les valeurs d'altitude les plus proches du centre (1 200 pieds) ont une appartenance plus élevée.

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("elevation", FuzzyGaussian(1200, 0.06))
outFzyMember.save("c:/sapyexamples/fzymemb")
Deuxième exemple d'utilisation de l'outil FuzzyMembership (script autonome)

Cet exemple décrit la création d'un raster d'appartenance floue à l'aide de la fonction Gaussienne et d'une dispersion de 0,4, lorsque les valeurs d'altitude les plus proches du centre (1 000 pieds) ont une appartenance plus élevée.

# Name: FuzzyMembership_Ex_02.py
# Description: Scales input raster data into values ranging from zero to one
#     indicating the strength of a membership in a set. 
# 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"

# Create the FuzzyGaussian algorithm object
midpoint = 1000
spread = 0.4
myFuzzyAlgorithm = FuzzyGaussian(midpoint, spread)

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

# Save the output
outFuzzyMember.save("c:/sapyexamples/fzymemb2")

Informations de licence

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

Rubriques connexes