再分類(Reclassify) (Spatial Analyst)
サマリ
ラスタの値を再分類(または変更)します。
使用法
-
入力ラスタには、有効な統計情報がなくてはなりません。統計情報が存在しない場合は、[データ管理ツール] ツールボックスの [統計情報の計算(Calculate Statistics)] ツールを使用して作成できます。
-
ツール ダイアログ ボックスを使用している場合は、[保存] ボタンを使用して、リマップ テーブルを保存できます。[保存] ボタンを使用して作成したリマップ テーブルは、[読み込み] ボタンを使用して開くことができます。
-
[再分類(Reclassify)] ツールで保存したテーブルだけを読み込むことをお勧めします。テーブルには固有の形式があり、FROM、TO、OUT、および MAPPING のフィールドを含んでいる必要があります。
-
デフォルトでは、入力ラスタは再分類テーブルに指定された 9 つのクラスに分類されます。
-
入力ラスタがレイヤの場合、再分類される元の値はレンダラから取得されます。レンダラがストレッチされている場合は、デフォルトで 255 クラスに再分類されます。
-
再分類のリマップ テーブルが変更されていると、新しい入力ラスタを選択したときに値が更新されません。再分類が新しいラスタに適切でない場合は、デフォルトの再分類を次の方法で再初期化できます。
- 再分類フィールドで値を編集するか新しい値を選択します。
- ツールを再起動します。
-
このツールは精度管理を行い、小数点の処理方法を管理します。
-
[再分類(Reclassify)] ツールをモデルの一部として使用する場合は、次の点に注意してください。
- このツールへの入力が、まだ実行されていないツールの出力データである場合は、先に必要なツールを実行してモデルを検証するまで、[再分類(Reclassify)] ツールのリマップ パラメータは空になります。これを避けるには、常に必要なツールを先に実行してから、これらのツールの出力変数を [再分類(Reclassify)] ツールへの入力として渡します。または、エントリを追加してカスタム再分類テーブルを作成することもできます。
- 再分類テーブルをモデル パラメータとして公開する場合は、再分類フィールドを変数として公開する必要があります。ただし、モデル パラメータとして設定する必要はありません。フィールドを変数として公開していない場合、モデル ツールのダイアログ ボックスで分類と個別値のボタンが無効になります。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
再分類対象の入力ラスタ。 | Raster Layer |
reclass_field |
再分類する値を指定するフィールド。 | Field |
remap |
Remap オブジェクトを使用して、入力ラスタの値を再分類する方法を指定します。 出力ラスタで値を再分類する方法は、RemapRange と RemapValue の 2 つの方法で定義できます。入力値の範囲を 1 つの新しい出力値に割り当てるか、個々の値を新しい出力値に割り当てることができます。 リマップ オブジェクトの形式は次のとおりです。
| Remap |
missing_values (オプション) |
再分類テーブルに指定されていない値を、元の値のままにするか、NoData に変更するかを指定します。
| Boolean |
リターン
名前 | 説明 | データ タイプ |
out_raster |
出力再分類ラスタ。 出力は常に整数タイプになります。 | Raster |
コードのサンプル
次の例は、ラスタを再分類するさまざまな方法を示しています。
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")
この例は、文字列フィールドの値に基づいて入力ラスタを再分類します。
# 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]]) # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute Reclassify outReclassify = Reclassify(inRaster, reclassField, remap, "NODATA") # Save the output outReclassify.save("C:/sapyexamples/output/outreclass02")