HOW TO
GIS administrators sometimes need to perform quality assurance checks for the validity of features.
Instructions provided describe an example of how to use a Python script to do this for all the feature classes in a database.
Code:
arcpy.env.workspace = r"Database Connections\sde_geodatabase.sde"
Code:
logName = "FeatureInfo.txt"
Code:
logWorkspace = r"C:\logs"
Code:
instance = 'sde:oracle10g:ora10gr2'
Code:
user = 'sde'
Code:
psswd = 'sde'
Code:
import os, subprocess, arcpy, string, sys, os
arcpy.env.workspace = r"Database Connections\sde_geodatabase.sde"
def describeFeatures(sdeWorkspace,logWorkspace, logName,instance,user,psswd):
logfile = open(os.path.join(logWorkspace, logName), 'w')
for dataset in arcpy.ListDatasets():
arcpy.env.workspace = sdeWorkspace + os.sep + dataset
for fc in arcpy.ListFeatureClasses():
args = ['sdelayer', '-o', 'feature_info', '-l', str(fc) + ',SHAPE','-i', instance, '-u', user, '-p', psswd]
p = subprocess.Popen(args, stdout=subprocess.PIPE)
output = p.stdout.read()
logfile.write(dataset)
logfile.write(fc)
logfile.write(output)
logfile.write("\n")
print dataset, fc, output
logfile.close()
if __name__=="__main__":
sdeWorkspace = arcpy.env.workspace
logName = "FeatureInfo3.txt"
logWorkspace = r"C:\logs"
instance = 'sde:oracle10g:ora10gr2'
user = 'sde'
psswd = 'sde'
describeFeatures(sdeWorkspace,logWorkspace, logName,instance,user,psswd)
Article ID: 000011657
Get help from ArcGIS experts
Download the Esri Support App