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 FuzzyMembership
- extends 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.
Constructor Summary |
FuzzyMembership()
Creates the Fuzzy Membership tool with defaults. |
FuzzyMembership(java.lang.Object inRaster,
java.lang.Object outRaster)
Creates the Fuzzy Membership tool with the required parameters. |
Method Summary |
java.lang.Object |
getFuzzyFunction()
Returns the Membership type parameter of this tool . |
java.lang.String |
getHedge()
Returns the Hedge parameter of this tool . |
java.lang.Object |
getInRaster()
Returns the Input raster parameter of this tool . |
java.lang.Object |
getOutRaster()
Returns the Output raster parameter of this tool . |
java.lang.String |
getToolboxAlias()
Returns the alias of the tool box containing this tool. |
java.lang.String |
getToolboxName()
Returns the name of the tool box containing this tool. |
java.lang.String |
getToolName()
Returns the name of this tool. |
void |
setFuzzyFunction(java.lang.Object fuzzyFunction)
Sets the Membership type parameter of this tool . |
void |
setHedge(java.lang.String hedge)
Sets the Hedge parameter of this tool . |
void |
setInRaster(java.lang.Object inRaster)
Sets the Input raster parameter of this tool . |
void |
setOutRaster(java.lang.Object outRaster)
Sets the Output raster parameter of this tool . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
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(java.lang.Object inRaster,
java.lang.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.
getInRaster
public java.lang.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(java.lang.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 java.lang.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(java.lang.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 java.lang.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(java.lang.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:-
FuzzyGaussian({midpoint},{spread})
- FuzzyLarge({midpoint},{spread})
-
FuzzyLinear({min},{max})
- FuzzyMSLarge({mean_multiplier},{std_multiplier})
-
FuzzyMSSmall({mean_multiplier},{std_multiplier})
- FuzzyNear({midpoint},{spread})
-
FuzzySmall({midpoint},{spread})
getHedge
public java.lang.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(java.lang.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 java.lang.String getToolName()
- Returns the name of this tool.
- Returns:
- the tool name
getToolboxName
public java.lang.String getToolboxName()
- Returns the name of the tool box containing this tool.
- Returns:
- the tool box name
getToolboxAlias
public java.lang.String getToolboxAlias()
- Returns the alias of the tool box containing this tool.
- Returns:
- the tool box alias