破損しているシェープファイルが約1000個あります(添付のエラーメッセージを参照)。シェープファイルはeCognition Developer 8から生成されました。シェープファイルが破損していると識別されると、シェープファイルを修復するように見えるスクリプトツールがあります。
編集:
すべてのシェープファイルをループして、シェイプの数がテーブルレコードと一致するかどうかを確認する簡単なスクリプトを作成したいと思います。以下を使用してテーブルレコードをカウントできます。
# Name: fcCount.py
# Purpose: calculate the number of features in a featureclass
# Import system modules
import arcpy
from arcpy import env
env.workspace = "C:/data"
Sample = "MyShp.shp"
result_dbf = int(arcpy.GetCount_management(Sample).getOutput(0))
print result_dbf
最終的には、次のようなロジックチェックを作成します。
if result_dbf = result_shp:
pass
else:
print "There is a problem with" + str(Sample)
.dbfファイルにアクセスせずに形状を直接カウントするにはどうすればよいですか?または、言い換えると、図形の数がテーブルレコードの数と一致するかどうかをプログラムで確認する最良の方法は何ですか?