空間インデックスの変更

Basic では機能が制限されています。

その他のすべてのジオデータベースおよび空間タイプで、空間インデックスを管理する必要はほとんどありません。ただし、多数のフィーチャを追加または削除した後に空間クエリのパフォーマンスが低下する場合は、影響を受けているフィーチャクラスで空間インデックスを再構築 (Oracle) または再作成することで、空間クエリのパフォーマンスが向上することがあります。

次に示す状況では、フィーチャクラスの空間インデックスの変更が必要となることがあります。

  • フィーチャクラスを使用すると、パフォーマンスが低下する場合は、空間インデックスの再構築または再計算を実行します。
  • SQL Server で多数のフィーチャを追加/削除し、フィーチャクラスの空間データ タイプが Geometry の場合は、空間インデックスの整合チェックを行って、空間インデックスを再計算するか、代わりにフィーチャクラスの範囲を更新するかを決定します。
    ヒント:

    フィーチャクラスに使用されているジオメトリ格納タイプは、[フィーチャクラス プロパティ] ダイアログ ボックスの [ソース] タブにある [ストレージ] プロパティで確認できます。

  • 多数のフィーチャを既存のフィーチャクラスに追加またはコピーします。この場合には、データを追加する前に、空間インデックスを削除しておくことができます。これは必須ではありませんが、空間インデックスを削除すると、データの読み込み操作のパフォーマンスが上がることがあります。フィーチャの追加が終了したら、新しい空間インデックスを作成します。
メモ:

エンタープライズ ジオデータベース内のフィーチャクラスに対して空間インデックスを再構築、再計算、または作成する操作は、サーバーに大きな負荷がかかります。大勢のユーザーがサーバーにログインしているときには、この操作を大きなフィーチャクラスに対して実行しないでください。

エンタープライズ ジオデータベース内のフィーチャクラスの空間インデックスを変更する場合には、ArcGIS Desktop Advanced または Desktop Standard も必要となることに注意してください。

空間インデックスの再構築または再計算

Oracle、DB2、PostgreSQL、SQL Server (Geography 空間タイプを使用) のファイル ジオデータベースまたはエンタープライズ ジオデータベース内のフィーチャクラスの空間インデックスを再構築/再計算するには、次の手順に従ってください。

  1. [カタログ] ウィンドウで、変更対象の空間インデックスを含むフィーチャクラスが格納されているジオデータベースに接続します。

    エンタープライズ ジオデータベースの場合は、フィーチャクラスの所有者として接続します。

  2. フィーチャクラスを右クリックし、[プロパティ] をクリックします。
  3. [インデックス] タブをクリックします。
  4. [空間インデックス] セクションを展開します。
  5. [再計算] (または、フィーチャクラスが Oracle 内にある場合は [再構築]) をクリックします。
    再計算されたインデックスは、現在のデータに反映されます。
  6. [OK] をクリックして [フィーチャクラス プロパティ] ダイアログ ボックスを閉じます。

SQL Server 内の空間インデックスの整合チェック (Geometry)

SQL Server 内で Geometry 空間タイプを使用しているパフォーマンスの低いフィーチャクラスの空間インデックスまたは空間範囲を再計算するかどうかを決定するには、その空間インデックスの整合チェックを実行します。

  1. [カタログ] ウィンドウで、変更対象の空間インデックスを含むフィーチャクラスが格納されているジオデータベースに接続します。

    エンタープライズ ジオデータベースの場合は、フィーチャクラスの所有者として接続します。

  2. フィーチャクラスを右クリックし、[プロパティ] をクリックします。
  3. [インデックス] タブをクリックします。
  4. [空間インデックス] セクションを展開します。
  5. [整合チェック] をクリックして、空間インデックスを再計算する必要があるかどうかを決定します。整合チェックを実行すると、次のメッセージのいずれかが返されます。
    • 空間インデックスのバウンディング ボックスが、フィーチャクラスの範囲と一致しています。- このメッセージを受け取った場合、空間インデックスを再計算する必要はありません。[OK] をクリックして [フィーチャクラス プロパティ] ダイアログ ボックスを閉じます。
    • 空間インデックスのバウンディング ボックスとフィーチャクラスの範囲が一致していません。空間インデックスを再計算します。- このメッセージを受け取った場合は、[再計算] をクリックします。
    • 空間インデックスのバウンディング ボックスとフィーチャクラスの範囲が一致していません。[フィーチャクラスの範囲の再計算 (Recalculate Feature Class Extent)] ジオプロセシング ツールを実行します。- このメッセージを受け取った場合は、[OK] をクリックして [フィーチャクラス プロパティ] ダイアログ ボックスを閉じた後、このフィーチャクラスに対して [フィーチャクラスの範囲の再計算 (Recalculate Feature Class Extent)] ジオプロセシング ツールを実行します。

空間インデックスの削除

1 回の操作で多数のフィーチャを既存のフィーチャクラスに追加する場合、空間インデックスを削除しておくと、新しいフィーチャの追加にかかる時間を短縮できます。新しいフィーチャを追加したら、必ずフィーチャクラスの空間インデックスを作成しなければなりません。

  1. [カタログ] ウィンドウで、削除対象の空間インデックスを含むフィーチャクラスが格納されているジオデータベースに接続します。

    エンタープライズ ジオデータベースの場合は、フィーチャクラスの所有者として接続します。

  2. フィーチャクラスを右クリックし、[プロパティ] をクリックします。
  3. [インデックス] タブをクリックします。
  4. [空間インデックス] セクションを展開します。
  5. [削除] をクリックしてから [OK] をクリックして、[フィーチャクラス プロパティ] ダイアログ ボックスを閉じます。
  6. そのフィーチャクラスに行を追加またはコピーします。
  7. そのフィーチャクラスの [フィーチャクラス プロパティ] ダイアログ ボックスをもう一度開き、[空間インデックス] セクションを展開して [作成] をクリックします。

    そのフィーチャクラスに新しい空間インデックスが追加され、新規に追加したフィーチャが含まれます。

  8. [OK] をクリックして [フィーチャクラス プロパティ] ダイアログ ボックスを閉じます。