Skip to main content

変換関数の式

Spatial Analyst ライセンスで利用可能。

このセクションでは、関数によるリスケール ツールの変換関数で使用する式について説明します。 変換関数の式は Spatial Analyst の マップ代数演算の式として表されます。

各変換関数の一般式を示します。 デフォルトでは、入力データセットの最小 (lowerThreshold) と最大 (upperThreshold) に適合するように一般式が変更されます。 デフォルト パラメーターの指定方法も以下に示します。

一般式を使用して、任意の数の関数曲線を定義でき、関数曲線の任意の部分を取り込むことができます。 デフォルト バージョンの式では、入力データセットの最小と最大に適合する関数の曲線が 1 つだけ存在します。 その結果、変換された値の線形スケールを適用することに加え、摂氏や華氏などの異なる単位で表されるデータから同じ出力評価値が生成されます。

変換関数の適用

概念的に、変換関数を適用する手順は次のとおりです:

  1. 入力データセットと関数パラメーターを指定します。

  2. 変換式を適用します。

  3. 変換された値を評価尺度に線形変換します。

上記の手順 3 の、変換された値を評価尺度に変換する際に使用する線形変換式は次のとおりです。

\(ScaledY = fromScale + (Y - min(Y)) * r\)

  • ここでは、

    \(Y = F(In)\) は式 \(F\) を使用して変換された値であり、次のような一般的な形式で示されます。ここで \(In\) は入力値です

    \(r\)\(\Large \frac {(toScale - fromScale)}{(max(Y) - min(Y))}\) の結果

    \(min(Y)\)\(Y\) の最小値

    \(max(Y)\)\(Y\) の最大値

    \(fromScale\) は評価スケールの最小 (例: 1)

    \(toScale\) は評価スケールの最大 (例: 10)

Exponential

Exponential 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(Exp((In – inShift) * baseFactor)\)

  • ここでは、

    \(In\) は入力値

    \(inShift\) は、入力値から引かれる値

    \(baseFactor\) は、シフトされた入力値の乗数であり、指数関数が増加する傾きを制御します

デフォルト値

\(inShift\)\(baseFactor\) のデフォルト値は次のように計算されます。

\(inShift = Con(toScale > fromScale, A, B)\)

および

\(baseFactor = Con(toScale > fromScale, C, D)\)

  • ここでは、

    \(A = \Large \frac {(minIn * Ln(toScale) - maxIn * Ln(fromScale))}{(Ln(toScale) - Ln(fromScale))}\)

    \(B = \Large \frac {(minIn * Ln(fromScale) - maxIn * Ln(toScale))}{(Ln(fromScale) - Ln(toScale))}\)

    \(C = \Large \frac {(Ln(toScale) - Ln(fromScale))}{(maxIn - minIn)}\)

    \(D = \Large \frac {(Ln(fromScale) - Ln(toScale))}{(maxIn - minIn)}\)

    \(Ln\) は e を底とする値の対数

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

Gaussian

Gaussian 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(Exp(-Spread * Square(In - MidPoint))\)

  • ここでは、

    \(Spread\) は拡散パラメーターであり、中点から減少する傾きを制御します

    \(In\) は入力値

    \(MidPoint\) は中点パラメーターであり、ガウス曲線の中央を定義します

デフォルト値

\(Spread\)\(MidPoint\) のデフォルト値は次のように計算されます。

\(Spread = Ln(10) * 4 / Pow(MidPoint - minIn, 2)\)

および

\(MidPoint = (maxIn + minIn) / 2\)

  • ここでは、

    \(Ln(10)\) は e を底とする 10 の対数

    \(Pow(MidPoint - minIn, 2)\)\(MidPoint - minIn\) の値の 2 乗

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

Large

Large 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(1.0 / (1.0 + Pow(In / MidPoint, - Spread))\)

  • ここでは、

    \(In\) は入力値

    \(MidPoint\) は中点パラメーターであり、関数の遷移点を定義します

    \(Spread\) は拡散パラメーターであり、優先度が増加または減少する割合を制御します

デフォルト値

\(Spread\)\(MidPoint\) のデフォルト値は以下のように計算されます。

\(Spread = 5\)

および

