అన్ని ఎంటర్ప్రైజ్ జియోడాటాబేస్లు మరియు ఫీచర్ క్లాసులు మరియు వాటి మెటాడేటాను జాబితా చేయండి
#ఈ స్క్రిప్ట్ మెటాడేటాను ఆడిట్ చేయడానికి ఉపయోగపడుతుంది. స్క్రిప్ట్ని బహుళ enterprise జియోడాటాబేస్లలో అమలు చేయవచ్చు మరియు ఈ నిలువు వరుసలతో అవుట్పుట్ CSV ఫైల్ను సృష్టిస్తుంది: 'జియోడాబేస్', 'ఫీచర్ డేటాసెట్', 'ఫీచర్ క్లాస్', 'స్పేషియల్ రిఫరెన్స్', 'రో కౌంట్', 'టైటిల్మెట్టాడా', 'డిస్క్రిప్షన్' 'మెట్టాడా' 'వివరణ 'మెటాడేటా సారాంశం', 'మెటాడేటా క్రెడిట్లు', 'మెటాడేటా యాక్సెస్ పరిమితులు'.
ఈ స్క్రిప్ట్ని ఉపయోగించడానికి, మీరు మీ SDE కనెక్షన్ ఫైల్లను సూచించడానికి లైన్ 19ని మార్చాలి.
import csv
import os
from arcpy import Describe
from arcpy import env
from arcpy import GetCount_management
from arcpy import ListDatasets
from arcpy import ListFeatureClasses
from arcpy import ListFields
from arcpy import metadata as md
# the output CSV file name
output_csv_file = 'enterprise_gdbs_results.csv'
# or use this to make the output CSV file name the same as the script name
# output_csv_file = os.path.basename(__file__).replace('.py','.csv')
# change this path to use your SDE connection files
sde_connection_files = 'c:/gis/sde_connection_files'
with open(output_csv_file,'w',newline='') as csv_file:
csv_writer = csv.writer(csv_file, delimiter=',')
column_headers = [
'Geodatabase', 'Feature Dataset', 'Feature Class',
'Spatial Reference', 'Row Count', 'Column Count',
'Metadata Title', 'Metadata Description', 'Metadata Summary',
'Metadata Credits', 'Metadata Access Constraints'
]
csv_writer.writerow(column_headers)
for (folder, dirs, files) in os.walk(sde_connection_files):
for file in files:
if(not file.startswith('_') and file.endswith('.sde')):
geodatabase = file.split('@')[1]
wksp = os.path.join(folder,file)
env.workspace = wksp
datasets = ListDatasets(feature_type='feature')
datasets = [''] + datasets if datasets is not None else []
for dataset in datasets:
for feature_class in ListFeatureClasses(dataset):
desc = Describe(feature_class)
spatial_reference = desc.SpatialReference.factoryCode
count = GetCount_management(feature_class)[0]
column_count = len(ListFields(feature_class))
metadata = md.Metadata(feature_class)
row = [
geodatabase,dataset,feature_class,
spatial_reference,count,column_count,
metadata.title,metadata.description,
metadata.summary,metadata.credits,
metadata.accessConstraints
]
print(row)
csv_writer.writerow(row)