查看原文
其他

ArcPy基于Excel表格批量添加字段

GIS思维 GIS思维 2023-01-11


点击上方蓝字关注我们



01 背景



     上周的时候,有学员咨询了这个批量添加字段的问题,需求比较明确,就是有个excel表里面有几十个字段模板需要一次性添加到ArcGIS的图层当中,如果像我们以往的做法一个个添加字段,毕竟是耗费时间的,且容易造成错误。

      我们,当时是提供两个方法,一个是2016年的时候我们就做个的技术分享。一个是今天要介绍的ArcPY的应用。




02 2016年的技术分享


    2016年的技术分享当时主要是介绍ArcGIS加载POI点的应用,在最结尾的时候加入利用excel导入多个字段的应用。  有兴趣的可以点击最后的阅读原文,进行学习。

    这么多年,我们有发布没发布的做了很多技巧性分享,关注我们,后续将逐一推送。



03 ArcPy应用




    主要介绍的就是根据下方上图的Excel中的字段,编写ArcPy脚本工具,批量的加载到ArcGIS图层当中。

     组织语言,码字也是很累的,录制了视频介绍,放在了免费技术分享当中,点击下方的阅读原文,进行视频学习与脚本工具获取。







04 贴一下脚本源码

import xlrdimport 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 推荐学习














GIS思维GIS系列课程学习路线


全球地表覆盖数据集2000、2010、2020版下载介绍


ArcGIS调整软件字体大小(分辨率问题)


(快速批量出图)ArcPy结合数据驱动模块的批量制图(GIS思维)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存