shapefile檔案(簡稱shp)作為esri一種經典的資料格式,被很多其他軟體所支援,如cad、mapgis等,雖然也有一些限制(如無法進行拓撲分析、字段長度為10個字元等),但其仍然是廣泛使用的空間資料格式。
用得多了,有時也會遇到出錯的時候。
形狀數與表記錄數不一致。
如esri幫助文件上說常見損壞原因,並提出了解決方案:
這是最常見的現象。由於軟體版本不穩定或資料量大或突然斷點很可能造成編輯shp檔案形成損壞。
(2)新增非法幾何
任何資料庫都可以對其資料進行結構定義。如果有非法的幾何 將導致shp檔案損壞。例如,蝴蝶結。
(3)使用其他軟體修改屬性表
shp檔案是由多個檔案組成,其中記錄屬性的dbf檔案是不可缺少的,但如果用其他軟體編輯過(例如,microsoft excel)也會造成檔案損壞。
下面是官網給出的修復方法,非常全面:
(1) 使用arctoolbox > data management tools > features中的check geometry工具。此工具執行時資料的問題會被報告,或存在於輸出表中。在執行後檢視輸出表。如果表是空的,證明沒有找到壞的幾何關係。如果報告有壞的幾何關係,使用下面的repair geometry工具。
(2) 執行arctoolbox > data management tools > features中的repair geometry工具。在執行後,返回再次執行check geometry工具以確定所有的損壞要素都被移除。依據需要往復執行check geometry/repair geometry。
(3) 匯出資料島geodatabase中,然後把他們複製到新shapefile中。
(4) 如果資料在網路驅動器上,把它複製到本地磁碟上。如果資料在本地驅動器上,把它複製到主驅動器的根目錄下:例如,c:\
(5) 檢查屬性表中的非法欄位名。欄位名最多只能有10個字元,且以字母開頭,不能包含空格或特殊字元,除了下劃線以外。
(6) 除了下劃線以外,檔名不能包含空格或特殊字元。一般來說,包含有空格的shapefile檔名可以在arcgis 9.x中起作用,然而為了測試請重新命名shapefile是指不含空格。
(7) 在windows資源管理器中刪除所有索引(空間、屬性和地理編碼),投影和元資料檔案。也就是刪除所有的檔案僅保留.shp,.dbf,.shx檔案。注意在改動檔案前做好備份。
(8) 嘗試在其他電腦上操作這些shapefile
(9) 在其他軟體中開啟shapefile,最好是arcview 3.x。如果能在arcview 3.x中開啟,嘗試儲存至新的shapefile,theme > convert to shapefile。
(10)或者使用****** data loader或者將資料複製到arcmap編輯程序中,將資料複製到新的要素類中。如果你的shapefile不包含很多的要素,可以一次拷貝,否則分組拷貝可能損壞的資料。當拷貝過程結束後,儲存編輯,檢視問題是否以去除。
(11)如果資料仍未被修復,並且check geometry/repair geometry工具報告了要素id和損壞記錄,請手動清除這些損壞的資料。
(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
先嘗試使用"檢查幾何",無效,因為根本就打不開,所以沒法檢查。
再嘗試複製一下資料:
問題出來了,形狀數與表記錄數不一致!(注意與多部件是有區別的)。可以造成的原因是編輯異常或通過其他方式修改過dbf檔案。
最後shapech工具修復了shp檔案。
操作方法:先備份資料,然後載入shapefile資料,讀取資料資訊,修復shx,再修復dbf。
修復損壞的 shapefile
error number of shapes does not match number of table records。形狀數與表記錄數不一致。如esri幫助文件上說常見損壞原因,並提出了解決方案 這是最常見的現象。由於軟體版本不穩定或資料量大或突然斷點很可能造成編輯shp檔案形成損壞。2 新增...
Ubuntu grub損壞修復
對於grub損壞是很多使用雙系統的研友都會遇到的問題,如果grub損壞,最重要的後果是進不去ubuntu裡面的圖形化見面,但是幸運的是硬碟沒有受損。大部分人遇到這種情況一般是重灌系統,殊不知,其實grub損害是可以恢復的,主要操作如下 以下會涉及到一些grub的命令列,這裡不做詳細介紹。首先第一步,...
apt get損壞修復
使用apt get或dpkg安裝包時,出現類似以下錯誤時 dpkg error processing package initramfs tools configure subprocess installed post installation script returned error exit...