ISO クラスタ(Iso Cluster) (Spatial Analyst)
サマリ
ISO クラスタ アルゴリズムを使用して、多次元属性空間内にあるセルの自然なグループ化の特性を判別し、出力 ASCII シグネチャ ファイルに結果を格納します。
使用法
-
[ISO クラスタ(Iso Cluster)] は、入力バンドのリスト内で組み合わされた多変量データのクラスタ化を実行します。出力されるシグネチャ ファイルは、[最尤法分類(Maximum Likelihood Classification)] などの分類ツールの入力として使用することで、教師なし分類ラスタを作成することができます。
-
クラス数として有効な最小値は 2 です。クラスタの最大数はありません。一般に、クラスタの数が増えるほど反復処理の回数も増えます。
-
以後の分類のためにシグネチャ ファイルを生成するのに必要である十分な統計情報を確保するには、各クラスタが個々のクラスタを正確に表現できるだけの数のセルを含んでいる必要があります。最小クラス サイズとして入力した値は、入力ラスタ バンド内のレイヤ数のおよそ 10 倍にする必要があります。
-
サンプル間隔として入力した値 n は、n × n ブロックから 1 つセルを選んでクラスタ計算に使用することを示します。
-
ASCII シグネチャ ファイルのクラスをマージまたは削除したり、統計情報を変更したりしてはいけません。
-
一般に、入力バンドの交差の範囲に含まれるセルが多いほど、最小クラス サイズとサンプル間隔として指定する値も大きくする必要があります。サンプル間隔として入力する値は、入力データに存在する望ましい最小のカテゴリが適切にサンプリングできる程度に小さくする必要があります。
-
出力シグネチャ ファイルのクラス ID は 1 から始まって、入力クラス数まで連続して増加します。クラス番号の割り当ては任意です。
-
すべての入力バンドが同じデータ範囲を持つ場合、より優れた結果が得られます。バンドが非常に多様なデータ範囲をもつ場合は、[マップ代数演算] で式を実行することで、データ範囲を同じ範囲に変換できます。
where: Z is the output raster with new data ranges. X is the input raster. oldmin is the minimum value of the input raster. oldmax is the maximum value of the input raster. newmin is the desired minimum value for the output raster. newmax is the desired maximum value for the output raster.
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、この操作では、レイヤによって読み込まれた(シンボル表示された)3 つのバンドだけでなく、ソース データセットに関連付けられたバンドがすべて考慮されます。
マルチバンド ラスタからバンドのサブセットを指定し、ツールの入力として使用するには、いくつかの方法があります。
- ツールのダイアログ ボックスを使用する場合は、[入力ラスタ バンド] の横にある参照 ボタンを使用してマルチバンド ラスタを参照し、ラスタを開いて、使用するバンドを選択します。
- マルチバンド ラスタがコンテンツ ウィンドウのレイヤである場合は、[ラスタ レイヤの作成(Make Raster Layer)] ツールを使用して、目的のバンドだけを含む新しいマルチバンド レイヤを作成できます。
- [コンポジット バンド(Composite Bands)] を使用して、目的のバンドだけを含む新しいデータセットを作成し、結果のデータセットをツールの入力として使用することもできます。
- Python では、使用するバンドをツール パラメータでリストとして直接指定できます。
構文
パラメータ | 説明 | データ タイプ |
in_raster_bands [in_raster_band,...] |
入力ラスタ バンド。 | Raster Layer |
out_signature_file |
出力シグネチャ ファイル。 拡張子「.gsg」を指定する必要があります。 | File |
number_classes |
セルをグループ化するクラスの数。 | Long |
number_iterations (オプション) | 実行するクラスタリング処理の反復回数。 デフォルトは 20 です。 | Long |
min_class_size (オプション) | 有効なクラス内の最小セル数。 デフォルトは 20 です。 | Long |
sample_interval (オプション) |
サンプリングに使用する間隔。 デフォルトは 10 です。 | Long |
コードのサンプル
次の例では、入力マルチバンド ラスタを 5 つのクラスに分類するシグネチャ ファイルを作成しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
IsoCluster("redlands", "c:/sapyexamples/output/isosig.gsg", 5, 20, 50, 15)
次の例では、入力マルチバンド ラスタを 5 つのクラスに分類するシグネチャ ファイルを作成しています。
# Name: IsoCluster_Ex_02.py
# Description: Uses an isodata clustering algorithm to determine the
# characteristics of the natural groupings of cells in multidimensional
# attribute space and stores the results in an output ASCII signature file.
# 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 = "redlands"
outSig = "redlndiso.gsg"
classes = 5
cycles = 20
minMembers = 50
sampInterval = 15
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute IsoCluster
IsoCluster(inRaster, outSig, classes, cycles, minMembers, sampInterval)