Modifier un indice spatial

La fonctionnalité est limitée dans la version Basic.

Pour tous les autres types spatiaux et de géodatabases, vous devez rarement gérer l’index spatial. Cependant, si vous remarquez une diminution de la performance de la requête spatiale après l’ajout ou la suppression d’un grand nombre d’entités, vous pouvez vous référer à la performance de la requête spatiale améliorée si vousregénérez (Oracle) ou recréez l’index spatial dans la classe d’entités affectée.

Vous pouvez être amené à modifier l’indice spatial d’une classe d’entités dans les cas suivants :

  • Si vous constatez une dégradation des performances lorsque vous utilisez la classe d’entités, reconstruisez ou recalculez l’indice spatial.
  • Si vous avez ajouté ou supprimé un grand nombre d’entités dans SQL Server et que le type de données spatiales de la classe d’entités est Géométrie, validez l’indice spatial pour déterminer si vous avez besoin de le recalculer ou si vous devez plutôt mettre à jour l’étendue de la classe d’entités.
    Astuce :

    Vous pouvez voir le type de stockage de géométrie utilisé pour votre classe d’entités en consultant la propriété Storage (Stockage) sous l’onglet Source de la boîte de dialogue Feature Class Properties (Propriétés de la classe d’entités).

  • Vous souhaitez ajouter ou copier un grand nombre d’entités à une classe d’entités existante. Dans ce cas, vous pouvez supprimer l’indice spatial avant d’ajouter les données. Cela n’est pas obligatoire, mais supprimer l’indice spatial permet d’optimiser les performances de chargement des données. Créez un nouvel indice spatial une fois les entités ajoutées.
Remarque :

La reconstruction, le recalcul ou la création d’un indice spatial pour une classe d’entités dans une géodatabase d’entreprise est une opération consommatrice de ressources du serveur. Elle ne doit pas être effectuée sur de grandes classes d'entités lorsque de nombreux utilisateurs sont connectés au serveur.

Notez également que ArcGIS Desktop Advanced ou Desktop Standard doit être installé pour modifier l’indice spatial d’une classe d’entités dans une géodatabase d’entreprise.

Reconstruire ou recalculer un indice spatial

Pour reconstruire ou recalculer un indice spatial sur une classe d’entités dans une géodatabase fichier ou une géodatabase d’entreprise dans Oracle, Db2, PostgreSQL ou SQL Server (à l’aide du type spatial Géographie), procédez comme suit :

  1. Dans la fenêtre Catalog (Catalogue), connectez-vous à la géodatabase qui contient la classe d’entités avec l’indice spatial à modifier.

    Pour les géodatabases d’entreprise, connectez-vous en tant que propriétaire de la classe d’entités.

  2. Cliquez avec le bouton droit de la souris sur la classe d'entités et choisissez Propriétés.
  3. Cliquez sur l'onglet Index.
  4. Développez la section Index spatial.
  5. Cliquez sur Recalculate (Recalculer) (ou Rebuild (Reconstruire) si votre classe d’entités est dans Oracle).
    L’indice recalculé reflète les données actuelles.
  6. Cliquez sur OK pour fermer la boîte de dialogue Feature Class Properties (Propriétés de la classe d’entités).

Valider un indice spatial dans SQL Server (Géométrie)

Pour savoir si vous devez recalculer l’indice spatial ou l’étendue dans une classe d’entités aux faibles performances qui utilise le type spatial Géométrie dans SQL Server, validez l’indice spatial.

  1. Dans la fenêtre Catalog (Catalogue), connectez-vous à la géodatabase qui contient la classe d’entités avec l’indice spatial à modifier.

    Pour les géodatabases d’entreprise, connectez-vous en tant que propriétaire de la classe d’entités.

  2. Cliquez avec le bouton droit de la souris sur la classe d'entités et choisissez Propriétés.
  3. Cliquez sur l'onglet Index.
  4. Développez la section Index spatial.
  5. Cliquez sur Validate (Valider) pour savoir s’il est nécessaire de recalculer l’indice spatial. La validation renvoie l’un des messages suivants :
    • The spatial index bounding box matches the feature class extent. (La zone de contour de l’indice spatial correspond à l’étendue de la classe d’entités.) : si vous recevez ce message, il n’est pas nécessaire de recalculer l’indice spatial. Cliquez sur OK pour fermer la boîte de dialogue Feature Class Properties (Propriétés de la classe d’entités).
    • The spatial index bounding box and feature class extent do not match. (La zone de contour de l’indice spatial et l’étendue de la classe d’entités ne correspondent pas.) Recalculate the spatial index. (Recalculez l’indice spatial.) : si vous recevez ce message, cliquez sur Recalculate (Recalculer).
    • The spatial index bounding box and feature class extent do not match. (La zone de contour de l’indice spatial et l’étendue de la classe d’entités ne correspondent pas.) Run the Recalculate Feature Class Extent geoprocessing tool. (Exécutez l’outil de géotraitement Recalculer l’étendue de la classe d’entités.) : si vous recevez ce message, cliquez sur OK pour fermer la boîte de dialogue Feature Class Properties (Propriétés de la classe d’entités) et exécutez l’outil Recalculate Feature Class Extent (Recalculer l’étendue de la classe d'entités) sur cette classe d’entités.

Supprimer un indice spatial

Si vous souhaitez ajouter un grand nombre d’entités dans une classe d’entités existante en une seule opération, vous pouvez supprimer l’indice spatial pour réduire le nombre d’opérations nécessaires pour ajouter les nouvelles entités. Une fois les nouvelles entités ajoutées, veillez à créer un indice spatial dans la classe d’entités.

  1. Dans la fenêtre Catalog (Catalogue), connectez-vous à la géodatabase qui contient la classe d’entités avec l’indice spatial à supprimer.

    Pour les géodatabases d’entreprise, connectez-vous en tant que propriétaire de la classe d’entités.

  2. Cliquez avec le bouton droit de la souris sur la classe d'entités et choisissez Propriétés.
  3. Cliquez sur l'onglet Index.
  4. Développez la section Index spatial.
  5. Cliquez sur Delete (Supprimer) et sur OK pour fermer la boîte de dialogue Feature Class Properties (Propriétés de la classe d’entités).
  6. Ajoutez ou copiez des lignes dans la classe d’entités.
  7. Rouvrez la boîte de dialogue Feature Class Properties (Propriétés de la classe d’entités) de la classe d’entités, développez la section Spatial Index (Indice spatial) et cliquez sur Create (Créer).

    Un nouvel indice spatial est ajouté à la classe d’entités. Il inclut les entités récemment ajoutées.

  8. Cliquez sur OK pour fermer la boîte de dialogue Feature Class Properties (Propriétés de la classe d’entités).