其他
ArcPy基于Excel表格批量添加字段
点击上方蓝字关注我们
01 背景
上周的时候,有学员咨询了这个批量添加字段的问题,需求比较明确,就是有个excel表里面有几十个字段模板需要一次性添加到ArcGIS的图层当中,如果像我们以往的做法一个个添加字段,毕竟是耗费时间的,且容易造成错误。
我们,当时是提供两个方法,一个是2016年的时候我们就做个的技术分享。一个是今天要介绍的ArcPY的应用。
02 2016年的技术分享
2016年的技术分享当时主要是介绍ArcGIS加载POI点的应用,在最结尾的时候加入利用excel导入多个字段的应用。 有兴趣的可以点击最后的阅读原文,进行学习。
这么多年,我们有发布没发布的做了很多技巧性分享,关注我们,后续将逐一推送。
03 ArcPy应用
主要介绍的就是根据下方上图的Excel中的字段,编写ArcPy脚本工具,批量的加载到ArcGIS图层当中。
组织语言,码字也是很累的,录制了视频介绍,放在了免费技术分享当中,点击下方的阅读原文,进行视频学习与脚本工具获取。
04 贴一下脚本源码
import xlrd
import arcpy
#读取Excel表作为参数输入
xls_path=arcpy.GetParameterAsText(0)
data=xlrd.open_workbook(xls_path)
#读取要批量添加字段的图层
shp_path=arcpy.GetParameterAsText(1)
#shp_path=r'C:\Users\ygb_709\Desktop\test20201123\test.shp'
#读取excel中的sheet表名
sheetname=arcpy.GetParameterAsText(2)
table=data.sheet_by_name(sheetname)
for i in range(1,table.nrows):
arcpy.AddField_management(shp_path,table.row_values(i)[1],table.row_values(i)[3],field_alias=table.row_values(i)[2],
field_length=table.row_values(i)[4],field_scale=table.row_values(i)[5])
arcpy.AddMessage("成功添加字段:".decode('utf-8')+table.row_values(i)[1])
arcpy.AddMessage("已完成")
05 视频学习与脚本获取方式
识别下方二维码, 找到对应的目录学习与脚本下载。
也可公众号后台回复:20201202 直接获取脚本工具
06 推荐学习