再分類 (Reclassify) (Spatial Analyst)

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

3D Analyst のライセンスで利用可能。

サマリー

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

使用法

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

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

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

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

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

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

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

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

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

    • 削除オプションを使用してすべての再分類レコードを削除し、新しい値を手動で追加します。
    • ユニーク オプションまたは分類オプションを選択し、新しい再分類を生成します。
  • [再分類 (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

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

出力ラスターで値を再分類する方法を定義するには、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")