属性インデックスの追加 (Add Attribute Index) (データ管理)

サマリー

属性インデックスを既存のテーブル、フィーチャクラス、シェープファイル、属性付きのリレーションシップ クラスに追加します。

ArcGIS では属性インデックスを使用することによって、属性クエリと一致するレコードを迅速に検索できます。

使用法

  • シェープファイルおよびファイル ジオデータベースでは複数インデックスはサポートされません。 追加されるフィールドはコンポジット インデックスの一部になります (つまり、1 つのインデックスがテーブル内の複数のフィールドに作成されます)。

  • ジオデータベースでは、個々のインデックス名について新しいインデックスが追加されます。 インデックス名がすでに存在する場合は、更新する前に削除する必要があります。

  • バージョン対応登録されていないエンタープライズ ジオデータベースのデータの場合、一意または一意でないインデックスを GlobalID フィールドに追加できます。

  • シェープファイルまたはファイル ジオデータベースでは、一意の値および昇順のインデックスはサポートされていません。 これらのパラメーターは、シェープファイルまたはファイル ジオデータベースのデータにツールを実行するときは無視されます。

パラメーター

ラベル説明データ タイプ
入力テーブル

インデックスを付けるフィールドが含まれるテーブル

Mosaic Layer; Raster Layer; Table View
属性インデックスを追加するフィールド

インデックスが作成されるフィールドのリスト。 任意の数のフィールドを指定できます。

Field
インデックス名
(オプション)

新しいインデックスの名前。 インデックス名は、ジオデータベースのフィーチャクラスとテーブルにインデックスを追加するときに必要です。 他の入力タイプの場合、名前は無視されます。

String
一意の値
(オプション)

インデックス内の値を一意にするかどうかを指定します。

  • オフ ‐ インデックス内の値が一意ではありません。 これがデフォルトです。
  • オン - インデックス内のすべての値が一意です。

Boolean
昇順
(オプション)

値に昇順でインデックスを付けるかどうかを指定します。

  • オフ - 値に昇順でインデックスを付けません。 これがデフォルトです。
  • オン - 値に昇順でインデックスを付けます。

Boolean

派生した出力

ラベル説明データ タイプ
更新された入力テーブル

更新された入力テーブル。

Table View; Raster Layer; Mosaic Layer

arcpy.management.AddIndex(in_table, fields, {index_name}, {unique}, {ascending})
名前説明データ タイプ
in_table

インデックスを付けるフィールドが含まれるテーブル

Mosaic Layer; Raster Layer; Table View
fields
[fields,...]

インデックスが作成されるフィールドのリスト。 任意の数のフィールドを指定できます。

Field
index_name
(オプション)

新しいインデックスの名前。 インデックス名は、ジオデータベースのフィーチャクラスとテーブルにインデックスを追加するときに必要です。 他の入力タイプの場合、名前は無視されます。

String
unique
(オプション)

インデックス内の値を一意にするかどうかを指定します。

  • NON_UNIQUEインデックス内の値が一意ではありません。 これがデフォルトです。
  • UNIQUEインデックス内のすべての値が一意です。
Boolean
ascending
(オプション)

値に昇順でインデックスを付けるかどうかを指定します。

  • NON_ASCENDING値に昇順でインデックスを付けません。 これがデフォルトです。
  • ASCENDING値に昇順でインデックスを付けます。
Boolean

派生した出力

名前説明データ タイプ
out_table

更新された入力テーブル。

Table View; Raster Layer; Mosaic Layer

コードのサンプル

AddIndex (インデックスの追加) の例 1 (Python ウィンドウ)

次のコードは、Python の対話形式のウィンドウで AddIndex 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data/input/indices.sde"
arcpy.management.AddIndex("gdb.USER1.lakes", ["NAME", "geocompID"], "NGIndex", 
                          "UNIQUE", "ASCENDING")
AddIndex (インデックスの追加) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、指定したフィールドに属性インデックスを作成する方法を示しています。

# 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"

# Create an attribute index for the few fields listed in command.
arcpy.management.AddIndex("counties.shp", ["NAME", "STATE_FIPS", "CNTY_FIPS"], 
                          "#", "NON_UNIQUE", "NON_ASCENDING")
arcpy.management.AddIndex("mexico.gdb/land/lakes", ["NAME", "geocompID"], 
                          "NGIndex", "NON_UNIQUE", "NON_ASCENDING")

関連トピック