属性インデックスの追加(Add Attribute Index) (データの管理)
サマリ
属性インデックスを既存のテーブル、フィーチャクラス、シェープファイル、カバレッジ、属性付きのリレーションシップ クラスに追加します。
ArcGIS では属性インデックスを使用することによって、属性クエリと一致するレコードを迅速に検索できます。ジオデータベースにおける属性インデックスの詳細については、「属性インデックスの作成」をご覧ください。
使用法
-
複数の属性インデックスは、ファイル ジオデータベース、パーソナル ジオデータベース、または ArcSDE データベースのフィーチャクラスだけでサポートされます。[インデックス名] パラメータは、[Unique | Non_unique] または [Ascending | Non_ascending] の設定とともに、これらの入力に対してのみ使用できます。
-
シェープファイルでは複数インデックスがサポートされないため、追加されるフィールドはコンポジット インデックスの一部になります(つまり、1 つのインデックスがテーブル内の複数のフィールドに作成されます)。
-
マルチフィールド インデックスはファイル ジオデータベースにまだ実装されていませんが、このツールを使用すると、ファイル ジオデータベースにマルチフィールド インデックスを指定することができます。マルチフィールド インデックスを作成すると、[フィーチャクラス プロパティ] ダイアログ ボックスまたは [テーブル プロパティ] ダイアログ ボックスではマルチフィールド インデックスとして表示されますが、実際には個々のフィールド上の個別のインデックスです。
-
ArcSDE ジオデータベース、ファイル ジオデータベース、パーソナル ジオデータベースでは、個々のインデックス名について新しいインデックスが追加されます。インデックス名がすでに存在する場合は、更新する前に削除する必要があります。
-
外部の DBMS テーブルに対するネイティブ モードの再選択をサポートするには、各アイテムにインデックスを付ける必要があります。
-
[属性インデックスを追加するフィールド] パラメータの [フィールドの追加] ボタンは、ModelBuilder だけで使用されます。ModelBuilder では、先のツールが実行されていないか、出力データが存在しないために、[属性インデックスを追加するフィールド] パラメータにフィールド名が表示されない場合があります。[フィールドの追加] ボタンを使用すると、[属性インデックスの追加(Add Attribute Index)] ダイアログ ボックスを完了してモデルの作成を続行できるように、必要なフィールドが追加されます。
構文
パラメータ | 説明 | データ タイプ |
in_table |
インデックスを付けるフィールドが含まれるテーブル | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
fields |
インデックスを追加するフィールドのリスト。任意の数のフィールドを指定できます。 | Field |
index_name (オプション) |
新しいインデックスの名前。インデックス名は、ジオデータベースのフィーチャクラスとテーブルにインデックスを追加するときに必要です。シェープファイルやカバレッジのフィーチャクラスのような他のデータ タイプにインデックス名を指定することはできません。 | String |
unique (オプション) |
インデックス内の値を一意にするかどうかを指定します。
| Boolean |
ascending (オプション) |
値に昇順でインデックスを付けるかどうかを指定します。
| Boolean |
コードのサンプル
次のスタンドアロン スクリプトは、指定したフィールドに属性インデックスを作成する方法を示しています。
# Name: AddAttIndex.py # Description: Create an attribute Index for specified fields # Import system modules import arcpy # Set a default workspace arcpy.env.workspace = "c:/data" try: # Create an attribute index for the few fields listed in command. arcpy.AddIndex_management ("counties.shp", "NAME;STATE_FIPS;CNTY_FIPS", "#", "NON_UNIQUE", "NON_ASCENDING") arcpy.AddIndex_management ("mexico.mdb/land/lakes", "NAME;geocompID", "NGIndex", "UNIQUE", "ASCENDING") except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message
次のコードは、Python の対話形式のウィンドウで AddIndex(インデックスの追加)関数を使用する方法を示しています。
import arcpy arcpy.env.workspace = "C:/data/input/indices.gdb" arcpy.AddIndex_management("lakes", "NAME;geocompID", "NGIndex", "UNIQUE", "ASCENDING")