##rows.updateRow(row) if a == row.LUC_ID: print "LUC ID = " + str(a) else: print "Previous LUC ID = " + str(a) if b == row.LUC_NAME: print "LUC Name = " + b else: print "Previous LUC N = " + b
def renamefld(a, b): if a == 71: b = "Natural Forest" elif a == 72: b = "Planted Forest - Pre-1990" else: print "Error with converting subtype to text" for row in rows: renamefld (row.LUC_ID, row.LUC_NAME) renamefld (row.PREV_LUC_ID, row.PREV_LUC_N) rows.updateRow(row)
import arcgisscripting gp =arcgisscripting.create(9.3) gp.workspace= r"C:\temp" def renamefld(a): if a == 1: return "Natural Forest" elif a == 2: return "Planted Forest - Pre-1990" else: # Return an ! so we know not to attempt to update row print "Error with converting subtype to text" return "!" # Create update cursor rows = gp.UpdateCursor("test.dbf") row = rows.Next() while row: # Get row information id = row.id type = row.type # Call function to change type type = renamefld (id) # update row object if type != "!": row.type = type rows.updateRow(row) row = rows.Next() # release cursor del row del rows
def renamefld(a): try: if a == 71: return "Natural Forest" elif a == 72: return"Planted Forest - Pre-1990" elif a == 73: return "Post 1989 Forest" elif a == 74: return "Grassland - With woody biomass" elif a == 75: return "Grassland - High producing" elif a == 76: return "Grassland - Low producing" elif a == 77: return "Cropland - Perennial" elif a == 78: return "Cropland - Annual" elif a == 79: return "Wetland - Open water" elif a == 80: return "Wetland - Vegetated non forest" elif a == 81: return "Settlements" elif a == 82: return "Other" else: print "Error with converting subtype to text" return "!" except: print arcpy.GetMessages() def region(a): try: if a == 1: return "Northland" elif a == 2: return "Auckland" elif a == 3: return "Waikato" elif a == 4: return "Bay of Plenty" elif a == 5: return "Gisborne" elif a == 6: return "Hawkes Bay" elif a == 7: return "Taranaki" elif a == 8: return "Manawatu-Wanganui" elif a == 9: return "Wellington" elif a == 12: return "West Coast" elif a == 13: return "Canterbury" elif a == 14: return "Otago" elif a == 15: return "Southland" elif a == 16: return "Tasman" elif a == 17: return "Nelson" elif a == 18: return "Marlborough" else: print "Error with converting region to text" return "!" except: print arcpy.GetMessages() global row, cur cur = arcpy.UpdateCursor(inMemFc) for row in cur: LUM_Region = row.LUM_REG_ID regvalue = region(LUM_Region) if regvalue != "!": row.LUM_REGION = regvalue cur.updateRow(row) LUC_ID = row.LUC_ID fldvalue = renamefld(LUC_ID) if fldvalue != "!": row.LUC_NAME = fldvalue cur.updateRow(row) PREV_LUC_ID = row.PREV_LUC_ID fldvalue = renamefld(PREV_LUC_ID) if fldvalue != "!": row.PREV_LUC_N = fldvalue cur.updateRow(row) IMPR_LUC_I = row.IMPR_LUC_I fldvalue = renamefld(IMPR_LUC_I) if fldvalue != "!": row.IMPR_LUC_N = fldvalue cur.updateRow(row)
field_map = { 71 : "Natural Forest", 72 : "Planted Forest - Pre-1990", 73 : "Post 1989 Forest", # et cetera } class SubtypeConversionError(Exception): pass def renamefld(a): try: return field_map except KeyError: raise SubtypeConversionError("Error with converting subtype %d to text" % a)
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.