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 binaire de géométries 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, l'index spatial n'utilise pas de grilles avec les types spatiaux SQL Server.
Mode de gestion par ArcGIS des index dans les géodatabases fichier et ArcSDE
ArcGIS recrée automatiquement l'index spatial, à la fin de certaines opérations dans les géodatabases d'entreprise et fichier, 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 avec l'assistant Nouvelle classe d'entités, un index spatial est créé. L'index spatial est utilisé lors de toute modification ou de toute application de la ou des commandes Charger les données.
- 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 d'entreprise ou fichier, 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éotabase d'entreprise ou fichier, 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 dans les géodatabases fichier et ArcSDE
Comme ArcGIS gère l'index spatial dans des géodatabases d'entreprise et fichier, vous avez rarement besoin de recréer manuellement cet index. Ce n'est recommandé que dans la situation suivante, plutôt rare :
- Recalculez l'index 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é.