再分類 (Reclassify) (Spatial Analyst)

サマリー

ラスターの値を再分類 (または変更) します。

使用法

  • 値の範囲を再分類する場合、その範囲は 2 つの入力範囲の境界以外で重なり合ってはいけません。 入力範囲が重なり合う箇所では、より低い入力範囲の上限値はそれに含められ、より高い入力範囲の下限値はそれに含められません。

    たとえば、2 つの範囲が指定され、値 1 〜 5 を 100 として、値 5 〜 10 を 200 として再分類した場合、出力において 5 未満の入力値と 5 に等しい入力値は値 100 に割り当てられ、5 より大きい入力値 (5.01 など) は 200 に割り当てられます。

  • ツール ダイアログで、[再分類] パラメーターの [分類] または [個別値] オプションを使用すると、入力ラスターの値に基づいて再分類テーブルを生成できます。 [分類] オプションを選択するとダイアログが開き、データ分類方法のいずれかとクラス数から方法を指定できます。 [個別値] オプションでは、入力データセットの個別値を使用してリマップ テーブルが設定されます。

  • データを再分類する前に、モザイク データセットの統計情報を計算することをお勧めします。

  • このツール ダイアログから [保存] オプションを使用して、リマップ テーブルを後で使用するために保存できます。 リマップを任意のリレーショナル テーブル形式で保存できます。 [保存] ボタンを使用して以前に作成したリマップ テーブルは、[読み込み] オプションを使用して再び読み込むことができます。

  • [再分類 (Reclassify)] ツールで保存したテーブルだけを読み込むことをお勧めします。 テーブルには固有の形式があり、FROMTOOUT、および MAPPING のフィールドを含んでいる必要があります。

  • 入力ラスターに属性テーブルがある場合は、その属性テーブルを使用して最初のリマップ テーブルが作成されます。 入力ラスターに属性テーブルがない場合は、[再分類 (Reclassify)] ツールにラスターを入力する前に、データ管理ツールボックスから [ラスター属性テーブルの構築 (Build Raster Attribute Table)] ツールを実行して属性テーブルを構築することができます。 それ以外の場合は、ラスターを入力するときに、まず範囲セル サイズなどのジオプロセシング環境設定を適用し、ラスターをスキャンすることで、リマップ テーブルが作成されます。

    入力ラスターが [コンテンツ] 内のレイヤーである場合、レイヤー シンボルで指定された一意の値または分類された閾値が、デフォルトのリマップ テーブルにインポートされます。 これらの値のインポート時には、現在のジオプロセシング環境設定は無視されます。 それ以外の場合、再分類を手動で入力するか、ユニーク オプションまたは分類オプションを使用して生成する必要があります。

  • 再分類のリマップ テーブルが変更されていると、新しい入力ラスターを選択したときにテーブルが更新されません。 再分類が新しいラスターに適切でない場合は、次のいずれかの方法で新しい再分類を再初期化できます。

    • 削除オプションを使用してすべてのリマップ レコードを削除し、新しい値を手動で追加します。
    • ユニーク オプションまたは分類オプションを選択し、新しい再分類を生成します。
  • [再分類 (Reclassify)] ツールをモデルの一部として使用する場合は、次の点に注意してください。

    • このツールへの入力が、まだ実行されていないツールの出力データである場合は、先に必要なツールを実行してモデルを検証するまで、[再分類 (Reclassify)] ツールのリマップ パラメーターは空になります。 これを避けるには、常に必要なツールを先に実行してから、これらのツールの出力変数を [再分類 (Reclassify)] ツールへの入力として渡します。 または、エントリを追加してカスタム リマップ テーブルを作成することもできます。
    • リマップ テーブルをモデル パラメーターとして公開する場合は、再分類フィールドを変数として公開する必要があります。ただし、モデル パラメーターとして設定する必要はありません。 フィールドを変数として公開していない場合、モデル ツールのダイアログ ボックスで分類と個別値のボタンが無効になります。
  • デフォルトでは、このツールはマルチコア プロセッサを使用します (使用可能な場合)。 使用できるコアの最大数は 4 です。

    もっと少ないコアを使用するには、並列処理ファクター環境設定を使用します。

パラメーター

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

再分類対象の入力ラスター。

Raster Layer
再分類フィールド

再分類する値を指定するフィールド。

Field
再分類

