関数によるリスケール (Rescale by Function) (Spatial Analyst)

サマリー

選択された変換関数を適用し、得られた値を指定された連続的評価スケールに変換することによって、入力ラスター値のスケールを変更します。

関数によるリスケールの詳細

使用法

  • このツールを使用する主なメリットは、以下に挙げるように、入力値の再分類を他の再分類方法よりも高度に制御できることです。

    • このツールは、連続的な入力値をカテゴリにグループ化する必要がなく、それらの値を受け取って直接処理できます。
    • 連続的な非線形および線形関数を入力データに適用できます。
    • 入力値を、連続的な浮動小数点数の評価スケールに変換します。

  • このツールの基本用語を確認しておくと、以下の説明の理解に役立ちます。

  • 入力データの連続的なスケールへの変換は、概念的には以下の 2 つのステップで処理されます。

    1. 指定された関数を入力ラスター値に適用します。
    2. 指定した評価スケールに関数の値を線形的に変換します。 上昇する評価スケールでは、関数の最小値と最大値は、指定した評価スケールの最小値 ([起点スケール]) と最大値 ([終点スケール]) にそれぞれ設定されます。 ただし、評価スケールを反転し、下降するスケールに変更することもできます。

  • 次の図は、変換関数の適用に関連する一般的な概念と用語を紹介するために、Power 関数グラフの例を示しています。

    指数を 2、評価スケールを 1 〜 10 に設定した Power 関数のプロットの例
    指数を 2、評価スケールを 1 〜 10 に設定した Power 関数のプロットの例

    この例の入データの範囲は、3,000 ~ 5,000 です。 入力ラスターの最小値を [下限] に設定し、最大値を [上限] に設定しています (X 軸に示しています)。Power 関数は、各閾値の間に制約され (合わせられ) ます。 形状制御パラメーター ([入力シフト][指数] など) は、関数の形状を定義します。これによって、関数が開始する位置および上昇する傾きを制御できます。 Power 関数によって得られた関数値は、出力値を割り当てるために評価スケールへと線形的に変換されます。 上のグラフでは、[起点スケール] パラメーターと [終点スケール] パラメーターを使用して、1 〜 10 の評価スケールが定義されています (Y 軸に示しています)。

  • デフォルトでは、[入力ラスター] の最小値は [最小閾値] に割り当てられ、最大値は [最大閾値] に割り当てられます。

  • デフォルトでは、指定した関数は、可能であれば [入力ラスター] を使用して最小閾値と最大閾値の間に制約され (合わせられ) ます。 最小閾値と最大閾値の間に関数を合わせる方法は、以下の方法で使用される特定の変換関数に基づいて異なります。

    • Linear 関数と Symmetrical Linear 関数は、これらの関数の最小値と最大値が、[入力ラスター] の最小値 (最小閾値) と最大値 (最大閾値) に設定されるため、定義に従って合わせられます。
    • 合わせられた Exponential 関数と Logarithm 関数が、[入力ラスター] の値に適用されます。
    • Gaussian、Near、Small、MS Small、Large、MS Large、Power、Logistic Growth、および Logistic Decay の各関数を最適に合わせるために、できるだけ多くのパラメーター (たとえば、[中点][ファクター][入力シフト]) が [入力ラスター] から生成されます。

  • [最小閾値][最大閾値] の値を変更すると、以下の相互関係が適用されます。

    1. 入力セルが [最小閾値] よりも小さい値を持つ場合、このセルは、[最小閾値に満たない場合の出力スケール] パラメーターに設定した値に割り当てられます。
    2. 入力セルが [最大閾値] よりも大きい値を持つ場合、このセルは、[最大閾値を超える場合の出力スケール] パラメーターに設定した値に割り当てられます。
    3. すべてのセルの値 ([最小閾値][最大閾値] を含む) は、関数値 (f(x)) に基づいて、対応する評価スケールに割り当てられます。 状況によっては、形状制御パラメーター (たとえば、[拡散][指数]) を変更した場合、出力ラスターのどのセルも [起点スケール][終点スケール] の値に割り当てることができません。

  • デフォルトでは、関数の形状を定義するパラメーター (たとえば、[拡散][ベース ファクター]) は、関数が [入力ラスター] の最小値と最大値に最もよく合う (制約される) ように計算されます。 ただし、形状を制御するパラメーターを変更して、現象と基準値の優先度の相互関係に適合するように関数を調整することができます。 最大閾値値および最小閾値値と共に、形状制御パラメーターに値を指定した場合、それによって得られた関数が、[入力ラスター] の値のリスケールに使用されます。合わせられた関数は、使用されません。

  • [起点スケール][終点スケール] は、連続的な評価スケールの最小値と最大値を定義します。 関数の最小値は、[起点スケール] に設定した値に割り当てられ、関数の最大値は [終点スケール] に設定した値に割り当てられます。 中間のすべての関数値は、適切な評価値に割り当てられます。

  • 評価スケールは低から高の範囲 (たとえば 1 から 10) または高から低の範囲 (たとえば 10 から 1) で設定できます。

  • [最小閾値に満たない場合の出力スケール] の値は、閾値に満たない入力値を持つすべてのセルに割り当てられ、[最大閾値を超える場合の出力スケール] の値は、閾値を超える入力値を持つすべてのセルに割り当てられます。 これらの値は、最終的な出力ラスターに直接割り当てられ、これらのセルは、変換関数の処理で考慮されません。

  • ツール ダイアログ ボックスでは、通常、[最小閾値] または [最大閾値] を変更した場合、形状制御パラメーター (関数の形状を定義するパラメーター。たとえば、[拡散][ベース ファクター]) が自動的に再計算されます。 ただし、形状制御パラメーターを変更した場合、[最小閾値][最大閾値] の値は自動的に変更されません。その後、[最小閾値] または [最大閾値] を変更しても、変更した形状制御パラメーター (および、関連する他の形状制御パラメーター) の設定は値を維持し、再計算されません。

  • 関数の形状制御パラメーター (たとえば、[拡散][ベース ファクター])、および最小閾値と最大閾値は、現在の処理の範囲セル サイズ、およびスナップ対象ラスターの各環境設定に対して計算された統計情報に基づきます。 これらが何も設定されていない場合、入力ラスターの全範囲に関連する統計情報が使用されます。

  • ツール ダイアログ ボックスでは、形状制御パラメーターの計算または閾値の決定のための有効な統計情報が入力ラスターに含まれていない場合、これらのパラメーターは空になり、警告メッセージが表示されます。 現在の環境設定に対する統計情報を再計算してパラメーターを設定するには、[統計情報の計算] ボタンをクリックする必要があります。 デフォルトでは、[最小閾値] は処理範囲内の最小値に設定され、[最大閾値] は最大値に設定され、形状制御パラメーターの値は適切に決定されます。 以下の条件では、有効な統計情報がない場合があります。

    • 環境の処理範囲、セルサイズ、またはスナップ対象ラスターが、ツール ダイアログ ボックスを起動する前に設定されている。
    • 入力ラスターに統計情報がない。

  • ツール ダイアログ ボックスでは、入力ラスターを入力して関数を指定した後に、環境の処理範囲、セルサイズ、またはスナップ対象ラスターが変更された場合、関数のパラメーターが空に設定される (パラメーターに値がない状態) ことがあります。 パラメーターを再設定して新しい範囲の値を表示するには、[統計情報の計算] ボタンをクリックします。 [最小閾値][最大閾値]、または形状制御パラメーターを、値を入力して変更した場合、ツールは、これらのパラメーターが変更された状態に従います。 処理範囲を変更した場合、[統計情報の計算] ボタンのクリック後、これらのパラメーターは指定した値のままになります。

  • 複数の関数を、入力ラスターのさまざまな範囲に適用することができます。 これを行うには、[関数によるリスケール (Rescale by Function)] ツールを複数回実行して各関数を連結します。まず、ある変換関数を指定して、入力値の特定の範囲に対して実行し、次に、別の変換関数を指定して、入力値の別の範囲に対して再実行します。 その後、得られた出力ラスターを結合します。以下に例を示します。

    1. Liner 関数を 1,500 〜 3,200 の範囲の入力値に適用して [関数によるリスケール (Rescale by Function)] を実行し、閾値を超えるか下回る値を 0 に設定します。
    2. 同じ入力ラスターに対してもう一度ツールを実行します。このとき、3,200 よりも大きい 5,000 までの値に Exponential 関数を適用し、閾値を超えるか下回る値を 0 に設定します。
    3. 得られた 2 つの出力ラスターを、[Plus] ツールを使用して足し合わせます。

