Calculer la valeur (de grille) d'index spatial par défaut (Gestion des données)
Récapitulatif
Calcule un ensemble de valeurs de grille d'index valides (index spatial 1, 2 et 3) pour les entités en entrée. Les valeurs de grille d'index sont calculées même si les entités en entrée ne prennent pas en charge l'indexation spatiale.
Pour en savoir plus sur les index spatiauxUtilisation
Les valeurs d'index de grille sont renvoyées par l'outil en tant que message. Il est possible d'afficher les valeurs dans la fenêtre de géotraitement Résultats ou d'attribuer la valeur à une variable dans des scripts en accédant à l'objet result lors de l'exécution de l'outil.
-
La valeur d'index spatial des Entités en entrée n'est pas mise à jour par l'outil. Les valeurs de grille d'index spatial de classe d'entités de géodatabase fichier ou SDE peuvent être modifiées à l'aide de l'outil Ajouter un index spatial ou dans la page de propriétés de classe d'entités sous l'onglet Index.
-
L'ensemble de valeurs renvoyées par l'outil peut être utilisé avec les outils Ajouter un index spatial ou Copier des entités, ou dans les paramètres d'environnement Grille en sortie.
-
La taille de grille renvoyée est basée sur la référence spatiale, la taille d'entité moyenne et le nombre d'entités dans les entités en entrée.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Entités pour lesquelles une valeur de grille d'index spatial valide sera calculée. | Feature Layer; Raster Catalog Layer |
Exemple de code
Le script de fenêtre Python suivant illustre l'utilisation de la fonction CalculateDefaultGridIndex en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CalculateDefaultGridIndex_management("rivers.shp")
Le script autonome suivant utilise la fonction CalculateDefaultGridIndex dans un workflow pour mettre à jour l'index spatial d'un 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]