ファジー メンバーシップ (Spatial Analyst ツール)
サマリー
指定したファジー アルゴリズムに基づいて、入力ラスターの集合におけるメンバーシップの強さを表す 0 ~ 1 のスケールに変換します。
1 の値はファジー セット内での完全なメンバーシップを示し、メンバーシップが 0 に下がると、ファジー セットのメンバーでないことを示します。
ファジー メンバーシップツールの詳細
使用法
このツールは、カテゴリ分類されたデータに対して評価値を与えません。 分類データをファジー オーバーレイ解析に含めるには、事前処理が必要です。 モデルを作成するか、次のジオプロセシング ツールを実行できます。 最初に、再分類 ツールを使用して、値の新しい範囲 (1 〜 100 など) を提供します。 次に、Divide ツールを使用して、結果をファクター (100 など) で除算し、出力値が 0.0 〜 1.0 になるように正規化します。
拡散は、ファジー メンバーシップ値が 1 から 0 に減少する速さを決定します。 値が大きいほど、中間値点付近のファジー化が急激になります。 つまり、拡散が小さくなるほど、ファジー メンバーシップはゆっくりと 0 に近づきます。 適切な拡散値を選択するのは、どこまでの範囲の値が明瞭かによって変わる主観的なプロセスです。 メンバーシップ タイプが Gaussian または Near の場合、デフォルト値 0.1 が適切な開始点です。 通常、値はそれぞれ 0.01 ~ 1 と 0.001 ~ 1 の範囲内で変化します。 メンバーシップ タイプが Small または Large の場合、デフォルト値 5 が適切な開始点です。通常、値は 1 〜 10 で変化します。
100% の確率で指定した集合のメンバーとなる入力値がない場合があります。 言い換えると、いずれの入力値もファジー メンバーシップが 1 ではない場合です。 この場合、新しいスケールを反映するように、ファジー メンバーシップの値を再スケールすることができます。 たとえば、入力値の最も高いメンバーシップが .75 の場合、ファジー メンバーシップの各値に 0.75 を乗算して、新しいスケールを設定できます。
Hedge パラメーターのオプションには、Very 、Somewhat 、なし があります。 Very は濃度としても知られており、ファジー メンバーシップ関数の二乗として定義されます。 Somewhat はディレーションあるいは「多少」として知られており、ファジー メンバーシップ関数の平方根です。 Very および Somewhat のヘッジによって、ファジー メンバーシップ関数はそれぞれ減少および増加します。
Small および Large メンバーシップ タイプでは、負の値は使用できません。
Linear メンバーシップ タイプの場合、入力ラスターは順序付きデータである必要があります。 変換のために、最小値を最大値より小さくして傾斜角を正にしたり、最小値を最大値より大きくして傾斜角を負にしたりできます。
最小値が最大値より小さい場合、正の傾斜角の関数が変換に使用されます。最小値が最大値より大きい場合、負の傾斜角の関数が使用されます。
このツールに適用されるジオプロセシング環境の詳細については、解析環境と Spatial Analyst をご参照ください。
パラメーター
ラベル
説明
データ タイプ
入力ラスター
値が 0 〜 1 にスケーリングされる入力ラスター。
整数または浮動小数点のいずれかのラスターになります。
Raster Layer
メンバーシップ タイプ
(オプション)
入力ラスターのファジー化に使用するアルゴリズムを指定します。
このパラメーターの一部の設定は、拡散 タイプを使用して、ファジー メンバーシップ値が 1 から 0 に減少する速さを決定します。 拡散のデフォルト値については、以下の項目で説明します。
Gaussian - 中点のメンバーシップ値に 1 を割り当てます。
メンバーシップは正規曲線に従い、中間点から乖離した値は 0 に減少します。 Gaussian は Near タイプと似ていますが、拡散がより狭くなっています。
Small - 入力ラスターの小さな値が、ファジー セット内で高いメンバーシップを持つことを示します。
中点にメンバーシップ値 0.5 が割り当てられます。
Large - 入力ラスターの大きな値が、ファジー セット内で高いメンバーシップを持つことを示します。
中点にメンバーシップ値 0.5 が割り当てられます。
Near - 中間値に近い値のメンバーシップを計算します。
中点にメンバーシップ値 1 が割り当てられます。 メンバーシップは、中間点から乖離した値は 0 に減少します。
MSLarge - 入力データの平均値と標準偏差に基づいて、大きな値が高いメンバーシップを持つように、メンバーシップを計算します。
平均と標準偏差の乗数の定義によっては、Large タイプと同様の結果になります。
平均乗数 - デフォルトは 1 です。
標準偏差の乗数 - デフォルトは 2 です。
MSSmall - 入力データの平均値と標準偏差に基づいて、小さい値が高いメンバーシップを持つように、メンバーシップを計算します。 これがデフォルトのメンバーシップ タイプです。
平均と標準偏差の乗数の定義によっては、Small タイプと同様の結果になります。
平均乗数 - デフォルトは 1 です。
標準偏差の乗数 - デフォルトは 2 です。
Linear - 入力ラスターのリニアー変換に基づいて、メンバーシップを計算します。
最小値にメンバーシップ値 0 が割り当てられ、最大値にメンバーシップ値 1 が割り当てられます。
最小値 - デフォルトは 1 です。
最大値 - デフォルトは 2 です。
Fuzzy function
ヘッジ
(オプション)
適用されるヘッジを指定します。 ヘッジによって、ファジー セットの意味を変更するファジー メンバーシップの値が増加または減少します。 ヘッジは、条件または重要な属性を制御するのに役立ちます。
なし —ヘッジは適用されません。 これがデフォルトです。
Somewhat —ファジー メンバーシップ関数の平方根として定義される、ディレーションと呼ばれるヘッジが適用されます。 このヘッジを使用すると、ファジー メンバーシップ関数は増加します。
Very —ファジー メンバーシップ関数の二乗として定義される、濃度と呼ばれるヘッジが適用されます。 このヘッジを使用すると、ファジー メンバーシップ関数は減少します。
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
(オプション)
適用されるヘッジを指定します。 ヘッジによって、ファジー セットの意味を変更するファジー メンバーシップの値が増加または減少します。 ヘッジは、条件または重要な属性を制御するのに役立ちます。
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)
# Run FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)
# Save the output
outFuzzyMember.save("c:/sapyexamples/fzymemb2")
環境
自動コミット , セル サイズ , セル サイズ投影法 , 現在のワークスペース , 範囲 , 地理座標系変換 , マスク , 出力データのコンフィグレーション キーワード , 出力座標系 , スクラッチ ワークスペース , スナップ対象ラスター , タイル サイズ
ライセンス情報
Basic: Spatial Analyst が必要
Standard: Spatial Analyst が必要
Advanced: Spatial Analyst が必要