HOW TO
GIS managers and administrators sometimes need to automate the creation of feature classes based on a template. The steps below describe how to do this.
Code: #Database connection file path conn = r"Database Connections\Loop.sde" #Name of feature classes to be created FCList = ["State_Px1","Ozonex1","Birajx1"] #Name of fields to be populated for first feature class fields1 = ['State', 'State_Code', 'Xfield'] #Name of fields to be populated for second feature class fields2 = ['Areax', 'Ozone_Amt', 'S3'] #field types for feature class one fieldType1 = ["TEXT", "DOUBLE", "LONG"] #field types for feature class two fieldType2 = ["TEXT", "DOUBLE", "LONG"]
Code: import arcpy, string, os def CreateFeatureClass(conn, fc,logWorkspace,logFC): outLog = open(os.path.join(logWorkspace, logFC), 'w') arcpy.CreateFeatureclass_management(conn,fc,"POLYGON","","DISABLED","DISABLED","GEOGCS['GCS_WGS_1984',DATUM'D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119522E-09;0.001;0.001;IsHighPrecision","","0","0","0") print "created fc {0}".format(fc) outLog.write("Created feature class {0}".format(fc)) outLog.write("\n") outLog.close() def AddFields(conn_fc, fieldList, fieldType): for field, ftype in zip(fieldList,fieldType): arcpy.AddField_management(conn_fc,field,ftype,"","","","","NULLABLE","NON_REQUIRED","") print "Added field {0} for fc: {1}".format(field, conn_fc) if __name__=="__main__": #Variables to populate conn = r"Database Connections\Loop.sde" FCList = ["State_Px1","Ozonex1","Birajx1"] fields1 = ['State', 'State_Code', 'Xfield'] fields2 = ['Areax', 'Ozone_Amt', 'S3'] fieldType1 = ["TEXT", "DOUBLE", "LONG"] fieldType2 = ["TEXT", "DOUBLE", "LONG"] logFC = "CreatedFC_log.txt" logWorkspace = r"C:\temp" fcpy_list = [] #Create Feature Classes cnt = 0 for fc in FCList: CreateFeatureClass(conn, fc, logWorkspace,str(cnt) + logFC ) fcpy_list.append(fc) cnt += 1 del fc conn1_fc = conn + os.sep + fcpy_list[0] conn2_fc = conn + os.sep + fcpy_list[1] conn3_fc = conn + os.sep + fcpy_list[2] AddFields(conn1_fc, fields1,fieldType1) AddFields(conn2_fc, fields2,fieldType2) AddFields(conn3_fc, fields2,fieldType2)
Article ID: 000011744
Get help from ArcGIS experts
Download the Esri Support App