Skip to main content

FuzzyLinear

汇总

通过用户指定的最小值(隶属度为 0)到用户定义的最大值(分配的隶属度为 1)之间的线性变换来定义模糊隶属度函数。

讨论

使用 FuzzyLinear 对象的工具: 模糊隶属度

线性函数的适用条件为:在正斜率情况下,较小值优先于较大值呈线性增加,而对于负斜率情况,则与此相反。

线性函数不使用负数。

FuzzyLinear 图

模糊线性隶属度函数的变化。

语法

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

代码示例

FuzzyLinear 示例 1(Python 窗口)

演示如何在 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 示例 2(独立脚本)

使用 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)

# Run FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

# Save the output
outFuzzyMember.save("c:/sapyexamples/fzyline2")