空間インデックスの追加(Add Spatial Index) (データの管理)
サマリ
空間インデックスをシェープファイル、ファイル ジオデータベース、ArcSDE フィーチャクラスに追加します。このツールを使用して、空間インデックスを持たないシェープファイルまたはフィーチャクラスに空間インデックスを追加するか、既存の空間インデックスを再構築します。
使用法
ArcGIS は、空間インデックスを使用して、フィーチャクラス内のフィーチャをすばやく特定します。ArcMap でのフィーチャの個別属性表示、ポイントまたはボックスのドラッグによるフィーチャの選択、および画面移動やズームでは、空間インデックスを使用してフィーチャを特定する必要があります。空間インデックスは、一般的な道路地図に見られるロケータ グリッドと同様の、フィーチャクラス内のフィーチャの範囲全体を覆うグリッド システムを使用して定義します。
ArcGIS では、ジオデータベース フィーチャクラスの空間インデックスがデフォルトで作成され、管理されます。ジオデータベース フィーチャクラスに空間インデックスが含まれないようにするには、[空間インデックスの削除(Remove Spatial Index)] ツールを使用して明示的に削除する必要があります。
[空間グリッド 1]、[空間グリッド 2]、[空間グリッド 3] の各パラメータは、ファイル ジオデータベースおよび特定の ArcSDE ジオデータベース フィーチャクラス(SQL Server バイナリ格納、DB2、Oracle バイナリ格納、Oracle ST_Geometry のいずれかを使用するもの)のみに適用されます。
- 空間グリッド サイズの設定に詳しくない場合や、どのような値を使用するべきかわからない場合は、デフォルト値の 0,0,0 を使用してください。デフォルト値を入力すると、ツールによってすべての入力フィーチャが調べられ、最適なグリッド サイズが計算されます。
- シェープファイルおよび特定の ArcSDE ジオデータベース フィーチャクラス(Oracle Spatial、Informix、PostgreSQL を使用するもの)ではグリッド サイズに基づく空間インデックスが使用されないため、空間グリッドの値を指定する必要はありません。
- パーソナル ジオデータベースのフィーチャクラスは、フィーチャクラスの空間参照プロパティに基づいた空間インデックスのグリッド サイズを取り入れます。このインデックス グリッドのオーバーライド、削除、変更はできません。
- [空間グリッド 1] は 1 つめ、つまり最も低いグリッド レベルであり、セル サイズが最も小さくなります。各セルは正方形で、入力したパラメータ値が一辺の長さになります。計測単位は、フィーチャクラスの空間参照の単位(メートルなど)になります。[空間グリッド 2] は [空間グリッド 1] の 3 倍以上の大きさにする必要があり、[空間グリッド 3] は [空間グリッド 2] の 3 倍以上の大きさにする必要があります。
[入力フィーチャ] に空間インデックスがすでに指定されている場合、[空間グリッド 1(2、3)] には現在の空間インデックス グリッドの値が表示されます。空間グリッドのパラメータに 0,0,0 を入力してこのツールを実行すると、最適なグリッド サイズが計算され、インデックスが再構築されます。続いてこのツールを再び開き、フィーチャクラスまたはレイヤを再入力すると、計算されたグリッド サイズを確認できます(インデックスをさらに再構築する必要はないため、確認後は [キャンセル] をクリックします)。最適なグリッド サイズの計算には、[デフォルト空間グリッド インデックスの計算(Calculate Default Spatial Grid Index)] ツールを使用することもできます。
-
新しい空間インデックスを ArcSDE フィーチャクラスに追加する操作では、サーバに大きな負担がかかります。大勢のユーザがサーバにログインしているときには、この操作を大きなフィーチャクラスに対して実行しないでください。
- 空間インデックスの詳細については、以下のトピックをご参照ください。
構文
パラメータ | 説明 | データ タイプ |
in_features |
空間インデックスの追加または再構築の対象となる ArcSDE フィーチャクラス、ファイル ジオデータベースのフィーチャクラス、またはシェープファイル | Feature Layer; Mosaic Layer; Raster Catalog Layer |
spatial_grid_1 (オプション) | [空間グリッド 1(2、3)] パラメータは、ファイル ジオデータベースおよび特定の ArcSDE ジオデータベースのフィーチャクラスのみに適用されます。グリッド サイズの設定に詳しくない場合は、これらのオプションを 0,0,0 のままにします。ArcGIS によって最適なサイズが自動的に計算されます。 | Double |
spatial_grid_2 (オプション) |
2 つ目の空間グリッドのセル サイズ。1 グリッドだけ必要な場合は、このサイズを 0 のままにしておきます。それ以外の場合は、空間グリッド 1 の 3 倍以上のサイズを設定します。 | Double |
spatial_grid_3 (オプション) |
3 つ目の空間グリッドのセル サイズ。2 グリッドだけ必要な場合は、このサイズを 0 のままにしておきます。それ以外の場合は、空間グリッド 2 の 3 倍以上のサイズを設定します。 | Double |
コードのサンプル
次の Python ウィンドウ スクリプトで、AddSpatialIndex(空間インデックスの追加)関数をイミディエイト モードで使用する方法を示します。
import arcpy
import arcpy.env as ENV
ENV.workspace = "Database Connections/Connection to esoracle.sde"
arcpy.AddSpatialIndex_management("LPI.Land/LPI.PLSSFirstDivision", 500)
次の Python スクリプトで、AddSpatialIndex(空間インデックスの追加)関数をスタンドアロン スクリプトで使用する方法を示します。
# Name: AddSpatialIndex_Example2.py
# Description: Add a spatial index to a SDE feature class.
# Author: ESRI
# Import system modules
import arcpy
import arcpy.env as ENV
# Set workspace
ENV.workspace = "Database Connections/Connection to esoracle.sde"
# Set local variables
in_features = "LPI.Land/LPI.PLSSFirstDivision"
spatial_grid_1 = "500"
spatial_grid_2 = ""
spatial_grid_3 = ""
# Execute AddSpatialIndex
arcpy.AddSpatialIndex_management(in_features, spatial_grid_1)