パラメーター

ラベル説明データ タイプ
入力ラスター

リスケール対象の入力ラスター。

Raster Layer
変換関数
(オプション)

入力ラスターの値を変換する連続的な関数を指定します。

変換関数を使用して、入力データをリスケールする関数を指定します。 各関数の一般的な説明とそれらのデフォルト値を、以下の表に示します。

  • Exponential指数関数を使用して入力値のスケールを変更します。入力値が増えるにとともに優先度が増加する場合に使用します。入力値が大きくなるに従って、さらに急激に優先度が増加します。
    • 入力シフト - デフォルトは、入力ラスターから生成されます。
    • ベース ファクター - デフォルトは、入力ラスターから生成されます。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • Gaussianガウス関数を使用して入力値のスケールを変更します。正規分布の中点は、最も優先度の高い値を定義し、通常は [終点スケール] に割り当てられます。 入力値が中点から変動するに従って優先度の値が減少し、最終的に最低の優先度に達します。通常、入力の最小値と最大値は、[起点スケール] に割り当てられます。
    • 中点 - デフォルトは、入力ラスターから生成されます。
    • 拡散 - デフォルトは、入力ラスターから生成されます。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • Large入力ラスターの値が大きいほど優先度が高くなることを示す場合に使用されます。中点は、高い優先度を持つ中点よりも大きい入力値と、低い優先度を持つ中点よりも小さい入力値の交差点を指定します。
    • 中点 - デフォルトは、入力ラスターから生成されます。
    • [拡散] - デフォルトは 5 です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • Linear線形関数を使用して入力値のスケールを変更します。最小値が最大値よりも小さい場合、値が大きいほど優先度が高くなります。
    • [最小] - デフォルトは、入力ラスターの最小です。
    • [最大] - デフォルトは、入力ラスターの最大です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • Logarithm対数関数を使用して入力データのスケールを変更します。小さい入力値の優先度が急激に増加する場合に使用します。 入力値が増えるに従って優先度が低下します。
    • 入力シフト - デフォルトは、入力ラスターから生成されます。
    • [ファクター] - デフォルトは、入力ラスターから生成されます。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • LogisticDecayロジスティック減少関数を使用して入力データのスケールを変更します。小さい入力値が最も優先される場合に使用します。 入力値が増えるに従って優先度が急激に減少し、入力値がさらに増えると優先度が減少する割合が減ります。
    • [最小] - デフォルトは、入力ラスターの最小です。
    • [最大] - デフォルトは、入力ラスターの最大です。
    • [Y インターセプトの割合] - デフォルトは 99.0 です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • LogisticGrowthロジスティック増加関数を使用して入力データのスケールを変更します。小さい入力値が最も優先されない場合に使用します。 入力値が増えるに従って優先度が急激に増加し、入力値がさらに増えると優先度が増加する割合が減少します。
    • [最小] - デフォルトは、入力ラスターの最小です。
    • [最大] - デフォルトは、入力ラスターの最大です。
    • [Y インターセプトの割合] - デフォルトは 1.0 です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • MSLarge平均と標準偏差に基づいて入力データのスケールを変更します。入力ラスターの値が大きいほど、優先度が高くなります。平均と標準偏差の乗数の定義によっては、Large 関数と同様の結果になります。
    • 平均乗数 - デフォルトは 1 です。
    • 標準偏差の乗数 - デフォルトは 1 です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • MSSmall平均と標準偏差に基づいて入力データのスケールを変更します。入力ラスターの値が小さいほど、優先度が高くなります。平均と標準偏差の乗数の定義によっては、Small 関数と同様の結果になります。
    • 平均乗数 - デフォルトは 1 です。
    • 標準偏差の乗数 - デフォルトは 1 です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • Near中点に非常に近い入力値の優先度が高い場合に使用されます。Near は Gaussian 関数に類似していますが、減少する割合がより大きくなります。
    • 中点 - デフォルトは、入力ラスターから生成されます。
    • 拡散 - デフォルトは、入力ラスターから生成されます。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • Power指定された指数を使用して累乗関数を適用し、入力データのスケールを変更します。入力値が増えるとともに入力値の優先度が急激に増加する場合に使用されます。
    • 入力シフト - デフォルトは、入力ラスターから生成されます。
    • [指数] - デフォルトは、入力ラスターから生成されます。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • Small入力ラスターの値が小さいほど優先度が高くなることを示す場合に使用されます。中点は、高い優先度を持つ中点よりも小さい入力値と、低い優先度を持つ中点よりも大きい入力値の交差点を指定します。
    • 中点 - デフォルトは、入力ラスターから生成されます。
    • [拡散] - デフォルトは 5 です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。
  • SymmetricLinear最小値と最大値の中点の前後で線形関数を反転することによって、入力データのスケールを変更します。特定の入力値で最も優先度が高くなり、反転するポイントから入力値が変動するに従って線形に優先度が減少する場合に使用されます。
    • [最小] - デフォルトは、入力ラスターの最小です。
    • [最大] - デフォルトは、入力ラスターの最大です。
    • [最小閾値] - デフォルトは、入力ラスターの最小です。
    • [最小閾値に満たない場合の出力スケール] - デフォルトは、[起点スケール] です。
    • [最大閾値] - デフォルトは、入力ラスターの最大です。
    • [最大閾値を超える場合の出力スケール] - デフォルトは、[終点スケール] の値です。

