Fuzzy-Zugehörigkeit (Spatial Analyst)

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
    Abbildung: 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 Stark und Etwas. Stark ist auch als Konzentration bekannt und ist als Quadrat der Fuzzy-Zugehörigkeitsfunktion definiert. Etwas ist als Dilatation bzw. "Mehr oder weniger" bekannt und ist die Quadratwurzel der Fuzzy-Zugehörigkeitsfunktion. Die Hedges Stark und Etwas 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 zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster

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

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

Raster Layer
Zugehörigkeitstyp
(optional)

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

Bestimmte Einstellungen für Zugehörigkeitstyp setzen einen Parameter vom Typ Spanne ein, um zu bestimmen, wie schnell sich die Fuzzy-Zugehörigkeitswerte von 1 auf 0 verringern. Die Standardwerte für die Spanne werden unten in der Tabelle aufgelistet.

  • GaussianWeist am Mittelpunkt den Zugehörigkeitswert 1 zu.Der Zugehörigkeitswert sinkt auf 0 für Werte, die entsprechend einer Normalkurve vom Mittelpunkt abweichen. Die Funktion "Gauß'sche" ähnelt der Funktion "Nah", weist jedoch eine schmalere Spanne auf.
    • Mittelpunkt — Die Standardeinstellung ist der Mittelpunkt des Wertebereichs des Eingabe-Rasters.
    • Spanne: Der Standardwert ist 0,1. Üblicherweise schwanken die Werte zwischen [0,01–1].
  • SmallWird verwendet, um anzugeben, dass kleine Werte des Eingabe-Rasters einen hohen Zugehörigkeitsgrad zur unscharfen Menge aufweisen.Weist am Mittelpunkt den Zugehörigkeitswert 0,5 zu.
    • Mittelpunkt — Die Standardeinstellung ist der Mittelpunkt des Wertebereichs des Eingabe-Rasters.
    • Spanne: Der Standardwert ist 5.
  • LargeWird verwendet, um anzugeben, dass große Werte des Eingabe-Rasters einen hohen Zugehörigkeitsgrad zur unscharfen Menge aufweisen.Weist am Mittelpunkt den Zugehörigkeitswert 0,5 zu.
    • Mittelpunkt: Die Standardeinstellung ist der Mittelpunkt des Wertebereichs des Eingabe-Rasters.
    • Spanne: Der Standardwert ist 5.
  • NearBerechnet den Zugehörigkeitsgrad für Werte in der Nähe eines bestimmten Zwischenwertes.Weist am Mittelpunkt den Zugehörigkeitswert 1 zu. Der Zugehörigkeitswert sinkt auf 0 für Werte, die vom Mittelpunkt abweichen.
    • Mittelpunkt: Die Standardeinstellung ist der Mittelpunkt des Wertebereichs des Eingabe-Rasters.
    • Spanne: Der Standardwert ist 0,1. Üblicherweise schwanken die Werte innerhalb des Bereichs [0,001–1].
  • MSLargeBerechnet die Zugehörigkeit auf Grundlage von Mittelwert und Standardabweichung der Eingabedaten, wobei große Werte einen hohen Zugehörigkeitsgrad aufweisen.Das Ergebnis kann der Funktion "Groß" ähnlich sein, abhängig davon, wie die Multiplikatoren von Mittelwert und Standardabweichung definiert sind.
    • Mittelwertmultiplikator: Der Standardwert ist 1.
    • Standardabweichungsmultiplikator: Der Standardwert ist 2.
  • MSSmallBerechnet die Zugehörigkeit auf Grundlage von Mittelwert und Standardabweichung der Eingabedaten, wobei kleine Werte einen hohen Zugehörigkeitsgrad aufweisen. Dies ist der Standardmitgliedstyp.Das Ergebnis kann der Funktion "Klein" ähnlich sein, abhängig davon, wie die Multiplikatoren von Mittelwert und Standardabweichung definiert sind.
    • Mittelwertmultiplikator: Der Standardwert ist 1.
    • Standardabweichungsmultiplikator: Der Standardwert ist 2.
  • LinearBerechnet die Mitgliedschaft auf Grundlage der linearen Transformation des Eingabe-Rasters.Weist den Mitgliedschaftswert 0 beim Minimum und den Mitgliedschaftswert 1 beim Maximum zu.
    • Minimum: Der Standardwert ist 1.
    • Maximum: Der Standardwert ist 2.
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.

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

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

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

Raster

FuzzyMembership(in_raster, {fuzzy_function}, {hedge})
NameErläuterungDatentyp
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

NameErläuterungDatentyp
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")

Verwandte Themen