値を再分類する方法を定義するリマップ テーブル。 テーブルの操作とオプションは以下のとおりです。

  • 入力ラスターの値を、値の範囲として、または個々の値として分類できます。 テーブルは、[開始][終了] の値で表示されるか、一意の値で個別に表示されます。 入力が [コンテンツ] 内のレイヤーである場合、シンボルの一意の値または分類された閾値がインポートされます。
  • 出力ラスターに割り当てられる [新しい値] の値を指定します。 整数値のみがサポートされています。
  • [分類] オプションまたは [ユニーク] オプションを使用して、入力ラスターの値に基づいてリマップ テーブルを生成します。 [分類] オプションを選択するとダイアログが開き、データ分類方法のいずれかとクラス数から方法を指定できます。 [個別値] オプションでは、入力データセットの個別値を使用してリマップ テーブルが設定されます。
  • [新しい値の反転] オプションは、新しい値のリストを並べ替えます (たとえば、「1,2,3」を「3,2,1」にします)。
  • テーブルを変更する場合は、テーブル内の空のセルに入力して Enter キーを押すことで新しい項目を追加できます。 これによって新しい項目が整合チェックされ、次に入力するための新しい空の行が作成されます。 行を削除するには、1 つまたは複数の行を選択してから Delete キーを押します。
  • 読み込みオプションまたは保存オプションを使用して、後で他の入力データに適用するため、または解析をすばやく繰り返すためにリマップを保存します。
Remap
再分類されなかった値を NoData に変更
(オプション)

リマップ テーブルに指定されていない値を、元の値のままにするか、NoData に変更するかを指定します。

  • オフ - 入力ラスターのセルに含まれている値がリマップ テーブルで指定または再分類されていない場合は、その値を変更せずに、出力ラスターの同じ位置に書き込みます。 これがデフォルトです。
  • オン - 入力ラスターのセルに含まれている値がリマップ テーブルで指定または再分類されていない場合、出力ラスターの同じ位置の値は NoData に再分類されます。
Boolean

戻り値

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

出力再分類ラスター。

出力は常に整数タイプになります。

Raster

Reclassify(in_raster, reclass_field, remap, {missing_values})
名前説明データ タイプ
in_raster

再分類対象の入力ラスター。

Raster Layer
reclass_field

再分類する値を指定するフィールド。

Field
remap

Remap オブジェクトを使用して、入力ラスターの値を再分類する方法を指定します。

出力ラスターで値を再分類する方法を定義するには、RemapRangeRemapValue という 2 つの方法があります。 入力値の範囲を 1 つの新しい出力値に割り当てるか、個々の値を新しい出力値に割り当てることができます。

リマップ オブジェクトの形式は次のとおりです。

  • RemapRange (remapTable)
  • RemapValue (remapTable)
Remap
missing_values
(オプション)

リマップ テーブルに指定されていない値を、元の値のままにするか、NoData に変更するかを指定します。

  • DATA入力ラスターのセルに含まれている値がリマップ テーブルで指定または再分類されていない場合は、その値を変更せずに、出力ラスターの同じ位置に書き込みます。 これがデフォルトです。
  • NODATA入力ラスターのセルに含まれている値がリマップ テーブルで指定または再分類されていない場合、出力ラスターの同じ位置の値は NoData に再分類されます。
Boolean

戻り値

名前説明データ タイプ
out_raster

出力再分類ラスター。

出力は常に整数タイプになります。

Raster

コードのサンプル

Reclassify (再分類) の例 1 (Python ウィンドウ)

次の例は、ラスターを再分類するさまざまな方法を示しています。

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"

outReclass1 = Reclassify("landuse", "Value", 
                         RemapValue([[1,9],[2,8],[3,1],[4,6],[5,3],[6,3],[7,1]]))
outReclass1.save("C:/sapyexamples/output/landuse_rcls")

outReclass2 = Reclassify("slope_grd", "Value", 
                         RemapRange([[0,10,"NODATA"],[10,20,1],[20,30,2],
                                     [30,40,3],[40,50,4],[50,60,5],[60,75,6]]))
outReclass2.save("C:/sapyexamples/output/slope_rcls")

outReclass3 = Reclassify("pop_density", "Value", 
                         RemapRange([[10,10,1],[10,20,2],[20,25,3],
                                     [25,50,4],[50,]]), "NODATA")
outReclass3.save("C:/sapyexamples/output/popden_rcls")
Reclassify (再分類) の例 2 (スタンドアロン スクリプト)

この例は、文字列フィールドの値に基づいて入力ラスターを再分類します。

# Name: reclassify_example02.py
# Description: Reclassifies the values in a raster.
# 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 = "landuse"
reclassField = "LANDUSE"
remap = RemapValue([["Brush/transitional", 0], ["Water", 1],["Barren land", 2]])

# Execute Reclassify
outReclassify = Reclassify(inRaster, reclassField, remap, "NODATA")

# Save the output 
outReclassify.save("C:/sapyexamples/output/outreclass02")

関連トピック