FuzzyMSLarge

需要 Spatial Analyst 许可。

描述

通过一个基于平均值和标准差的函数,以隶属度更接近于 1 的较大值定义模糊隶属度。

讨论

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

根据 a * m 的乘积,MS 较大值函数有两个方程。

  • 如果 x > a * m

    u(x) = 1 - (b * s) / (x - (a * m) + (b * s))

    • 其中:

      m = 平均值

      s = 标准差

      a = 平均值乘数

      b = 标准差乘数

      ab 乘数是输入参数。

  • 如果 x <= a * m

    u(x) = 0

当较大的输入值具有较高的隶属度时,MSLarge 函数十分有用。

输入值可以为整型值或浮点型正值。

结果可能与较大值模糊隶属度函数类似,具体取决于平均值和标准差的乘数定义方式。

语法

 FuzzyMSLarge (meanMultiplier, STDMultiplier)
参数说明数据类型
meanMultiplier

MS 大值函数方程中输入值的平均值的乘数。

(默认值为 1)

Double
STDMultiplier

MS 大值函数方程中输入值的标准差的乘数。

(默认值为 1)

Double

属性

属性说明数据类型
meanMultiplier
(可读写)

隶属度函数方程中输入值的平均值的乘数。

Double
STDMultiplier
(可读写)

隶属度函数方程中输入值的标准差的乘数。

Double

代码示例

FuzzyMSLarge 示例 1(Python 窗口)

演示如何在 Python 窗口下创建 FuzzyMSLarge 类,并通过 FuzzyMembership 工具使用该类。

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyMSLarge(1, 1.8))
outFzyMember.save("c:/sapyexamples/fzymslrg")
FuzzyMSLarge 示例 2(独立脚本)

使用 FuzzyMSLarge 类执行 FuzzyMembership。

# Name: FuzzyMSLarge_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 FuzzyMSLarge algorithm object
meanMultiply = 1.5
stdMultiply = 2.2
myFuzzyAlgorithm = FuzzyMSLarge(meanMultiply, stdMultiply)

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

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

相关主题