デフォルトの変換方法は MS Small です。

Transformation function
起点スケール
(オプション)

出力評価スケールの開始値。

[起点スケール] の値を [終点スケール] の値と同じにすることはできません。 [起点スケール] は、[終点スケール] よりも小さい値または大きい値にすることができます (たとえば、1 〜 10 または 10 〜 1)。

この値は正の値でなければならず、整数または倍精度にすることができます。

デフォルトは 1 です。

Double
終点スケール
(オプション)

出力評価スケールの終了値。

[終点スケール] の値を [起点スケール] の値と同じにすることはできません。 [終点スケール] は、[起点スケール] よりも小さい値または大きい値にすることができます (たとえば、1 〜 10 または 10 〜 1)。

この値は正の値でなければならず、整数または倍精度にすることができます。

デフォルトは 10 です。

Double

戻り値

ラベル説明データ タイプ
出力ラスター

リスケールされた出力ラスター。

出力は、評価値の範囲が from_scaleto_scale の浮動小数点ラスターになります。

Raster

RescaleByFunction(in_raster, {transformation_function}, {from_scale}, {to_scale})
名前説明データ タイプ
in_raster

リスケール対象の入力ラスター。

Raster Layer
transformation_function
(オプション)

入力ラスターを変換する連続的な関数を指定します。

