com.esri.arcgis.geoprocessing.tools.spatialanalysttools Class FuzzyMembership

```java.lang.Object
com.esri.arcgis.geoprocessing.AbstractGPTool
com.esri.arcgis.geoprocessing.tools.spatialanalysttools.FuzzyMembership
```
All Implemented Interfaces:
GPTool

`public class FuzzyMembershipextends AbstractGPTool`

Scales input raster data into values ranging from zero to one, indicating the strength of a membership in a set. The Fuzzy Membership tool is contained in the Spatial Analyst Tools tool box.

Usage tips:

• This tool does not scale categorical data. To include categorical data into fuzzy overlay analysis, a preprocessing step is necessary. You can create a model or run the following geoprocessing tools. Use the tool to provide a new range of values based on suitability of each group (for example 1–100). Subsequently, by a factor (floating point) to normalize the output between 0.0 to 1.0.
• Spread determines how rapidly the fuzzy membership values decrease from one to zero. The larger the value the steeper the fuzzification around the midpoint, or as the spread gets smaller, the fuzzy memberships approach zero more slowly. The selection of the appropriate spread value is a subjective process that is dependent on the range of the crisp values. For Gaussian and Near, the default value of 0.1 is a good starting point. Typically, the values vary between [0.01–1] and [0.001 and 1], respectively. For Small and Large, the default value of 5 is a good starting point where, typically, the values vary between 1 and 10.
• If it is desired to scale the fuzzy membership values from a maximum of less than one, then the fuzzy membership values from these algorithms can always be rescaled—for example multiplication by 0.75 would reduce the maximum fuzzy membership value to 0.75.
• Hedges implemented are Very and Somewhat. Very is also known as concentration and is defined as the fuzzy membership function squared. Somewhat is known as dilation, or "More or Less", and is the square root of the Fuzzification membership function. The very and somewhat hedges decrease and increase, respectively, the fuzzy membership functions.
• For small and large membership functions, negative values need to be transformed to positive.
• For the Linear membership function the input raster must be ordered data.
• For Linear memberships, the minimum can be less than the maximum to create a positive slope, or greater than the maximum to create a negative slope for the transform.

Field Summary

Fields inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
`vals`

Constructor Summary
`FuzzyMembership()`
Creates the Fuzzy Membership tool with defaults.
```FuzzyMembership(Object inRaster, Object outRaster)```
Creates the Fuzzy Membership tool with the required parameters.

Method Summary
` Object` `getFuzzyFunction()`
Returns the Membership type parameter of this tool .
` String` `getHedge()`
Returns the Hedge parameter of this tool .
` Object` `getInRaster()`
Returns the Input raster parameter of this tool .
` Object` `getOutRaster()`
Returns the Output raster parameter of this tool .
` String` `getToolboxAlias()`
Returns the alias of the tool box containing this tool.
` String` `getToolboxName()`
Returns the name of the tool box containing this tool.
` String` `getToolName()`
Returns the name of this tool.
` void` `setFuzzyFunction(Object fuzzyFunction)`
Sets the Membership type parameter of this tool .
` void` `setHedge(String hedge)`
Sets the Hedge parameter of this tool .
` void` `setInRaster(Object inRaster)`
Sets the Input raster parameter of this tool .
` void` `setOutRaster(Object outRaster)`
Sets the Output raster parameter of this tool .

Methods inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
`getParameterValues, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

FuzzyMembership

`public FuzzyMembership()`
Creates the Fuzzy Membership tool with defaults.

Initializes the array of tool parameters with the default values specified when the tool was created.

FuzzyMembership

```public FuzzyMembership(Object inRaster,
Object outRaster)```
Creates the Fuzzy Membership tool with the required parameters.

Initializes the array of tool parameters with the values as specified for the required parameters and with the default values for the other parameters.

Parameters:
`inRaster` - the input raster whose values will be scaled from 0 to 1.
`outRaster` - the output will be a floating-point raster with values ranging from 0 to 1.
Method Detail

getInRaster

`public Object getInRaster()`
Returns the Input raster parameter of this tool . This parameter is the input raster whose values will be scaled from 0 to 1. This is a required parameter.

Returns:
the Input raster

setInRaster

`public void setInRaster(Object inRaster)`
Sets the Input raster parameter of this tool . This parameter is the input raster whose values will be scaled from 0 to 1. This is a required parameter.

Parameters:
`inRaster` - the input raster whose values will be scaled from 0 to 1.

getOutRaster

`public Object getOutRaster()`
Returns the Output raster parameter of this tool . This parameter is the output will be a floating-point raster with values ranging from 0 to 1. This is a required parameter.

Returns:
the Output raster

setOutRaster

`public void setOutRaster(Object outRaster)`
Sets the Output raster parameter of this tool . This parameter is the output will be a floating-point raster with values ranging from 0 to 1. This is a required parameter.

Parameters:
`outRaster` - the output will be a floating-point raster with values ranging from 0 to 1.

getFuzzyFunction

`public Object getFuzzyFunction()`
Returns the Membership type parameter of this tool . This parameter is specifies the algorithm used in fuzzification of the input raster. the fuzzy classes objects are used to specify the type of membership. the types of membership objects are: the forms of the objects are: This is an optional parameter.

Returns:
the Membership type

setFuzzyFunction

`public void setFuzzyFunction(Object fuzzyFunction)`
Sets the Membership type parameter of this tool . This parameter is specifies the algorithm used in fuzzification of the input raster. the fuzzy classes objects are used to specify the type of membership. the types of membership objects are: the forms of the objects are: This is an optional parameter.

Parameters:
`fuzzyFunction` - specifies the algorithm used in fuzzification of the input raster. the fuzzy classes objects are used to specify the type of membership. the types of membership objects are: the forms of the objects are:
• FuzzyLinear({min},{max})
• FuzzyMSLarge({mean_multiplier},{std_multiplier})
• FuzzyMSSmall({mean_multiplier},{std_multiplier})

getHedge

`public String getHedge()`
Returns the Hedge parameter of this tool . This parameter is defining a hedge helps to modify the fuzzy membership values—for example, transforms the statement "John is old" to "John is very old." This is an optional parameter.

Returns:
the Hedge

setHedge

`public void setHedge(String hedge)`
Sets the Hedge parameter of this tool . This parameter is defining a hedge helps to modify the fuzzy membership values—for example, transforms the statement "John is old" to "John is very old." This is an optional parameter.

Parameters:
`hedge` - defining a hedge helps to modify the fuzzy membership values—for example, transforms the statement "John is old" to "John is very old."

getToolName

`public String getToolName()`
Returns the name of this tool.

Returns:
the tool name

getToolboxName

`public String getToolboxName()`
Returns the name of the tool box containing this tool.

Returns:
the tool box name

getToolboxAlias

`public String getToolboxAlias()`
Returns the alias of the tool box containing this tool.

Returns:
the tool box alias