FuzzyLinear
摘要
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.
讨论
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.
语法
参数 | 说明 | 数据类型 |
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. (默认值为 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. (默认值为 Maximum of the input) | Double |
属性
属性 | 说明 | 数据类型 |
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 slope will have a negative slope. | 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 slope will have a negative slope. | Double |
代码示例
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")
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")