ArcGIS批量修改字段名称或类型

转载连接:http://blog.csdn.net/heyubingzju/article/details/8825031

ArcPy就和ArcObjects,强大得令人发指,呵呵,开个玩笑!


在实际工作中会碰到这样的需求,shape file or geodatabase的feature class的字段名和字段类型不是我们想要的,可是通过ArcGIS的软件或者数据库本身都没法去修改它。怎么办,ArcPy可以显身手了。

[python] view
plain
copy

  1. import arcpy    
  2. from arcpy import env    
  3.     
  4. # use your own    
  5. env.workspace = “”    
  6. # use your own    
  7. outpath = “”    
  8. fcList = arcpy.ListFeatureClasses()    
  9. for infc in fcList:    
  10.     outfc = infc    
  11.     print “in featureclass : “ + infc + ” out featureclass : “ + outfc    
  12.     fieldmappings = arcpy.FieldMappings()    
  13.     infields = arcpy.ListFields(infc)    
  14.     for infield in infields:    
  15.         if infield.name == “OBJECTID” or infield.name == “shape” or infield.name == “Shape”:    
  16.             continue    
  17.         fieldmap = arcpy.FieldMap()    
  18.         fieldmap.addInputField(infc, infield.name)    
  19.         outname = infield.name    
  20.         outfield = fieldmap.outputField    
  21.         outfield.name = outname.upper()    
  22.         # if you want to change field type use :    
  23.         # outfield.type = “”    
  24.         fieldmap.outputField = outfield    
  25.         fieldmappings.addFieldMap(fieldmap)    
  26.         print “add field map “ + infield.name + ” – “ + outfield.name    
  27.         del fieldmap, outfield    
  28.             
  29.     print “start to copy ……”    
  30.     arcpy.FeatureClassToFeatureClass_conversion(infc, outpath, outfc, “”, fieldmappings)       
  31.     print “done” 
      

转载自:https://blog.csdn.net/yh0503/article/details/38581961

You may also like...