テーブルによる再分類(Reclass by Table) (Spatial Analyst)
サマリ
リマップ テーブルを使用して、ラスタの入力セルの値を再分類または変更します。
使用法
-
入力ラスタには、有効な統計情報がなくてはなりません。統計情報が存在しない場合は、[データ管理ツール] ツールボックスの [統計情報の計算(Calculate Statistics)] ツールを使用して作成できます。
-
[開始値フィールド]、[終了値フィールド]、および [出力値フィールド] の値は、リマップを定義するテーブル内のフィールド名です。
-
値を個別に再分類するには、2 つの項目による簡単なリマップ テーブルを使用します。1 つめの項目に再分類する元の値を指定し、2 つめの項目にはその値に新しく割り当てる値を指定します。「終了値フィールド」は「開始値フィールド」と同じ項目を指定します。出力に割り当てる値を「出力値フィールド」に指定します。
-
値の範囲を再分類する場合は、それぞれの範囲の始点および終点を定義する項目と、その範囲に割り当てる値がリマップ テーブルに必要です。範囲の始点を定義する項目を [開始値フィールド] に、範囲の終点を定義する項目を [終了値フィールド] に指定します。出力に割り当てる値を、[出力値フィールド] に指定します。
-
リマップ テーブルには、INFO テーブル、*.dbf ファイル、Access テーブル、またはテキスト ファイルを使用できます。
-
リマップ テーブルの開始値と終了値のフィールドには、任意の数値を指定できます。出力値フィールドの割り当て値は、整数にする必要があります。
-
*.dbf、INFO、およびジオデータベース テーブルを使用する場合は、開始値のフィールドで値を順に並べる必要はありません。テキスト ファイルのテーブルでは、値を昇順に並べる必要があります。いずれの場合も、値が重複しないようにしてください。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
再分類対象の入力ラスタ。 | Raster Layer |
in_remap_table |
再分類する値の範囲と、変更後の値を定義するフィールドが含まれているテーブル。 | Table View |
from_value_field |
再分類する値の範囲それぞれの開始値を格納しているフィールド。 これは、入力リマップ テーブルの数値フィールドです。 | Field |
to_value_field |
再分類する値の範囲それぞれの終了値を格納しているフィールド。 これは、入力リマップ テーブルの数値フィールドです。 | Field |
output_value_field |
各範囲の変更後の整数値を格納しているフィールド。 これは、入力リマップ テーブルの整数フィールドです。 | Field |
missing_values (オプション) |
再分類テーブルに指定されていない値を、元の値のままにするか、NoData に変更するかを指定します。
| Boolean |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
出力再分類ラスタ。 出力は常に整数タイプになります。 | Raster |
コードのサンプル
この例では、リマップ テーブルを使用して入力ラスタを再分類します。
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "C:/sapyexamples/data"
outReclass = ReclassByTable("slope","remapslope","FROM","TO","OUT")
outReclass.save("C:/sapyexamples/output/recslope")
この例では、リマップ テーブルを使用して入力ラスタを再分類します。
# Name: reclassbytable_example02.py
# Description: Reclassifies the values of the input raster using a remap table.
# 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 = "slope"
inRemapTable = "remapslope"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Reclassify
outRaster = ReclassByTable(inRaster, inRemapTable,"FROM","TO","OUT","NODATA")
# Save the output
outRaster.save("C:/sapyexamples/output/recslope")