日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

修復(fù)損壞的 shapefile

 加速灬蝸牛 2019-05-17

一、SHP文件

Shapefile文件(簡稱SHP)作為ESRI一種經(jīng)典的數(shù)據(jù)格式,被很多其他軟件所支持,如CAD、MapGIS等,雖然也有一些限制(如無法進行拓撲分析、字段長度為10個字符等),但其仍然是廣泛使用的空間數(shù)據(jù)格式。

用得多了,有時也會遇到出錯的時候。

Error: Number of shapes does not match number of table records。

形狀數(shù)與表記錄數(shù)不一致。

二、損壞原因

ESRI幫助文檔上說常見損壞原因,并提出了解決方案:

(1)保存編輯內(nèi)容時計算機崩潰

這是最常見的現(xiàn)象。由于軟件版本不穩(wěn)定或數(shù)據(jù)量大或突然斷點很可能造成編輯shp文件形成損壞。

(2)添加非法幾何

任何數(shù)據(jù)庫都可以對其數(shù)據(jù)進行結(jié)構(gòu)定義。如果有非法的幾何 將導(dǎo)致shp文件損壞。例如,蝴蝶結(jié)。

(3)使用其他軟件修改屬性表

SHP文件是由多個文件組成,其中記錄屬性的dbf文件是不可缺少的,但如果用其他軟件編輯過(例如,Microsoft Excel)也會造成文件損壞。

三、修復(fù)方法

下面是官網(wǎng)給出的修復(fù)方法,非常全面:

(1)    使用ArcToolBox > Data Management Tools > Features中的Check Geometry工具。此工具執(zhí)行時數(shù)據(jù)的問題會被報告,或存在于輸出表中。在執(zhí)行后查看輸出表。如果表是空的,證明沒有找到壞的幾何關(guān)系。如果報告有壞的幾何關(guān)系,使用下面的Repair Geometry工具。

(2)    運行ArcToolBox > Data Management Tools > Features中的Repair Geometry工具。在運行后,返回再次運行Check Geometry工具以確定所有的損壞要素都被移除。依據(jù)需要往復(fù)運行Check Geometry/Repair Geometry。

(3)    導(dǎo)出數(shù)據(jù)島geodatabase中,然后把他們復(fù)制到新shapefile中。

(4)    如果數(shù)據(jù)在網(wǎng)絡(luò)驅(qū)動器上,把它復(fù)制到本地磁盤上。如果數(shù)據(jù)在本地驅(qū)動器上,把它復(fù)制到主驅(qū)動器的根目錄下:例如,C:\

(5)    檢查屬性表中的非法字段名。字段名最多只能有10個字符,且以字母開頭,不能包含空格或特殊字符,除了下劃線以外。

(6)    除了下劃線以外,文件名不能包含空格或特殊字符。一般來說,包含有空格的shapefile文件名可以在ArcGIS 9.x中起作用,然而為了測試請重命名shapefile是指不含空格。

(7)    在Windows資源管理器中刪除所有索引(空間、屬性和地理編碼),投影和元數(shù)據(jù)文件。也就是刪除所有的文件僅保留.shp,.dbf,.shx文件。注意在改動文件前做好備份。

(8)    嘗試在其他電腦上操作這些shapefile

(9)    在其他軟件中打開shapefile,最好是ArcView 3.x。如果能在ArcView 3.x中打開,嘗試保存至新的shapefile,Theme > Convert To Shapefile。

(10)或者使用simple data loader或者將數(shù)據(jù)復(fù)制到ArcMap編輯進程中,將數(shù)據(jù)復(fù)制到新的要素類中。如果你的shapefile不包含很多的要素,可以一次拷貝,否則分組拷貝可能損壞的數(shù)據(jù)。當拷貝過程結(jié)束后,保存編輯,查看問題是否以去除。

(11)如果數(shù)據(jù)仍未被修復(fù),并且Check Geometry/Repair Geometry工具報告了要素ID和損壞記錄,請手動清除這些損壞的數(shù)據(jù)。

(12)在ArcGIS和ArcView 3.x中使用字段計算器計算計算字段值。計算可能停在損壞的記錄上。檢查損壞損壞的shapefile的屬性表并確認。例如,你的shapefile有1000條記錄,如果字段計算器在第750條停下來,哪門第750條或751條可能就是損壞的。要刪除損壞的條目,打開ArcMap編輯,拷貝除了壞條目以外的所有行至新的shapefile中,或者嘗試手動刪除損壞條目。

(13)刪除除FID,Shape外的所有字段,并保留一個屬性字段(shapefile必須要有一個屬性字段)。如果問題依然存在,添加一個新字符串字段,并刪除保留的屬性字段。如果問題消失,這意味著是那個字段的問題。后面你就知道該怎么做了。

(14)使用Shapefile Repaier Utility

(15)使用Shapefile Repair Utility(不要與Shapefile Repaier Utility弄混)

(16)使用FunkFinder

(17)下載并運行CleanShapefile utility(只針對ArcGIS 8.3)

四、實例

先嘗試使用"檢查幾何",無效,因為根本就打不開,所以沒法檢查。

再嘗試復(fù)制一下數(shù)據(jù):

問題出來了,形狀數(shù)與表記錄數(shù)不一致?。ㄗ⒁馀c多部件是有區(qū)別的)??梢栽斐傻脑蚴蔷庉嫯惓;蛲ㄟ^其他方式修改過dbf文件。

最后shapech工具修復(fù)了SHP文件。

操作方法:先備份數(shù)據(jù),然后加載Shapefile數(shù)據(jù),讀取數(shù)據(jù)信息,修復(fù)shx,再修復(fù)dbf。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多