Skip to main content

FuzzyLinear

Résumé

Defines a fuzzy membership function through a linear transformation between the specified minimum value, a membership of 0, to the specified maximum value, which is assigned a membership of 1.

Discussion

The tool that uses the FuzzyLinear object: Fuzzy Membership.

This function is useful when the smaller values linearly increase in membership to the larger values for a positive slope and opposite for a negative slope.

This function does not work with negative numbers.

FuzzyLinear graph

Variations of the fuzzy Linear membership function.

Syntaxe

FuzzyLinear(minimum, maximum)

Nom Explication Type de données

minimum

The value that will have a membership of 0.

If the minimum value is less than the maximum, the linear function will have a positive slope. If the minimum value is greater than the maximum, the linear function will have a negative slope.

The default value is minimum of the input.

Double

maximum

The value that will have a membership of 1.

If the maximum value is greater than the minimum, the linear function will have a positive slope. If the maximum value is less than the minimum, the linear function will have a negative slope.

The default value is maximum of the input.

Double

Propriétés

Nom Explication Type de données

minimum

(Lecture et écriture)

The value that will have a membership of 0.

If the minimum value is less than the maximum, the linear function will have a positive slope. If the minimum value is greater than the maximum, the slope will have a negative slope.

Double

maximum

(Lecture et écriture)

The value that will have a membership of 1.

If the maximum value is greater than the minimum, the linear function will have a positive slope. If the maximum value is less than the minimum, the slope will have a negative slope.

Double

Exemple de code

FuzzyLinear example 1 (Python window)

Demonstrates how to create a FuzzyLinear class and use it in the FuzzyMembership tool within the Python window.

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyLinear(12, 16))
outFzyMember.save("c:/sapyexamples/fzyline")
FuzzyLinear example 2 (stand-alone script)

Performs a FuzzyMembership using the FuzzyLinear class.

# Name: FuzzyLinear_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 = "as_std"

# Create the FuzzyLinear algorithm object
min = 19
max = 22
myFuzzyAlgorithm = FuzzyLinear(min, max)

# Run FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

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