FuzzyLarge

需要 Spatial Analyst 许可。

描述

定义一个较大输入值隶属度更接近于 1 的模糊隶属度函数。通过一个用户定义的中点(分配的隶属度为 0.5)和定义的散度来定义函数。

讨论

使用 FuzzyLarge 对象的工具:FuzzyMembership

FuzzyLarge 函数的方程为:

模糊较大值函数方程

方程的输入为 f1(散度 (spread))和 f2(中点 (midpoint))。增大散度会导致模糊隶属度曲线变得陡峭。

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

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

模糊较大值图
模糊较大值隶属度函数的变化。

语法

 FuzzyLarge (midpoint, spread)
参数说明数据类型
midpoint

模糊隶属度为 0.5 的用户定义值。

默认值为输入栅格值范围的中点。

Double
spread

定义较大值函数的散度。散度的范围通常在 1 到 10 之间,值越大,中点两侧值分布的幅度越大。

(默认值为 5)

Double

属性

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

定义隶属度函数中点的用户定义值。

Double
spread
(可读写)

用于定义成员从属函数的散度。值越大,从中点开始的分布越陡。

Double

代码示例

FuzzyLarge 示例 1(Python 窗口)

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

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyLarge(12, 5))
outFzyMember.save("c:/sapyexamples/fzymemb")
FuzzyLarge 示例 2(独立脚本)

使用 FuzzyLarge 类执行 FuzzyMembership。

# Name: FuzzyLarge_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 FuzzyLarge algorithm object
midpoint = 15
spread = 5
myFuzzyAlgorithm = FuzzyLarge(midpoint, spread)

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

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

相关主题