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