Pertenencia difusa (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Resumen

Transforma el ráster de entrada a una escala de 0 a 1, que indica la fortaleza de la pertenencia en un conjunto, en función de un algoritmo de difuminación especificado.

Un valor de 1 indica una pertenencia completa en el conjunto difuso; si la pertenencia disminuye a 0 quiere decir que no es miembro del conjunto difuso.

Más información sobre cómo funciona la Pertenencia difusa

Uso

  • Esta herramienta no escala datos categóricos. Para incluir los datos categóricos en el análisis de superposición difuso es necesario un paso de preprocesamiento. Puede crear un modelo o ejecutar las siguientes herramientas de geoprocesamiento. Primero, utilice la herramienta Reclasificar para proporcionar un nuevo rango de valores (por ejemplo, de 1 a 100). Después, Divida el resultado por un factor (por ejemplo, por 100) para normalizar los valores de salida y que se encuentren entre 0,0 y 1,0.

  • La expansión determina qué tan rápido disminuyen los valores de pertenencia difusa de 1 a 0. Cuanto más alto sea el valor, más pronunciado será el difuminado alrededor del punto medio. Dicho de otra manera, mientras menor sea la expansión, las pertenencias difusas se acercarán a 0 con mayor lentitud. La selección del valor de expansión adecuado es un proceso subjetivo que depende del rango de los valores precisos. Para Gaussiana y Cercano, el valor predeterminado de 0,1 es un buen punto inicial. Por lo general, los valores varían dentro de los rangos de [0,01–1] o [0,001-1], respectivamente. Para Pequeño y Grande, el valor predeterminado 5 es un buen punto inicial donde, por lo general, los valores varían entre 1 y 10.

    Ilustración del efecto de la expansión en una pertenencia difusa Gaussiana
    Efecto de la expansión en una pertenencia difusa Gaussiana.

  • Es posible que suceda que ninguno de los valores de entrada tenga una posibilidad del 100 por ciento de pertenecer al conjunto especificado. En otras palabras, ningún valor de entrada tiene una pertenencia difusa de 1. En este caso, es posible que desee re-escalar los valores de pertenencia difusa para reflejar la nueva escala. Por ejemplo, si la mayor pertenencia para los valores de entrada es de 75, puede establecer la nueva escala multiplicando cada uno de los valores de pertenencia difusa por 0,75.

  • Los cercos de setos implementados son Muy y Un poco. Muy también se conoce como concentración y se define como la función de pertenencia difusa al cuadrado. Un poco se conoce como dilación, o "Más o menos", y es la raíz cuadrada de la función de pertenencia difuminada. Los cercos de setos Muy y Un poco disminuyen y aumentan, respectivamente, las funciones de pertenencia difusa.

  • No se aceptan valores negativos en las funciones de pertenencia Pequeño y Grande.

  • Para la función de pertenencia lineal, el ráster de entrada debe ser de datos ordenados. El mínimo puede ser menor que el máximo para crear una pendiente positiva, o mayor que el máximo para crear una pendiente negativa para la transformación.

    Si el mínimo es menor que el máximo, se utiliza una función con pendiente positiva para la transformación; si el mínimo es mayor que el máximo, se utiliza una función con pendiente negativa.

  • Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.

Sintaxis

FuzzyMembership(in_raster, {fuzzy_function}, {hedge})
ParámetroExplicaciónTipo de datos
in_raster

El ráster de entrada cuyos valores se escalarán de 0 a 1.

El ráster puede ser un entero o punto flotante.

Raster Layer
fuzzy_function
(Opcional)

Especifica el algoritmo utilizado en el difuminado del ráster de entrada.

Las clases difusas se utilizan para especificar el tipo de pertenencia.

Los tipos de clases de pertenencia son:

A continuación, se presentan las formas de las clases de pertenencia:

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

Fuzzy function
hedge
(Opcional)

Definir un cerco de setos aumenta o reduce los valores de pertenencia difusa que modifican el significado de un conjunto difuso. Los cercos de setos son útiles para ayudar a controlar los criterios o atributos importantes.

  • NONENo se aplica ningún cerco de setos. Esta es la opción predeterminada.
  • SOMEWHATSe conoce como dilación, y se define como la raíz cuadrada de la función de pertenencia difusa. Este cerco de setos aumenta las funciones de pertenencia difusa.
  • VERYTambién se conoce como concentración y se define como la función de pertenencia difusa al cuadrado. Este cerco de setos disminuye las funciones de pertenencia difusa.
String

Valor de retorno

NombreExplicaciónTipo de datos
out_raster

La salida será un ráster de punto flotante con valores que varían de 0 a 1.

Raster

Muestra de código

Ejemplo 1 de FuzzyMembership (ventana de Python)

En este ejemplo se crea un ráster de pertenencia difusa mediante la función Gaussiana, donde los valores de elevación más cercanos al punto medio (1.200 pies) poseen un valor de pertenencia mayor.

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")
Ejemplo 2 de FuzzyMembership (secuencia de comandos independiente)

En este ejemplo se crea un ráster de pertenencia difusa mediante la función Gaussiana y una expansión de 0,4, donde los valores de elevación más cercanos al punto medio (1.000 pies) poseen un valor de pertenencia mayor.

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

Información de licenciamiento

  • Basic: Requiere Spatial Analyst
  • Standard: Requiere Spatial Analyst
  • Advanced: Requiere Spatial Analyst

Temas relacionados