Fuzzy-Zugehörigkeit (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Wandelt das Eingabe-Raster in eine Skala von 0 bis 1 um, die die Stärke der Zugehörigkeit zu einer Menge angibt. Dabei wird ein bestimmter Fuzzyfizierungsalgorithmus zugrunde gelegt.

Der Wert 1 gibt die vollständige Zugehörigkeit zu der unscharfen Menge an, während der Wert 0 für die Zugehörigkeit angibt, dass es sich nicht um ein Element der unscharfen Menge handelt.

Weitere Informationen zur Funktionsweise des Werkzeugs "Fuzzy-Zugehörigkeit"

Verwendung

  • Dieses Werkzeug skaliert keine Kategoriedaten. Um Kategoriedaten in die Fuzzy-Überlagerungsanalyse einzuschließen, ist ein Vorverarbeitungsschritt notwendig. Sie können ein Modell erstellen oder die folgenden Geoverarbeitungswerkzeuge ausführen. Verwenden Sie zuerst das Werkzeug Reklassifizieren, um einen neuen Wertebereich (z. B. 1 bis 100) bereitzustellen. Dividieren Sie dann das Ergebnis durch einen Faktor (z. B. durch 100), um die Ausgabewerte auf den Bereich zwischen 0,0 und 1,0 zu normalisieren.

  • Die Spanne bestimmt, wie schnell sich die Fuzzy-Zugehörigkeitswerte von 1 auf 0 verringern. Je größer der Wert, desto steiler die Fuzzyfizierung um den Mittelpunkt. Anders ausgedrückt, wenn die Spanne kleiner wird, nähern sich die Fuzzy-Zugehörigkeiten langsamer dem Wert 0. Die Auswahl des entsprechenden Wertes für die Spanne ist ein subjektiver Prozess, der vom Bereich der exakten Werte abhängig ist. Für "Gauß'sche" und "Nah" ist der Standardwert 0,1 ein guter Ausgangspunkt. Üblicherweise schwanken die Werte innerhalb der Bereiche [0,01–1] bzw. [0,001–1]. Für "Klein" und "Groß" ist der Standardwert 5 ein guter Ausgangspunkt, bei dem die Werte üblicherweise zwischen 1 und 10 schwanken.

    Abbildung: Auswirkung der Spanne auf eine Gauß'sche Fuzzy-Zugehörigkeit
    Auswirkung der Spanne auf eine Gauß'sche Fuzzy-Zugehörigkeit

  • Es kann Fälle geben, in denen bei keinem der Eingabewerte die 100%ige Möglichkeit besteht, dass sie ein Teil des angegebenen Satzes sind. Mit anderen Worten hat keiner dieser Eingabewerte eine Fuzzy-Zugehörigkeit von 1. In dieser Situation können Sie die Fuzzy-Zugehörigkeitswerte neu skalieren, um die neue Skala wiederzugeben. Wenn der höchste Zugehörigkeitswert z. B. 0,75 ist, können Sie die neue Skala einrichten, indem Sie jeden der Fuzzy-Zugehörigkeitswerte mit 0,75 multiplizieren.

  • Die implementierten Hedges sind Very und Somewhatzur Verfügung gestellt. Very ist auch als Konzentration bekannt und ist als Quadrat der Fuzzy-Zugehörigkeitsfunktion definiert. Somewhat ist als Dilatation bzw. "Mehr oder weniger" bekannt und ist die Quadratwurzel der Fuzzy-Zugehörigkeitsfunktion. Die Hedges Very und Somewhat verringern bzw. erhöhen die Fuzzy-Zugehörigkeitsfunktionen.

  • Negative Werte sind in den Zugehörigkeitsfunktionen "Klein" und "Groß" nicht zulässig.

  • Für die Zugehörigkeitsfunktion "Linear" muss es sich beim Eingabe-Raster um geordnete Daten handeln. Das Minimum kann kleiner sein als das Maximum, um eine positive Neigung zu erstellen, oder größer als das Maximum, um eine negative Neigung für die Transformation zu erstellen.

    Wenn das Minimum kleiner ist als das Maximum, wird eine Funktion mit positiver Neigung für die Transformation verwendet; wenn das Minimum größer als das Maximum ist, wird eine Funktion mit negativer Neigung verwendet.

  • Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Syntax

FuzzyMembership(in_raster, {fuzzy_function}, {hedge})
ParameterErklärungDatentyp
in_raster

Das Eingabe-Raster, dessen Werte von 0 bis 1 skaliert werden.

Das Raster kann ein ganzzahliges oder ein Gleitkomma-Raster sein.

Raster Layer
fuzzy_function
(optional)

Gibt den für die Fuzzyfizierung des Eingabe-Rasters verwendeten Algorithmus an.

Die unscharfen Klassen werden verwendet, um den Typ der Zugehörigkeit anzugeben.

Es gibt folgende Typen von Zugehörigkeitsklassen:

Formate der Zugehörigkeitsklassen:

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

Fuzzy function
hedge
(optional)

Durch Definition einer Hedge werden die Fuzzy-Zugehörigkeitswerte herauf oder herab gesetzt, die die Bedeutung einer unscharfen Menge ändern. Mithilfe von Hedges können Sie die Kriterien oder wichtige Attribute steuern.

  • NONEEs wird keine Hedge angewendet. Dies ist die Standardeinstellung.
  • SOMEWHATAls Dilatation bekannt und als Quadratwurzel der Fuzzy-Zugehörigkeitsfunktion definiert. Diese Hedge erhöht die Fuzzy-Zugehörigkeitsfunktionen.
  • VERYAuch als Konzentration bekannt und als Quadrat der Fuzzy-Zugehörigkeitsfunktion definiert. Diese Hedge verringert die Fuzzy-Zugehörigkeitsfunktionen.
String

Rückgabewert

NameErklärungDatentyp
out_raster

Die Ausgabe ist ein Gleitkomma-Raster mit Werten im Bereich von 0 bis 1.

Raster

Codebeispiel

FuzzyMembership – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird mithilfe der Gauß'schen Funktion ein Fuzzy-Zugehörigkeits-Raster erstellt, wobei dem Mittelpunkt (1.200 ft) nähere Höhenwerte einen höheren Zugehörigkeitswert aufweisen.

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")
FuzzyMembership – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird mithilfe der Gauß'schen Funktion und der Spanne 0,4 ein Fuzzy-Zugehörigkeits-Raster erstellt, wobei dem Mittelpunkt (1.000 ft) nähere Höhenwerte einen höheren Zugehörigkeitswert aufweisen.

# 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")

Lizenzinformationen

  • Basic: Erfordert Spatial Analyst
  • Standard: Erfordert Spatial Analyst
  • Advanced: Erfordert Spatial Analyst

Verwandte Themen