シグネチャの編集(Edit Signatures) (Spatial Analyst)
使用法
-
[シグネチャの編集(Edit Signatures)] ツールを使用すると、次の一部または全部の操作によって、既存のシグネチャ ファイルを変更できます。
- 一連のクラスからなるシグネチャのマージ
- シグネチャ クラス ID の再割り当て
- 不要なシグネチャの削除
-
入力シグネチャ ファイルは、ASCII シグネチャ ファイルである必要があります。このファイルは、[ISO クラスタ(Iso Cluster)] や [シグネチャの作成(Create Signatures)] など、必要な統計情報を含むファイルを作成する [多変量解析] ツールの出力にすることができます。ファイルには、最低 2 つのクラスが必要です。このようなファイルは、拡張子が「.gsg」であることでわかります。
-
入力シグネチャ再分類ファイルは、コロンで区切られた、1 行あたり 2 つの列からなる ASCII ファイルです。最初の列は、元のクラス ID の値で、2 番目の列は、シグネチャ ファイルでの更新に必要な新しいクラス ID の値です。ファイルのエントリはすべて、最初の列を基準にして、昇順で並べ替える必要があります。
一連のクラスをマージするには、そのセットの各クラス ID の 2 番目の値に同じ新しいクラス ID を設定します。シグネチャ再分類ファイルには、編集する必要のあるクラスのみを置かなければなりません。リマップ ファイルにないクラスは変更されません。クラス シグネチャを削除するには、そのクラスの 2 番目の列に、-9999 という値を入力します。また、クラス ID を入力シグネチャ ファイルに存在しない値に再番号付けすることもできます。入力シグネチャ再分類ファイルの例を以下に示します。
2 : 3 4 : 11 5 : -9999 9 : 3
上の例では、クラス 2 と 9 を 3 にマージし、クラス 4 を 11 にマージして、クラス 5 を削除します。
-
入力シグネチャ ファイルがクラス シグネチャの名前を持ち、入力シグネチャ再分類ファイル内のシグネチャをマージする場合、マージする値に関連付けられた名前は、出力シグネチャ ファイルに転送されます。
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、この操作では、レイヤによって読み込まれた(シンボル表示された)3 つのバンドだけでなく、ソース データセットに関連付けられたバンドがすべて考慮されます。
マルチバンド ラスタからバンドのサブセットを指定し、ツールの入力として使用するには、いくつかの方法があります。
- ツールのダイアログ ボックスを使用する場合は、[入力ラスタ バンド] の横にある参照 ボタンを使用してマルチバンド ラスタを参照し、ラスタを開いて、使用するバンドを選択します。
- マルチバンド ラスタがコンテンツ ウィンドウのレイヤである場合は、[ラスタ レイヤの作成(Make Raster Layer)] ツールを使用して、目的のバンドだけを含む新しいマルチバンド レイヤを作成できます。
- [コンポジット バンド(Composite Bands)] を使用して、目的のバンドだけを含む新しいデータセットを作成し、結果のデータセットをツールの入力として使用することもできます。
- Python では、使用するバンドをツール パラメータでリストとして直接指定できます。
構文
パラメータ | 説明 | データ タイプ |
in_raster_bands [in_raster_band,...] |
シグネチャを編集する入力ラスタ バンド。 | Raster Layer |
in_signature_file |
編集するクラス シグネチャを持つ入力シグネチャ ファイル。 「.gsg」という拡張子が必須です。 | File |
in_signature_remap_file |
マージ、再番号付け、削除するクラス ID を持つ入力 ASCII 再分類テーブル。 使用できる拡張子は、「.rmp」、「.asc」または「.txt」です。デフォルトは、「.rmp」です。 | File |
out_signature_file |
出力シグネチャ ファイル。 拡張子「.gsg」を指定する必要があります。 | File |
sample_interval (オプション) |
サンプリングに使用する間隔。 デフォルトは 10 です。 | Long |
コードのサンプル
次の例では、入力再分類ファイルに基づいてシグネチャ ファイルを編集しています。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" EditSignatures("redl123", "c:/sapyexamples/data/zsamp12.gsg", "c:/sapyexamples/data/zsamp7.rmp", "c:/sapyexamples/output/redlremap.gsg", "")
次の例では、入力再分類ファイルに基づいてシグネチャ ファイルを編集しています。
# Name: EditSignatures_Ex_02.py # Description: Edits and updates a signature file by merging, renumbering, # and deleting class signatures. # 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 = "redl123" oldSig = "c:/sapyexamples/data/zsamp12.gsg" sigRemap = "c:/sapyexamples/data/zsamp7.rmp" outNewSig = "c:/sapyexamples/output/redlsig.gsg" interval = "" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute EditSignatures EditSignatures(inRaster, oldSig, sigRemap, outNewSig, interval)