错误:形状数与表记录数不匹配
错误消息
将 shapefile 添加到 ArcView 3.x 或 ArcMap 数据框中的视图时,会发生以下错误:
“形状数与表记录数不匹配。”
原因
当 shapefile 中的要素数与 DBF 表(即 shapefile 的属性表)中的记录数不匹配时,将返回此错误。 以下是产生错误的一些常见原因。
- 在另一个软件包(如 Microsoft Excel 或 Microsoft Access)中向 DBF 表添加或删除记录。
- 正在编辑 shapefile 以及 shapefile 在损坏状态下保存时发生系统故障。
- 多个用户同时编辑相同的 shapefile。
- 向 shapefile 中添加要素时双击鼠标。 零面积记录添加到表中,但该要素没有几何图形,并且在视图中不可见。
解决方案或解决方法
可通过以下方法之一恢复 shapefile。
警告: 强烈建议在尝试使用任何这些方法之前制作一份损坏的 shapefile 的备份副本。
使用 Andrew Williamson 的 ShapeFile 修复实用程序
此实用程序是独立产品,无需运行 ArcView GIS 或 ArcGIS Desktop。
注: 要使 ShapeFile Repairer Utility 正常工作,请确保计算机的语言设置与用于创建 shapefile 的语言相匹配。
编辑 DBF 文件
注: 可以多次尝试该方法。
- 打开 DBF 文件。
- 删除最后一条记录。
- 保存并关闭 DBF 文件。
- 将 shapefile 加载到视图中。
- 下载 Shapefile 修复工具。 在损坏的 shapefile 上运行该工具。
- 使用 ArcInfo Workstation SHAPEARC 命令:
- 在 shapefile 上运行 SHAPEARC 命令。
- 在输出 coverage 上运行 DESCRIBE。
- 记下形状的数量。
- 打开 shapefile 对应的 DBF。
- 将 DBF 的记录数与 DESCRIBE 命令产生的形状数进行比较。
- 如果 DBF 记录数小于形状数,请添加记录,直到形状数与记录数匹配。
- 如果 DBF 记录数大于形状数,则删除记录,直到形状数与记录数匹配。
- 保存 DBF 文件。
Shapefile 应在 ArcView 中打开,但不能保证 shapefile 的属性信息是正确的。 要测试属性数据是否已分配给正确的要素,请执行以下操作:- 将 shapefile 加载到新视图中。
- 打开 shapefile 的属性表。
- 平铺视图和表格。
- 选择记录。
- 将所选记录与视图中的所选要素进行比较。
- 如果该要素与属性不对应,请确定是否添加或删除记录以及添加或删除记录的位置。 必须适当地编辑 DBF,请记住记录数必须等于形状数。
重复比较步骤,直到要素和属性同步。
相关信息
上次修改时间: 9/26/2018
文章 ID: 000003001
软件: ArcGIS-ArcEditor 9.3.1, 9.3, 9.2, 9.1, 9.0, 8.3, 8.2, 8.1.2, 8.1, 10 ArcGIS-ArcInfo 9.3.1, 9.3, 9.2, 9.1, 9.0, 8.3, 8.2, 8.1.2, 8.1, 8.0.2, 8.0.1, 10 ArcGIS-ArcView 9.3.1, 9.3, 9.2, 9.1, 9.0, 8.3, 8.2, 8.1.2, 8.1, 10 ArcView GIS 3.3, 3.2a, 3.2, 3.1, 3.0a, 3.0 其他产品 legacy.products