\(MidPoint = (maxIn + minIn) / 2\)

  • ここでは、

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

Linear

Linear 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は、傾きタイプに応じて次のようになります:

正の傾き (最小 < 最大):

\(Con(In < Min, 0, Con(In > Max, 1, (In - Min) / Diff))\)

負の傾き (最小 > 最大):

\(Con(In > Min, 0, Con(In < Max, 1, (In - Min) / Diff))\)

  • ここでは、

    \(In\) は入力値

    \(Min\) は指定された最小値であり、Linear 関数が通過する最初の点を定めます

    \(Max\) は指定された最大値であり、Linear 関数が通過する 2 番目の点を定めます

    \(Diff\)\(Max - Min\) に相当します

デフォルト値

\(Min\)\(Max\) のデフォルト値は以下のように計算されます。

\(Min = minIn\)

および

\(Max = maxIn\)

  • ここでは、

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

Logarithm

Logarithm 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(Ln((In – inShift) * baseFactor)\)

  • ここでは、

    \(In\) は入力値

    \(InShift\) は、入力値から引かれる値

    \(baseFactor\) は、シフトされた入力値の乗数であり、Logarithm 関数値の増加を制御します

デフォルト値

\(inShift\)\(baseFactor\) のデフォルト値は以下のように計算されます。

\(inShift = Con(toScale > fromScale, A, B)\)

および

\(baseFactor = Con(toScale > fromScale, C, D)\)

  • ここでは、

    \(A = \Large \frac {(minIn * Exp(toScale) - maxIn * Exp(fromScale))}{(Exp(toScale) - Exp(fromScale))}\)

    \(B = \Large \frac {(minIn * Exp(fromScale) - maxIn * Exp(toScale))}{(Exp(fromScale) - Exp(toScale))}\)

    \(C = \Large \frac {(Exp(toScale) - Exp(fromScale))}{(maxIn - minIn)}\)

    \(D = \Large \frac {(Exp(fromScale) - Exp(toScale))}{(maxIn - minIn)}\)

    \(Exp\) は e を底とする値の指数

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

LogisticDecay

Logistic Decay 変換関数の式を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(C / (1 + A * Exp((In – Min) * B))\)

この式のパラメーターの定義は LogisticGrowth と同じです。

注意:

LogisticGrowth 式では、Exponential の計算値は指数計算対象の値の負値から求められます: Exp(- (In - Min) \* B)。

LogisticGrowth

Logistic Growth 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(C / (1 + A * Exp( - (In – Min) * B))\)

  • ここでは、

    \(Min\) は指定された最小値であり、ロジスティック増加関数の増加の始点を制御します

    \(C\) は容量 (水平漸近線) です

    \(A\) によって \(In = Min\) の場合の切片が決まります

    \(B\) によって指数関数 Exp の底が決まります

デフォルト値

\(C\)\(A\)\(B\) のデフォルト値は次のように計算されます。

\(C = 100\)

\(A = C / yInterceptPercent - 1\)

\(B = \Large \frac {Ln(A)}{(0.5 * (Max + Min) - Min)}\)

  • ここでは、

    \(yInterceptPercent\)\(C\) で割った切片のパーセントであり、LogisticGrowth ではデフォルトで 1 に設定され、LogisticDecay では 99 に設定されます

    \(Min\) は指定された最小値であり、デフォルトでは入力の最小値に設定されます

    \(Max\) は指定された最大値であり、デフォルトでは入力の最大値に設定されます

    \(Ln(A)\) は e を底とする \(A\) の対数

    \(0.5 * (Max + Min)\) は変曲点 \(y = C / 2\) の X 座標であり、\(Min\)\(Max\) の中点が変曲点になります

MSLarge

MSLarge 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(Con(In > nMeans, 1 - (nStdv / (In - nMeans + nStdv)), 0)\)

  • ここでは、

    \(In\) は入力値

    \(nMeans\)\(meanMultiplier\) * mean に相当します

    \(nStdv\)\(STDMultiplier\) * std に相当します (ここで、std は母集団全体での標準偏差を指します)

デフォルト値

meanMultiplierSTDMultiplier はデフォルトで 1 に設定されています。

MSSmall

