def Rename_Field(fc_path, field_name): field_name_orig = field_name + "_orig" gp.addmessage("Renaming field: " + field_name + " to " + field_name + "_orig") print "Renaming field: " + field_name + " to " + field_name_orig field_list = gp.ListFields(fc_path, field_name) field = field_list.next() type = str(field.Type) length = str(field.Length) # Case handling; Returned type of "String" uses the a type of "text" and also uses length as an AddField parameter. if (type == "String"): type = "TEXT" gp.AddField_management(fc_path, field_name_orig, type, "", "", length, "", "NULLABLE", "NON_REQUIRED", "") gp.CalculateField(fc_path,field_name_orig, "[" + field_name + "]") gp.DeleteField_management(fc_path, field_name) else : # Case handling; Returned type of "Integer" converted to a type of "long" for use as AddField parameter. if (type == "Integer"): type = "LONG" gp.AddField_management(fc_path, field_name_orig, type, "", "", "", "", "NULLABLE", "NON_REQUIRED", "") gp.CalculateField(fc_path,field_name_orig, "[" + field_name + "]") gp.DeleteField_management(fc_path, field_name) # Case handling; Returned type of "SmallInteger" converted to a type of "short" for use as AddField parameter. elif (type == "SmallInteger"): type = "SHORT" gp.AddField_management(fc_path, field_name_orig, type, "", "", "", "", "NULLABLE", "NON_REQUIRED", "") gp.CalculateField(fc_path,field_name_orig, "[" + field_name + "]") gp.DeleteField_management(fc_path, field_name) # Case handling; Returned type other than "String", "Integer", or "SmallInteger" handled normally. else : gp.AddField_management(fc_path, field_name_orig, type, "", "", "", "", "NULLABLE", "NON_REQUIRED", "") gp.CalculateField(fc_path,field_name_orig, "[" + field_name + "]") gp.DeleteField_management(fc_path, field_name) # Reset variables name = "" type = "" length = "" fc_path = "" field_name = ""
dsc = arcpy.Describe(infc) fields = dsc.fields for field in fields: print field.name, field.type arcpy.AddField_management(infc2, field.name, field.type)
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.