FuzzyLinear (arcpy.sa)

Récapitulatif

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.

Syntaxe

FuzzyLinear (minimum, maximum)
ParamètreExplicationType 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.

(La valeur par défaut est 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.

(La valeur par défaut est Maximum of the input)

Double

Propriétés

PropriétéExplicationType de données
minimum
(Lecture/é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/é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)

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

Thèmes connexes

9/12/2013