shapefile错误及解决办法

错误描述:
    * 通过ArcMapArcCatalog打开某一层时,提示"Error opening feature class.Number of shapes does not match the number of table records"
    * 通过ArcMap
ArcCatalog打开某一层时,ArcMap/ArcCatalog自动关闭
错误原因:
    shapefile损坏,导致空间记录数和属性记录数不匹配.导致shapefile损坏的具体原因ESRI给出了以下几点:
    * Adding or deleting records to the DBF file corresponding to the existing shapefile.
    * A system failure occurs during the edit process and the shapefile is saved in a corrupted state.
    * Multiple users editing the same shapefile.
    * Adding features to a theme and the user double-clicks the mouse. A record with zero area is added to the table, but the feature may not be visible in the view.
解决办法:
     ESRI提供的解决办法有下三种:
     * 直接编辑*.DBF文件(Edit the DBF file)
        1. Open the DBf file. 
        2. Delete the last record. 
        3. Close and save the DBF file. 
        4. Load the shapefile into your View.
        You may try this method multiple times.
     * 使用ArcInfo Workstation
        1. Run the SHAPEARC command on the shapefile.
        2. Run DESCRIBE on the output coverage.
        3. Make note of the number of shapes.
        4. Open the DBF corresponding to the shapefile.
        5. Compare the number of records of the DBF to the number shapes resulting from the DESCRIBE command. 
        a) If the number of DBF records is more than the number of shapes, delete records until the number of shapes matches the number of records.
        b) If the number of DBF records is less than the number of shapes, add records until the number of shapes matches the number of records. 
        6. Save the DBF file. 
     * 使用ArcView 
       The shapefile should open in ArcView, but there is no guarantee that attribute information for the shapefile will be correct. To test if the attribute data is assigned to the correct feature, do the following: 
        1. Load the shapefile into a new view. 
        2. Open the attribute table for the shapefile. 
        3. Tile the view and the table 
        4. Select a record. 
        5. Compare the selected record with the selected feature in the view. 
        6. If the feature does not correspond with the attribute, determine whether and where to add or delete records. You will have to edit the DBF appropriately, keeping in mind that the number of records must equal the number of shapes. 
        Repeat the comparison steps until the features and attributes are synchronized.

posted @ 2008-07-09 11:03  gishun  阅读(3058)  评论(0编辑  收藏  举报