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"
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"
相关文章推荐
- ArcGIS批量修改字段名称或类型
- 在ArcGIS中,用Python脚本批量修改FeatureClass的名称与字段
- 批量修改字段的类型(SQL Server)--varchar到nvarchar
- SqlServer字段说明添加,查询,修改! 查询字段名称和类型。
- mysql增加字段、删除字段、修改字段名称、修改字段类型
- MySql增加字段、删除字段、修改字段名称、修改字段类型
- MySql增加字段、删除字段、修改字段名称、修改字段类型
- MySql 增加字段 删除字段 修改字段名称 修改字段类型
- 在SQL Server中修改字段类型和字段名称的存储过程
- oracle数据库建表、修改字段名称类型、增加字段、ID自动增长写法
- 批量修改数据库表字段类型
- MySql增加字段、删除字段、修改字段名称、修改字段类型
- oracle修改字段名称和类型sql
- mysql alter修改列字段的长度类型名称详解
- Oracle修改字段类型、注释、字段名称
- MySql增加字段、删除字段、修改字段名称、修改字段类型
- 【网摘】sql 语句修改字段名称以及字段类型
- MySql增加字段、删除字段、修改字段名称、修改字段类型
- 使用 python,批量修改 mongdb 的字段类型
- ArcGIS图层字段名称及内容的修改