您的位置:首页 > 其它

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

2014-08-15 10:57 531 查看
转载连接:/article/8154572.html

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

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

[python] view
plaincopy

import arcpy

from arcpy import env

# use your own

env.workspace = ""

# use your own

outpath = ""

fcList = arcpy.ListFeatureClasses()

for infc in fcList:

outfc = infc

print "in featureclass : " + infc + " out featureclass : " + outfc

fieldmappings = arcpy.FieldMappings()

infields = arcpy.ListFields(infc)

for infield in infields:

if infield.name == "OBJECTID" or infield.name == "shape" or infield.name == "Shape":

continue

fieldmap = arcpy.FieldMap()

fieldmap.addInputField(infc, infield.name)

outname = infield.name

outfield = fieldmap.outputField

outfield.name = outname.upper()

# if you want to change field type use :

# outfield.type = ""

fieldmap.outputField = outfield

fieldmappings.addFieldMap(fieldmap)

print "add field map " + infield.name + " - " + outfield.name

del fieldmap, outfield

print "start to copy ......"

arcpy.FeatureClassToFeatureClass_conversion(infc, outpath, outfc, "", fieldmappings)

print "done"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: