Ajouter un index spatial (Gestion des données)
Récapitulatif
Ajoute un index spatial à un shapefile, une géodatabase fichier ou une classe d'entités ArcSDE. Utilisez cet outil soit pour ajouter un index spatial à un shapefile ou une classe d'entités qui n'en a pas déjà un, soit pour régénérer un index spatial existant.
Utilisation
ArcGIS utilise des indexes spatiaux pour localiser rapidement les entités dans les classes d'entités. Pour identifier une entité, sélectionner des entités en pointant ou en traçant un cadre et effectuer des déplacements et des zooms, vous devez disposer d'ArcMap afin d'utiliser l'index spatial pour localiser les entités. L'index spatial est défini à l'aide d'un système basé sur une grille qui couvre l'étendue des entités d'une classe d'entités, comparable à la grille de localisateur que vous pouvez voir sur une carte routière classique.
Par défaut, ArcGIS crée et gère un index spatial pour les classes d'entités de géodatabase. Pour qu'une classe d'entités de géodatabase n'ait pas d'index spatial, vous devez le supprimer explicitement à l'aide de l'outil Supprimer un index spatial.
Les paramètres Grille spatiale 1, 2 et 3 s'appliquent seulement aux géodatabases fichier et à certaines classes d'entités de géodatabase ArcSDE (celles qui utilisent le stockage binaire SQL Server, DB2, le stockage binaire Oracle ou Oracle ST_Geometry).
- Si vous êtes peu familier avec la définition de tailles de grille spatiale ou si vous ne savez pas quelles valeurs utiliser, utilisez les valeurs par défaut 0,0,0. Lorsque les valeurs par défaut sont entrées, cet outil calcule une taille de grille optimale en examinant toutes les entités en entrée.
- Les shapefiles et certaines classes d'entités de géodatabase ArcSDE (celles qui utilisent Oracle Spatial, Informix et PostgreSQL) n'utilisent pas d'index spatiaux basés sur les tailles de grille ; par conséquent, aucune valeur de grille spatiale ne doit être spécifiée.
- Les classes d'entités de géodatabase personnelle reçoivent une taille de grille d'index spatial basée sur les propriétés de référence spatiale de la classe d'entités. Cette grille d'index ne peut pas être remplacée, supprimée ou modifiée.
- Grille spatiale 1 est le premier, ou plus bas, niveau de grille et il a la plus petite taille de cellule. Les cellules sont carrées et la valeur de paramètre que vous entrez est la longueur d'un côté. L'unité de mesure est celle de la référence spatiale de la classe d'entités (par exemple, mètres). Grille spatiale 2 doit être au moins trois fois plus grand que Grille spatiale 1 et Grille spatiale 3 au moins trois fois plus grand que Grille spatiale 2.
Si les Entités en entrée ont déjà un index spatial, Grille spatiale 1, 2, 3 affiche les valeurs de d'index spatial courantes. Si vous entrez 0,0,0 pour les paramètres d'index spatial et exécutez cet outil, la taille de grille optimale est calculée et l'index est régénéré. Vous pouvez ensuite afficher la taille de grille calculée en rouvrant cet outil et en entrant à nouveau la classe d'entités ou la couche (vous devez alors cliquer sur Annuler, puisque vous n'avez pas besoin de régénérer l'index). Vous pouvez également utiliser l'outil Calculer la valeur (de grille) d'index spatial par défaut pour calculer des tailles de grille optimales.
-
L'ajout d'un nouvel index spatial à une classe d'entités ArcSDE est une opération consommatrice de ressources du serveur. Elle ne doit pas être effectuée sur de grandes classes d'entités lorsqu'un grand nombre d'utilisateurs sont connectés au serveur.
- Pour plus d'informations sur les index spatiaux, reportez-vous aux rubriques suivantes :
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Classe d'entités ArcSDE, classe d'entités de géodatabase fichier ou shapefile auquel un index spatial doit être ajouté ou régénéré. | Feature Layer; Mosaic Layer; Raster Catalog Layer |
spatial_grid_1 (Facultatif) | Les paramètres Grille spatiale 1, 2 et 3 s'appliquent uniquement à la géodatabase fichier et à certaines classes d'entités de géodatabase ArcSDE. Si vous êtes peu familier avec la définition de tailles de grille, laissez les valeurs 0,0,0 pour ces options et ArcGIS calculera des tailles optimales pour vous. | Double |
spatial_grid_2 (Facultatif) |
Taille de cellule du deuxième index spatial. Laissez la taille à 0 si vous souhaitez seulement une grille. Sinon, définissez la taille sur une valeur au moins trois fois supérieure à Grille spatiale 1. | Double |
spatial_grid_3 (Facultatif) |
Taille de cellule du troisième index spatial. Laissez la taille à 0 si vous souhaitez seulement deux grilles. Sinon, définissez la taille sur une valeur au moins trois fois supérieure à Grille spatiale 2. | Double |
Exemple de code
Le script de fenêtre Python suivant illustre l'utilisation de la fonction AddSpatialIndex en mode immédiat.
import arcpy
import arcpy.env as ENV
ENV.workspace = "Database Connections/Connection to esoracle.sde"
arcpy.AddSpatialIndex_management("LPI.Land/LPI.PLSSFirstDivision", 500)
Le script Python ci-dessous illustre l'utilisation de la fonction AddSpatialIndex dans un script autonome.
# 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)