需要 Spatial Analyst 许可。
摘要
通过用户指定的最小值(隶属度为 0)到用户定义的最大值(分配的隶属度为 1)之间的线性变换来定义模糊隶属度函数。
语法
FuzzyLinear (minimum, maximum)
参数 | 说明 | 数据类型 |
minimum | 隶属度将为 0 的值。如果 minimum 小于 maximum,则线性函数的斜率为正。如果 minimum 大于 maximum,则线性函数的斜率为负。 (默认值为 Minimum of the input) | Double |
maximum | 隶属度将为 1 的值。如果 maximum 大于 minimum,则线性函数的斜率为正。如果 maximum 小于 minimum,则线性函数的斜率为负。 (默认值为 Maximum of the input) | Double |
属性
属性 | 说明 | 数据类型 |
minimum (可读写) | 隶属度将为 0 的值。如果最小值小 最大值,则线性函数的斜率为正。如果最小值大于最大值,则斜率为负。 | Double |
maximum (可读写) | 隶属度将为 1 的值。如果最大值大于最小值,则线性函数斜率为正。如果最大值小于最小值,则线性函数斜率为负。 | Double |
代码示例
演示如何在 Python 窗口下创建 FuzzyLinear 类,并通过 FuzzyMembership 工具使用该类。
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 类执行 FuzzyMembership。
# 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)
# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)
# Save the output
outFuzzyMember.save("c:/sapyexamples/fzyline2")