ファジー メンバーシップ(Fuzzy Membership) (Spatial Analyst)

ライセンス レベル:BasicStandardAdvanced

サマリ

指定したファジー アルゴリズムに基づいて、入力ラスタの集合におけるメンバーシップの強さを表す 0 ~ 1 のスケールに変換します。

1 の値はファジー セット内での完全なメンバーシップを示し、メンバーシップが 0 に下がると、ファジー セットのメンバーでないことを示します。

[ファジー メンバーシップ(Fuzzy Membership)] ツールの仕組みの詳細

使用法

構文

FuzzyMembership (in_raster, {fuzzy_function}, {hedge})
パラメータ説明データ タイプ
in_raster

値が 0 ~ 1 にスケーリングされる入力ラスタ。

Raster Layer
fuzzy_function
(オプション)

入力ラスタのファジー化に使用するアルゴリズムを指定します。

ファジー クラスは、メンバーシップのタイプを指定するために使用されます。

メンバーシップ クラスのタイプ:

メンバーシップ クラスの形式は以下のとおりです。

  • FuzzyGaussian({中間点},{拡散})
  • FuzzyLarge({中間点},{拡散})
  • FuzzyLinear({最小値},{最大値})
  • FuzzyMSLarge({平均値の乗数},{標準偏差の乗数})
  • FuzzyMSSmall({平均値の乗数},{標準偏差の乗数})
  • FuzzyNear({中間点},{拡散})
  • FuzzySmall({中間点},{拡散})

Fuzzy function
hedge
(オプション)

ヘッジを定義すると、ファジー セットの意味を変更するファジー メンバーシップの値が増加または減少します。ヘッジは、条件または重要な属性を制御するのに役立ちます。

  • NONEヘッジを適用しません。これがデフォルトです。
  • SOMEWHATディレーションとして知られており、ファジー メンバーシップ関数の平方根として定義されます。このヘッジを使用すると、ファジー メンバーシップ関数は増加します。
  • VERY濃度としても知られており、ファジー メンバーシップ関数の二乗として定義されます。このヘッジを使用すると、ファジー メンバーシップ関数は減少します。
String

戻り値

名前説明データ タイプ
out_raster

出力は、値が 0 ~ 1 の浮動小数点ラスタになります。

Raster

コードのサンプル

FuzzyMembership(ファジー メンバーシップ)の例 1(Python ウィンドウ)

次の例では、[Gaussian] の関数を使用して、ファジー メンバーシップ ラスタを作成しています。中間点(1,200 フィート)に近い標高値には、高いメンバーシップ値が与えられています。

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(スタンドアロン スクリプト)

次の例では、[Gaussian] の関数と拡散 0.4 を使用して、ファジー メンバーシップ ラスタを作成しています。中間点(1,000 フィート)に近い標高値には、高いメンバーシップ値が与えられています。

# 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)

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

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

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: 次のものが必要 Spatial Analyst
ArcGIS for Desktop Standard: 次のものが必要 Spatial Analyst
ArcGIS for Desktop Advanced: 次のものが必要 Spatial Analyst
9/17/2013