ArcGIS パフォーマンス Tips : 空間インデックスと属性インデックス

ArcGIS Desktop で地図の描画パフォーマンスを向上させる方法はいくつかありますが、今回は、空間インデックスと属性インデックスによるパフォーマンス ヒントをご紹介します。
注) 本記事でご説明する操作手順は、シェープファイルの空間/属性インデックスを対象としています。

■空間インデックス
空間インデックスを作成することにより、フィーチャの描画や操作時に高いレベルのパフォーマンスを維持することができます。
ArcGIS Desktop で新規にデータセット(シェープファイルなど)を作成する場合は自動的に空間インデックスが作成されますが、他社のソフトウェアで作成したデータには空間インデックスが含まれていない場合があります。その場合は、下記の手順により手動で空間インデックスを追加する必要があります。

1. ArcCatalog を起動します。
2. 空間インデックスを追加したいデータセットを右クリック → [プロパティ] → [インデックス] タブを選択します。
3. [空間インデックス] パネルに「空間インデックスを持っていません。」と表示されている場合は、[追加] ボタンをクリックして空間インデックスを追加します。また、空間インデックスを持っている場合でも [更新] ボタンをクリックして、最新の空間インデックスを計算することによってパフォーマンスの向上が得られる場合があります。

1_3

■属性インデックス
属性インデックスを使用すると、フィーチャやテーブルの属性値を検索したり、テーブルを結合したりするときにパフォーマンスを向上させることができます。インデックスを使用してレコードを検索するため、テーブル全体のレコードを最初から最後まで検索するよりも高速になります。

多くの場合、属性検索やテーブル結合の高速化のために属性インデックスを作成しますが、フィーチャの描画を高速化することもできます。

たとえば、下図のように「都道府県名」で個別値表示している場合は、「都道府県」フィールドに属性インデックスを作成することにより、描画パフォーマンスが向上します。
2_3

同様に、「人口」の値で数値分類表示している場合は、「人口」フィールドに属性インデックスを作成することにより、描画パフォーマンスが向上します。
3_2

1. ArcCatalog を起動します。
2. 属性インデックスを追加したいデータセットを右クリック → [プロパティ] → [インデックス] タブを選択します。
3. [属性インデックス] パネルで、属性インデックスを追加したいフィールドのチェックボックスをオンにして、[OK] をクリックします。

4_3

また、ラベル を表示している場合は、[ラベル フィールド] で指定しているフィールドに属性インデックスを作成することにより、同様の効果が得られます。

ただし、対象のフィールド値を編集すると ArcGIS が自動でインデックスを更新するため、編集セッションの操作が遅くなる場合があります。また、インデックスの数が増えるとファイル サイズも増えるため、属性インデックスの作成は必要最低限にし、頻繁に属性が更新されるフィールドにはインデックスを作成しないようにすることをお勧めします。

■関連リンク
ジオデータベースの空間インデックスの概要

属性インデックスの作成