以下将介绍有关修复损坏的 shapefile 的建议。 这些建议将按照预定执行的顺序列出。 常见损坏原因包括:保存编辑内容时计算机崩溃;添加无效几何,例如,蝴蝶结;以及使用其他软件(例如,Microsoft Excel)修改属性表。 如果下面列出的建议无法修复 shapefile,请恢复为备份。
- 使用检查几何地理处理工具。 在工具执行时或者在输出表中报告数据问题。 执行后,请查看输出表。 空表指示该工具未发现任何错误几何。 如果报告了错误几何,请使用修复几何地理处理工具。
- 运行修复几何工具。 运行修复几何工具后,运行检查几何工具以确保已移除所有损坏的要素。 根据需要多次重复此过程。
- 将数据导出至地理数据库,然后将其复制到新的 shapefile。
- 选择全部或部分要素,并将所选要素导出至新的 shapefile 或要素类。
- 如果数据位于网络驱动器上,请将其复制到本地驱动器。 如果数据位于本地驱动器上,请尝试将其复制到主驱动器的根目录;例如,C:\。
- 检查属性表中是否存在无效字段名称。 字段名称只能包含 10 个字符。 字段名称必须以字母开头。 文件名不得包含空格或特殊字符,下划线字符除外。
- 文件名不得包含任何特殊字符,下划线字符除外。 一般来说,shapefile 名称中的空格在 ArcGIS Desktop 中有效;但是,出于测试目的,请重命名 shapefile,使其不包含空格。
- 移除 Windows 资源管理器中的所有索引(空间、属性和地理编码)投影以及元数据文件。 即,移除 .shp、.dbf 和 .shx 文件之外的所有文件。 在移除上述任意文件之前,均请为其创建副本。
- 在另一台计算机上打开 shapefile。
- 使用其他版本的软件应用程序打开 shapefile。 如果可将其打开,请通过将所选要素导出至新 shapefile 或要素类以将其保存为新 shapefile。
- 使用简单数据加载器或者将要素复制到 ArcMap 编辑会话中,从而将数据复制到新要素类。 如果 shapefile 未包含许多要素,请一次复制一个要素,或者成组复制要素,以确定特定要素是否已损坏。 复制要素后,保存您的编辑内容。 验证该问题是否已解决。
- 如果仍未修复数据,并且上述前两个建议报告了错误记录的要素 ID,请尝试在编辑会话中手动将其移除。
- 将 shapefile 的 .dbf 部分导入 Microsoft Excel 并将其保存为 dBASE 4 文件。 请勿对该文件进行任何其他更改。
- 尝试使用字段计算器在 ArcGIS Desktop 中进行字段计算。 字段计算器可能会在损坏的记录处停止。
- 删除 shapefile 中除了 FID、Shape 和一个属性字段之外的所有字段(shapefile 必须至少具有一个属性字段)。 如果问题仍然存在,请添加新的字符串字段,然后删除最后剩余的属性字段。 如果问题已解决,则指示其中一个字段存在问题。 恢复为备份 shapefile 并使用清除过程以确定损坏的字段。