変換関数クラスを使用して変換関数のタイプを指定します。

変換関数クラスのタイプは次のとおりです。

どの変換関数を使用するかは、どの関数が、入力値と現象の優先度の相互関係を最もよく表すかによって決まります。 最小閾値と最大閾値が出力値にどう影響するかをよく理解するために、閾値を制御するパラメーターの詳細について、「出力値に対する最大閾値と最小閾値の相互関係」をご参照ください。

変換関数クラスの形式は以下のとおりです。

  • TfExponential({shift}, {baseFactor}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfGaussian({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLarge({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLinear({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogarithm({shift}, {factor}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogisticDecay({minimum}, {maximum}, {yInterceptPercent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogisticGrowth({minimum}, {maximum}, {yInterceptPercent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfMSLarge({meanMultiplier}, {STDMultiplier}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfMSSmall({meanMultiplier}, {STDMultiplier}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfNear({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfPower({shift}, {exponent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfSmall({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfSymmetricLinear({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})

デフォルトの変換関数は、TfMSSmall です。

各変換関数のパラメーターのデフォルトは、以下のとおりです。

  • baseFactor (TfExponential 用) は、入力ラスターから生成されます。
  • exponent (TfPower 用) は、入力ラスターから生成されます。
  • factor (TfLogarithm 用) は、入力ラスターから生成されます。
  • lowerThreshold (すべての関数用) は、入力ラスターの最小値に設定されます。
  • maximum (TfLinear、TfLogisticDecay、TfLogisticGrowth、および TfSymmetricLinear 用) は、入力ラスターの最大値に設定されます。
  • meanMultiplier (TfMSLarge および TfMSSmall 用) は 1 です。
  • midpoint (TfGaussian および TfNear 用) は、入力ラスターの値の範囲の中点に設定されます。
  • midpoint (TfLarge および TfSmall 用) は、入力ラスターの平均に設定されます。
  • minimum (TfLinear、TfLogisticDecay、TfLogisticGrowth、および TfSymmetricLinear 用) は、入力ラスターの最小値に設定されます。
  • shift (TfExponential、TfLogarithm、および TfPower 用) は、入力ラスターから生成されます。
  • spread (TfGaussian および TfNear 用) は、入力ラスターから生成されます。
  • spread (TfLarge および TfSmall 用) は 5 です。
  • STDMultiplier (TfMSLarge および TFMSSmall 用) は 1 です。
  • upperThreshold (すべての関数用) は、入力ラスターの最大値に設定されます。
  • valueAboveThreshold (すべての関数用) は、to_scale の値に設定されます。
  • valueBelowThreshold (すべての関数用) は、from_scale の値に設定されます。
  • yInterceptPercent (TfLogisticDecay 用) は、99.0000 です。
  • yInterceptPercent (TfLogisticGrowth 用) は、1.0000 です。

Transformation function
from_scale
(オプション)

出力評価スケールの開始値。

from_scale の値を、to_scale の値と同じにすることはできません。 from_scale は、to_scale よりも小さい値または大きい値にすることができます (たとえば、1 〜 10 または 10 〜 1)。

この値は正の値でなければならず、整数または倍精度にすることができます。

デフォルトは 1 です。

Double
to_scale
(オプション)

出力評価スケールの終了値。

to_scale の値を、from_scale の値と同じにすることはできません。 to_scale は、from_scale よりも小さい値または大きい値にすることができます (たとえば、1 〜 10 または 10 〜 1)。

この値は正の値でなければならず、整数または倍精度にすることができます。

デフォルトは 10 です。

Double

戻り値

名前説明データ タイプ
out_raster

リスケールされた出力ラスター。

出力は、評価値の範囲が from_scaleto_scale の浮動小数点ラスターになります。

Raster

コードのサンプル

RescaleByFunction (関数によるリスケール) の例 1 (Python ウィンドウ)

この例では、MSSmall 関数を使用してスケールを変更された値を持つラスターを作成します。

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("elevation", TfMSSmall(1.25, 1.5, "#", "#", 4000, "NoData"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfms1")
RescaleByFunction (関数によるリスケール) の例 2 (スタンドアロン スクリプト)

評価データに対するこのツールの使用方法を示します。ここでは、標高の低い場所の方が標高の高い場所よりも優先度が非常に高くなります。 4,000 メートルを超える位置は、NoData に設定されます。

# Name: TfMSSmall_Ex_02.py
# Description: Rescales input raster data using a MSSmall function and
#     transforms the function values onto a specified evaluation scale. 
# Requirements: Spatial Analyst Extension
# Author: esri

# 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 TfMSSmall object
meanmult = 1.25
stdmult = 1.5
lowerthresh = "#"
valbelowthresh = "10"
upperthresh = 4000
valabovethresh = "NoData"
myTfFunction = TfMSSmall(meanmult, stdmult, lowerthresh, valbelowthresh, upperthresh, valabovethresh)

# Set evaluation scale
fromscale = 1
toscale = 10

# Execute RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)

# Save the output
outRescale.save("c:/sapyexamples/rescaletfms2")