デフォルト空間グリッド インデックスの計算(Calculate Default Spatial Grid Index) (データの管理)
サマリ
入力フィーチャクラスの一連の有効なグリッド インデックスの値(空間グリッド 1、2、3)を計算します。グリッド インデックスの値は、入力フィーチャで空間グリッド インデックスがサポートされていない場合でも計算されます。
空間インデックスの詳細使用法
グリッド インデックスの値はツールからのメッセージとして返されます。この値は、ジオプロセシングの [結果] ウィンドウで確認できます。あるいは、ツール実行の result オブジェクトにアクセスして、スクリプトで値を変数に割り当てることもできます。
-
[入力フィーチャ] の空間グリッド インデックスはこのツールによって更新されません。ファイル ジオデータベースまたは SDE ジオデータベースのフィーチャクラスの空間グリッド インデックスは、[空間インデックスの追加 (Add Spatial Index)] ツールを使用するか、フィーチャクラスのプロパティ ページの [インデックス] タブで変更することができます。
-
このツールによって返される一連の値は、[空間インデックスの追加 (Add Spatial Index)] ツールや [フィーチャのコピー (Copy Features)] ツールで使用したり、[出力データの空間グリッド] 環境設定に使用したりすることができます。
-
返されるグリッド サイズは、入力フィーチャ内の空間参照、平均フィーチャ サイズ、およびフィーチャ数に基づきます。
構文
パラメータ | 説明 | データ タイプ |
in_features |
有効な空間グリッド インデックスを計算する対象となるフィーチャ | Feature Layer; Raster Catalog Layer |
コードのサンプル
次の Python ウィンドウ スクリプトで、CalculateDefaultGridIndex (デフォルト空間グリッド インデックスの計算)関数をイミディエイト モードで使用する方法を示します。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.CalculateDefaultGridIndex_management("rivers.shp")
次のスタンドアロン スクリプトでは、CalculateDefaultGridIndex (デフォルト空間グリッド インデックスの計算)関数をワークフローで使用して、FC の空間インデックスを更新します。
# Name: UpdateSI_Example.py # Description: Use Calculate Default Grid Index to update the spatial index of a FC # Author: ESRI # Import system modules import arcpy from arcpy import env # Set the workspace env.workspace = "C:/data/data.gdb" # Set local parameters inFeatures = "river" try: # Get the grid sizes from the tool, this is a string with 3 semi-colon seperated values (typically something like "1500; 0; 0") result = arcpy.CalculateDefaultGridIndex_management(inFeatures) indexGrids = [] for count in range(0, result.outputCount): indexGrids.append(result.getOutput(count)) # First remove the existing grid index try: arcpy.RemoveSpatialIndex_management(inFeatures) except: # if no index exists, RemoveSpaitalIndex will fail, but just keep going pass # Now add the indexes calculated by the tool arcpy.AddSpatialIndex_management(inFeatures, indexGrids) except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.args[0]