Présentation rapide de la définition d'un index spatial
L'index spatial permet de localiser rapidement des entités lorsque vous affichez, mettez à jour ou interrogez des données. Par conséquent, il est important de créer un index spatial, notamment lorsque vous manipulez des volumes de données importants.
Les index spatiaux fonctionnent différemment selon la source de données. Les géodatabases d'entreprise, fichier et personnelles dans DB2, les géodatabases d'entreprise dans Oracle et SQL Server qui utilisent un stockage de géométries binaire et les géodatabases d'entreprise dans Oracle qui utilisent un stockage ST_Geometry ont recours à un index spatial basé sur une grille. Oracle Spatial, Informix et PostgreSQL n'utilisent pas de taille de grille, mais un index R-tree. De même, les classes d'entités qui utilisent les types spatiaux SQL Server n'utilisent pas de grille d'index spatial Esri.
Gestion des index spatiaux par ArcGIS
ArcGIS recrée automatiquement l'index spatial, à la fin de certaines opérations dans les géodatabases d'entreprise, de groupe de travail, fichier et de bureau, pour optimiser cet index. La section suivante explique comment ArcGIS gère l'index spatial :
- Lorsque vous créez une classe d'entités vide à l'aide de l'assistant Nouvelle classe d'entités, un index spatial est créé pour les géodatabases fichier, de groupe de travail, de bureau et toutes les géodatabases d'entreprise, à l'exception de celles qui se trouvent dans des bases de données DB2. L'index spatial est utilisé lors de toute modification ou de toute application de la ou des commandes Charger les données. Dans les géodatabases d'entreprise dans DB2, l'index spatial est créé une fois les données chargées dans la classe d'entités vide.
- Si vous importez des données à partir d'une géodatabase personnelle, d'un fichier de formes ou d'une couverture, ou que vous importez un dessin assisté par ordinateur (DAO) ou des données Smart Data Compression (SDC) dans une géodatabase fichier, d'entreprise, de groupe de travail ou de bureau, un index spatial est calculé automatiquement pour la nouvelle classe d'entités.
- Lorsque vous utilisez les commandes Copier et Coller d'ArcCatalog pour copier une classe d'entités à partir d'une géodatabase personnelle vers une géodatabase fichier, d'entreprise, de groupe de travail ou de bureau, l'index spatial est automatiquement recréé. L'index spatial est également recréé si vous copiez une classe d'entités depuis Oracle Spatial, PostgreSQL ou Informix. Si vous copiez une classe d'entités d'une géodatabase d'entreprise ou fichier qui utilise un index basé sur une grille (types Oracle binaire et ST_Geometry, SQL Server binaire ou DB2) vers une autre géodatabase utilisant également un index basé sur une grille, cet index est copié avec les données sources et non recalculé.
- Lorsque vous utilisez un outil de géotraitement qui crée une classe d'entités, les entités de la nouvelle classe d'entités sont examinées et un nouvel index spatial est calculé automatiquement.
- Lorsque vous enregistrez vos modifications ou utilisez des commandes Charger les données sur une classe d'entités ne présentant aucun index spatial, ce type d'index est calculé à votre place, à la fin de l'opération d'enregistrement des modifications ou de chargement des données.
- Les classes d'entités de géodatabase fichier compressées n'utilisent pas le même type d'index spatial que les classes d'entités non compressées. Lorsque vous compressez une classe d'entités de géodatabase fichier, elle est automatiquement réindexée. Cet index ne peut pas être modifié. Lorsque vous décompressez la classe d'entités, le même index spatial que la classe d'entités avait avant la compression est rétabli automatiquement.
Quand mettre à jour l'index spatial
Comme ArcGIS gère l'index spatial dans les géodatabases fichier, d'entreprise, de groupe de travail et de bureau, vous devez rarement recréer l'index manuellement. La recréation de l'index spatial est recommandée uniquement dans les cas suivants, qui restent rares :
- Recalculez l'index spatial manuellement après avoir ajouté un grand nombre d'entités dont la taille est différente de celle des entités déjà présentes dans la classe d'entités. Cela s'applique exclusivement à l'ajout d'entités lors de sessions de mise à jour. Par exemple, vous avez pu démarrer une session de mise à jour et ajouter manuellement un grand nombre d'entités linéaires ou avoir utilisé le Chargeur d'objets pour les charger. Beaucoup des entités que vous avez ajoutées sont considérablement plus longues ou plus courtes que les entités figurant déjà dans la classe d'entités. L'index spatial doit être mis à jour pour garantir qu'il fonctionne de manière optimale avec les nouvelles entités.
Index spatiaux dans les géodatabases personnelles
Chaque fois que vous créez une classe d'entités dans une géodatabase personnelle à l'aide de l'assistant Nouvelle classe d'entités, d'un outil de géotraitement ou de toute autre méthode, l'index spatial est calculé par ArcGIS et ne peut pas être modifié. L'index spatial est basé sur l'horizon du système de coordonnées de classe d'entités ; il sera toujours optimisé.