मेरे पास लगभग 1000 शेपफाइल्स हैं जो दूषित हैं (संलग्न त्रुटि संदेश देखें)। शेपफाइल्स को ईकोग्निशन डेवलपर 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 फ़ाइल तक पहुँच के बिना सीधे आकृतियों की गणना कैसे कर सकता हूँ? या, दूसरे शब्दों में, यदि तालिका आकार रिकॉर्ड की संख्या से मेल खाती है, तो प्रोग्रामेटिक रूप से जांचने का सबसे अच्छा तरीका क्या है?