Vous trouverez ci-dessous des suggestions pour récupérer un shapefile corrompu. Elles sont indiquées selon l’ordre dans lequel elles doivent être appliquées. Les causes les plus courantes de corruption sont notamment le blocage d’un ordinateur pendant l’enregistrement de mises à jour, l’ajout d’une géométrie non valide (par exemple un nœud papillon) et la modification de la table attributaire avec un autre logiciel, tel que Microsoft Excel. Si les suggestions indiquées ci-dessous ne permettent pas de récupérer le shapefile, restaurez la sauvegarde.
- Utilisez l’outil de géotraitement Vérifier les géométries. Les problèmes de données sont signalés lors de l’exécution de l’outil ou dans la table en sortie. Affichez la table en sortie après l’exécution. Une table vide indique que l’outil n’a détecté aucune géométrie erronée. Si une géométrie erronée est signalée, utilisez l’outil de géotraitement Réparer les géométries.
- Exécutez l’outil Réparer les géométries. Après l’exécution de l’outil Réparer les géométries, exécutez l’outil Vérifier les géométries pour vous assurer que toutes les entités corrompues ont été supprimées. Répétez ce processus autant de fois que nécessaire.
- Exportez les données dans une géodatabase, puis copiez-les dans un nouveau shapefile.
- Sélectionnez toutes les entités ou un sous-ensemble d’entre elles et exportez les entités sélectionnées dans un nouveau shapefile ou une nouvelle classe d’entités.
- Si les données se trouvent sur un lecteur réseau, copiez-les sur un disque local. Si les données se trouvent sur un disque local, essayez d’abord de les copier à la racine du lecteur principal, par exemple C:\.
- Recherchez les noms de champ non valides dans la table attributaire. Les noms de champ ne peuvent avoir que 10 caractères. Le nom des champs doit commencer par une lettre. Les noms de champ ne doivent pas contenir d’espaces ou de caractères spéciaux à l’exception du caractère de soulignement.
- Les noms de fichier ne doivent pas contenir de caractères spéciaux à l’exception du caractère de soulignement. En règle générale, les espaces dans les noms de shapefile fonctionnent dans ArcGIS Desktop. Toutefois, à des fins de test, renommez le shapefile pour qu’il ne comporte aucun espace.
- Supprimez tous les fichiers d’index (spatiaux, attributaires et de géocodage), de projection et de métadonnées dans l’Explorateur Windows. En d’autres termes, supprimez tous les fichiers hormis .shp, .dbf et .shx. Créez une copie de chacun de ces fichiers avant de les supprimer.
- Ouvrez le shapefile sur un autre ordinateur.
- Ouvrez le shapefile avec une autre version de l’application logicielle. S’il peut être ouvert, enregistrez-le en tant que nouveau shapefile en exportant les entités sélectionnées vers un nouveau shapefile ou une nouvelle classe d’entités.
- Copiez les données dans une nouvelle classe d’entités à l’aide du chargeur de données simples ou en copiant les entités dans une session de mise à jour ArcMap. Si le shapefile ne contient pas beaucoup d’entités, copiez-les individuellement ou par groupes pour déterminer si certaines d’entre elles sont corrompues. Une fois les entités copiées, enregistrez vos mises à jour. Vérifiez si le problème a été résolu.
- Si les données ne sont toujours pas réparées et que les deux premières suggestions ci-dessus ont signalé les ID d’entité des enregistrements erronés, essayez de les supprimer manuellement dans une session de mise à jour.
- Importez la partie .dbf du shapefile dans Microsoft Excel et enregistrez-la en tant que fichier dBASE 4. N’apportez aucune autre modification au fichier.
- Essayez de réaliser un calcul de champ dans ArcGIS Desktop à l’aide de la calculatrice de valeurs de champs. La calculatrice de valeurs de champs peut s’arrêter sur l’enregistrement corrompu.
- Supprimez tous les champs du shapefile hormis FID, Shape et un champ attributaire (les shapefiles doivent comporter au moins un champ attributaire). Si le problème persiste, ajoutez un nouveau champ de chaîne et supprimez le dernier champ attributaire restant. Si le problème est résolu, le problème est inhérent à l’un des champs. Restaurez le shapefile de sauvegarde et utilisez un processus d’élimination pour identifier le champ corrompu.