空間インデックスの設定の概要
空間インデックスは、データの表示、編集、検索の際に、フィーチャをすばやく特定するために使用されます。このため、特に大量のデータを扱う場合には、空間インデックスが設定されていることが重要となります。
空間インデックスの動作は、データ ソースによって異なります。パーソナル、ファイル、および DB2 のエンタープライズ ジオデータベース、Oracle および SQL Server のエンタープライズ ジオデータベースは、バイナリ ジオメトリ格納を使用し、ST_Geometry 格納を使用する Oracle のエンタープライズ ジオデータベースは、グリッドに基づく空間インデックスを使用します。Oracle Spatial、および PostgreSQL はグリッド サイズを使用せず、R ツリー インデックスを使用します。同様に、SQL Server の空間タイプでも空間インデックスはグリッドを使用しません。
ファイル ジオデータベースと ArcSDE ジオデータベースでの空間インデックスの管理方法
ArcGIS は、ファイル ジオデータベースおよびエンタープライズ ジオデータベースでの特定の操作の最後に空間インデックスを自動的に再構築して、空間インデックスを最適な状態に保ちます。次に、ArcGIS が空間インデックスを管理する方法を示します。
- [フィーチャクラスの新規作成] ウィザードで空のフィーチャクラスを作成すると、空間インデックスが作成されます。空間インデックスは、編集時または [データの読み込み] コマンドの使用時に使用されます。
- パーソナル ジオデータベース、シェープファイル、またはカバレッジからデータをインポートする場合、あるいは CAD/SDC データをファイルまたはエンタープライズ ジオデータベースにインポートする場合には、新しいフィーチャクラスの空間インデックスが自動的に計算されます。
- ArcCatalog の [コピー] コマンドと [貼り付け] コマンドを使用して、パーソナル ジオデータベースのフィーチャクラスをファイルまたはエンタープライズ ジオデータベースにコピーすると、空間インデックスが自動的に再構築されます。空間インデックスは、Oracle Spatial または PostgreSQL からフィーチャクラスをコピーする場合にも再構築されます。グリッドに基づくインデックスを使用するファイルまたはエンタープライズ(Oracle バイナリと ST_Geometry、SQL Server バイナリ、または DB2)からフィーチャクラスをコピーしたり、グリッドに基づくインデックスを使用する別のジオデータベースにコピーしたりする場合、インデックスはソース データとともにコピーされ、再構築されません。
- フィーチャクラスを作成するジオプロセシング ツールを使用する際には、作成されるフィーチャクラスに含まれるフィーチャを基に、新しい空間インデックスが自動的に計算されます。
- 空間インデックスを持たないフィーチャクラスで編集を保存したり、[データの読み込み] コマンドを使用したりすると、編集の保存時またはデータの読み込み操作の終了時に空間インデックスが計算されます。
- 圧縮されたファイル ジオデータベースのフィーチャクラスは、圧縮されていないフィーチャクラスとは異なるタイプの空間インデックスを使用します。ファイル ジオデータベースのフィーチャクラスを圧縮すると、空間インデックスが自動的に再計算されます。この空間インデックスを変更することはできません。フィーチャクラスの圧縮を解除すると、圧縮前と同じ空間インデックスが自動的に再構築されます。
ファイル ジオデータベースと ArcSDE ジオデータベースで空間インデックスが更新されるタイミング
ファイル ジオデータベースとエンタープライズ ジオデータベースの空間インデックスは ArcGIS によって管理されるため、空間インデックスを手動で再作成する必要はほとんどありません。手動による再作成は、以下に示すまれな状況でのみ実行することをお勧めします。
- フィーチャクラスにすでに存在するフィーチャとはサイズが異なるフィーチャを大量に追加した場合は、空間インデックスを手動で再計算します。これが当てはまるのは、編集セッションでのフィーチャの追加に限られます。たとえば、編集セッションを開始して、大量のライン フィーチャを手動で追加する、またはオブジェクト ローダーを使用してそれらを読み込むとします。追加したフィーチャの多くが、フィーチャクラスの既存のフィーチャよりもかなり長いか短い場合は、空間インデックスを新しいフィーチャで最適に機能するように更新する必要があります。
パーソナル ジオデータベースの空間インデックス
パーソナル ジオデータベースでフィーチャクラスを作成する場合は、[フィーチャクラスの新規作成] ウィザード、ジオプロセシング ツールなどの作成方法にかかわらず、空間インデックスが ArcGIS によって計算されます。計算された空間インデックスの変更はできません。空間インデックスは、フィーチャクラス座標系の水平線を基準とし、常に最適サイズになります。