ERREUR

The spatial index grid size is invalid (La taille de la grille de l’index spatial n’est pas valide.)

Last Published: April 25, 2020

Message d’erreur

Remarque : Cet article concerne ArcGIS versions 9.x. Les versions plus récentes d’ArcGIS sont susceptibles d’inclure des fonctionnalités différentes, des fonctionnalités qui portent d’autres noms et figurent à des endroits différents dans les menus, les commandes et les outils de géotraitement.

Lorsque vous créez une nouvelle entité à l’aide de la méthode CreateFeature ou Store, ou que vous utilisez InsertCursor, la création échoue avec l’erreur suivante :

FDO_E_INVALID_GRID_SIZE -2147216894 La taille de la grille de l’index spatial n’est pas valide.

Cause

L’erreur FDO_E_INVALID_GRID_SIZE est émise car la taille de grille de la classe d’entités dans laquelle l’entité est créée est trop petite pour gérer l’entité. Cette erreur se produit uniquement avec les géodatabases fichier ou ArcSDE.

Solution ou alternative

En fonction du message d’erreur émis, il existe deux moyens de gérer ce problème.

  • Si cette erreur est rencontrée lors d’une mise à jour dans ArcMap, recalculez ou modifiez la taille de grille de la classe d’entités pour l’adapter à la nouvelle entité. Le recalcul de la taille de grille doit être effectué dans la boîte de dialogue Feature Class properties (Propriétés de la classe d’entités) dans ArcCatalog. Cette opération requiert l’utilisation de la fonction Stop Editing (Fermer la session de mise à jour). Enregistrez les mises à jour et fermez la carte contenant la classe d’entités. Pour connaître la procédure de recalcul ou de modification de la taille de grille d’une classe d’entités, reportez-vous à la rubrique ArcMap : Recréer un index spatial.
  • Si cette erreur survient par programmation via l’API ArcObjects, il n’est pas conseillé de notifier l’utilisateur pour qu’il modifie manuellement l’index spatial. Au lieu de cela, il convient d’empêcher cette erreur en plaçant la classe d’entités en mode LoadOnly avant l’insertion de l’entité. Lorsque la classe d’entités est retiré du mode LoadOnly, la géodatabase recalcule automatiquement une taille de grille appropriée. Le code suivant illustre l’utilisation du mode LoadOnly avec une classe d’entités :
'Place the feature class in loadonly mode. This step must be done before calling IFeature.Store or IFeatureCuror.InsertCursor Dim pFCLoad As IFeatureClassLoad Set pFCLoad = pFeatureClass pFCLoad.LoadOnlyMode = True 'Create feature buffer Dim pFeatBuffer As IFeatureBuffer Set pFeatBuffer = pFeatureClass.CreateFeatureBuffer Set pFeatBuffer.Shape = pGeometry 'Create insert cursor and insert buffer Dim pCursor As IFeatureCursor Set pCursor = pFeatureClass.Insert(True) 'Insert the feature and call flush pCursor.InsertFeature pFeatBuffer pCursor.Flush 'Take the feature class out of loadonly mode, and the Geodatabase calculates an appropriate grid size based on the features in the feature class pFCLoad.LoadOnlyMode = False

ID d’article:000010090

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Télécharger l’application Esri Support

Accéder aux options de téléchargement

Informations associées

En savoir plus sur ce sujet