MSSmall 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(Con(In > nMeans, nStdv / (In - nMeans + nStdv), 1)\)

  • ここでは、

    \(In\) は入力値

    \(nMeans\)meanMultiplier * mean に相当します

    \(nStdv\)STDMultiplier * std に相当します (ここで、std は母集団全体での標準偏差を指します)

デフォルト値

meanMultiplierSTDMultiplier はデフォルトで 1 に設定されています。

Near

Near 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(1.0 / (1.0 + Spread * Pow(In - MidPoint, 2))\)

  • ここでは、

    \(In\) は入力値

    \(Spread\) は拡散パラメーターであり、中点から減少する傾きを制御します

    \(MidPoint\) は中点パラメーターであり、曲線の中央を定義します

デフォルト値

\(Spread\)\(MidPoint\) のデフォルト値は次のように計算されます。

\(Spread = 36 / Pow(MidPoint - minIn, 2)\)

および

\(MidPoint = (maxIn + minIn) / 2\)

  • ここでは、

    \(Pow(MidPoint - minIn, 2)\)\(MidPoint - minIn\) の値の 2 乗

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

Power

Power 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(Pow(In – inShift, Exponent)\)

  • ここでは、

    \(In\) は入力値

    \(inShift\) は、入力値から引かれる値

    \(Exponent\) は関数を累乗するときの指数

デフォルト値

\(inShift\)\(Exponent\) のデフォルト値は次のように計算されます。

\(inShift = Con(toScale > fromScale, A, B)\)

  • ここでは、

    \(A = Con(fromScale == 1, minIn - 1, minIn)\)

    \(B = Con(toScale == 1, minIn - 1, minIn)\)

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

および

\(Exponent = Con(toScale > fromScale, C, D)\)

  • ここでは、

    \(C = Con(fromScale == 0, C1, Con(fromScale == 1, C2, 2))\)

    \(C1 = Con(toScale <= 1, 1, Ln(toScale) / (maxIn - inShift))\)

    \(C2 = Ln(toScale) / Ln(maxIn - inShift)\)

    \(D = Con(toScale == 0, D1, Con(toScale == 1, D2, 2))\)

    \(D1 = Con(fromScale <= 1, 1, Ln(fromScale) / (maxIn - inShift))\)

    \(D2 = Ln(fromScale) / Ln(maxIn - inShift)\)

    \(Ln\) は e を底とする値の対数

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

Small

Small 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は次のとおりです。

\(1.0 / (1.0 + Pow(In / MidPoint, Spread))\)

  • ここでは、

    \(In\) は入力値

    \(MidPoint\) は中点パラメーターであり、関数の遷移点を定義します

    \(Spread\) は拡散パラメーターであり、優先度が減少または増加する割合を制御します

デフォルト値

\(Spread\)\(MidPoint\) のデフォルト値は次のように計算されます。

\(Spread = 5\)

および

\(MidPoint = (maxIn + minIn) / 2\)

  • ここでは、

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大

Symmetric Linear

Symmetric Linear 変換関数の式とデフォルト値を次に示します。

一般的な形式

この式の一般的な形式は、傾きのタイプに応じて次のようになります。

正の傾き (\(Min < Max\)):

\(Con(In < Min , 0, Con(In < MidP, (In - Min) / HDiff, Con(In > Max, 0, (Max - In) / HDiff)))\)

負の傾き (\(Min > Max\)):

\(Con(In < Max, 1, Con(In < MidP, (In - MidP) / HDiff, Con(In > Min, 1, (MidP - In) / HDiff)))\)

  • ここでは、

    \(In\) は入力値

    \(Min\) は指定された最小値であり、\(SymmetricLinear\) 関数が通過する一方の点を定めます

    \(Max\) は指定された最大値であり、\(SymmetricLinear\) 関数が通過するもう一方の点を定めます

    \(Diff\)\(Max - Min\) に相当します

    \(HDiff\)\(0.5 * Diff\) に相当します

    \(MidP\)\(Min + HDiff\) に相当します

デフォルト値

\(Min\)\(Max\) のデフォルト値は次のように計算されます。

\(Min = minIn\)

および

\(Max = maxIn\)

  • ここでは、

    \(minIn\) は入力の最小

    \(maxIn\) は入力の最大