FuzzyLinear

Summary

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

Discussion

The tool that uses the FuzzyLinear object: Fuzzy Membership.

The Linear 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.

The Linear function does not work with negative numbers.

FuzzyLinear graph
Variations of the fuzzy Linear membership function.

Syntax

FuzzyLinear (minimum, maximum)
ParameterExplanationData Type
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

Properties

PropertyExplanationData Type
minimum
(Read and Write)

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
(Read and Write)

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

Code Sample

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)

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

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

Related Topics


7/16/2013