模糊隶属度 (Spatial Analyst 工具)
汇总
基于指定的模糊算法,将输入栅格转换至 0 到 1 数值范围,以指示其对某一集合的隶属度。
值为 1 表示完全属于模糊集合,当隶属度减少到 0 时,表示不属于该模糊集合。
了解有关“模糊隶属度”工作原理的详细信息
用法
此工具不会改变分类数据的大小。 要将分类数据包括在模糊叠加分析中,必须执行预处理步骤。 您可以创建模型或运行下列地理处理工具。 首先,使用重分类 工具获得新的值范围(例如,1 到 100)。 然后使用除 工具,将结果除以某个因子(例如 100),以便将输出值归一化为介于 0.0 和 1.0 之间的值。
散度定义了模糊隶属度的值从 1 向 0 下降的快慢程度。 值越大,模糊化在中点附近变化越急剧。 换言之,随着散度的减小,模糊隶属度接近 0 的速度也随之降低。 选择合适的散度 (spread) 值是一个主观过程,它取决于明确值的数值范围。 对于高斯隶属度类型和近邻隶属度类型,使用默认值 0.1 作为起点很合适。 通常,值分别在 [0.01–1] 或 [0.001-1] 的范围内变化。 对于小值 (Small) 隶属度类型和大值 (Large) 隶属度类型,适合使用默认值 5 作为起点,此时,通常值在 1 和 10 之间变化。
有时,可能会出现没有任何一个输入值可以保证 100% 属于指定集合的情况。 也就是说,没有输入值的模糊隶属度为 1。 这种情况下,可能需要重新调整模糊隶属度的大小以反映出新的比例。 例如,如果输入值的最高隶属度为 0.75,您可以通过将每个模糊隶属度值乘以 0.75 来建立新的比例。
模糊限制语 参数选项是 Very 、Somewhat 和 None 。 Very 也称为收缩,被定义为模糊隶属度函数的平方。 Somewhat 也称为膨胀或 More or Less,是模糊隶属度函数的平方根。 Very 和 Somewhat 模糊限制语可分别减小和增大模糊隶属度函数。
小值和大值隶属度类型不接受负值。
对于线性 (Linear) 隶属度类型,输入栅格必须为有序数据。 最小值可以小于最大值以创建正斜率,也可以大于最大值以创建负斜率的变换。
如果最小值小于最大值,则使用正斜率函数进行变换;如果最小值大于最大值,则使用负斜率函数。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst 。
参数
标注
说明
数据类型
输入栅格
将值从 0 到 1 进行缩放的输入栅格。
它可以是整型栅格或浮点型栅格。
Raster Layer
隶属度类型
(可选)
指定用于模糊化输入栅格的算法。
此参数的某些设置使用散度 类型来确定模糊隶属度从 1 变为 0 的下降速度。 散度的默认值在下列词条中进行了详细说明。
高斯 —在中点处指定隶属度值 1。
对于沿正态曲线偏离中点的值,隶属度将降为 0。 高斯 与近邻 类型类似,但高斯的散度更小。
小值 —用于指示输入栅格的小值在模糊集中具有较高隶属度。
在中点处指定隶属度值 0.5。
中点 —默认值是输入栅格的值的范围的中点。
散度 —默认值是 5。
大值 —用于指示输入栅格的大值在模糊集中具有较高隶属度。
在中点处指定隶属度值 0.5。
中点 —默认值是输入栅格的值的范围的中点。
散度 —默认值是 5。
近邻 —计算接近某个中间值的值的隶属度。
在中点处指定隶属度值 1。 对于偏离中点的值,隶属度将降为 0。
MSLarge —根据输入数据的平均值和标准差计算隶属度,输入数据中的大值具有较高隶属度。
结果可能与大值 类型类似,具体取决于平均值和标准差的乘数定义方式。
平均值乘数 —默认值是 1。
标准差乘数 —默认值是2。
MSSmall —根据输入数据的平均值和标准差计算隶属度,输入数据中的小值具有较高隶属度。 此为默认隶属度类型。
结果可能与小值 类型类似,具体取决于平均值和标准差的乘数定义方式。
平均值乘数 —默认值是 1。
标准差乘数 —默认值是2。
线性 —根据输入栅格的线性变换计算隶属度。
在最小值处分配隶属度值 0,在最大值处分配隶属度值 1。
Fuzzy function
模糊限制语
(可选)
指定将被应用的模糊限制语。 模糊限制语将增大或减小可修改模糊集含义的模糊隶属度值。 模糊限制语帮助控制条件或重要属性。
String
返回值
标注
说明
数据类型
输出栅格
输出将是一个浮点型栅格,其值范围为从 0 到 1。
Raster
FuzzyMembership(in_raster, {fuzzy_function}, {hedge})
名称
说明
数据类型
in_raster
将值从 0 到 1 进行缩放的输入栅格。
它可以是整型栅格或浮点型栅格。
Raster Layer
fuzzy_function
(可选)
指定用于模糊化输入栅格的算法。
模糊类 用于指定隶属度的类型。
各类隶属度的类型如下:
各类隶属度的形式如下:
FuzzyGaussian({midpoint},{spread})
FuzzyLarge({midpoint},{spread})
FuzzyLinear({minimum},{maximum})
FuzzyMSLarge({meanMultiplier},{STDMultiplier})
FuzzyMSSmall({meanMultiplier},{STDMultiplier})
FuzzyNear({midpoint},{spread})
FuzzySmall({midpoint},{spread})
Fuzzy function
hedge
(可选)
指定将被应用的模糊限制语。 模糊限制语将增大或减小可修改模糊集含义的模糊隶属度值。 模糊限制语帮助控制条件或重要属性。
String
返回值
名称
说明
数据类型
out_raster
输出将是一个浮点型栅格,其值范围为从 0 到 1。
Raster
代码示例
FuzzyMembership 示例 1(Python 窗口)
此示例使用高斯函数创建了模糊隶属度栅格,其中更接近中点(1200 英尺)的高程值具有更高的隶属度值。
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("elevation", FuzzyGaussian(1200, 0.06))
outFzyMember.save("c:/sapyexamples/fzymemb")
FuzzyMembership 示例 2(独立脚本)
此示例使用高斯函数和值为 0.4 的散度创建了模糊隶属度栅格,其中更接近中点(1000 英尺)的高程值具有更高的隶属度值。
# Name: FuzzyMembership_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 = "elevation"
# Create the FuzzyGaussian algorithm object
midpoint = 1000
spread = 0.4
myFuzzyAlgorithm = FuzzyGaussian(midpoint, spread)
# Run FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)
# Save the output
outFuzzyMember.save("c:/sapyexamples/fzymemb2")
环境
自动提交 , 像元大小 , 像元大小投影方法 , 当前工作空间 , 范围 , 地理变换 , 掩膜 , 输出配置关键字 , 输出坐标系 , 临时工作空间 , 捕捉栅格 , 分块大小
许可信息
基本: 需要 Spatial Analyst
标准: 需要 Spatial Analyst
高级: 需要 Spatial Analyst