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

本文介绍如何利用ArcPy工具进行shapefile或geodatabase中的featureclass字段名的批量修改,包括设置工作空间、获取所有要素类并逐一处理字段映射等步骤。

转载连接:http://blog.youkuaiyun.com/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"    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值