批量修改gis属性表字段别名2018-11-15

近日偶遇一个问题,就是需要对地理数据库的多个数据集内的众多要素类的字段按照固定的要求进行字段别名的设置,当初创建要素类的时候并没有这个需求,所以每个字段的别名都要重新设置。

如果只是几个字段的话就手动改改吧,勤快一点,嘿嘿!!!!可太多的话就。。。。。手动改这个工作量是相对客观啊,索性想起能不能批量处理。。。。首先想到了Arcgis的arcpy脚本,网上搜了搜也没啥现成的干货,还是自己动手吧(PS:自己动手丰衣足食,最爱这句话),翻了翻arcpy的帮助文档,并没找到直接修改属性表里字段别名的函数(PS:才疏学浅,若有大神知道,请赐教),只找到在新添加字段时有个可选参数支持设置别名,如:

所以就将修改字段别名的问题,转化为通过新建字段赋值进行处理,具体思路是:

1、先遍历列出地理数据库(gdb或mdb)里的数据集(ListDatasets_management()),然后遍历每个数据集里的全部要素类,再针对每个要素类的属性表进行遍历字段

2、开始遍历每个要素类属性表的字段,选择出需要设置别名的字段,我的需求就是每个属性表里有11个需要设置字段别名的,且每个都是固定搭配,如果手动改就是重复性劳动(PS:懒人都不喜欢干重复性劳动),例如”SX“的别名是“起点X” 、”SY“的别名是“起点Y”、“EX”的别名是“终点X”、“EY”的别名是“终点Y”。。。首先对对字段进行遍历,使用for循环挨个字段遍历,”for fi in arcpy.ListFields(fc1):“使用if进行判断当前字段是否需要设置别名,若需要则进行处理,否则就pass。

3、设置别名的思路是,首先获取当前字段名称,然后添加一个和当前字段属性一致(字段类型、字段长度等)且名字不同的新字段,然后将当前字段值赋值给新建字段值,然后删除当前字段值,再新建一个和当前字段值的字段,再将刚才新建的字段值赋值,最后将其删除。是不是有点晕,哈哈。。。还是上图吧,看代码:


1、是列出全部字段,2、进行选择并进行别名设置

完整代码自行网盘下载:

链接:https://pan.baidu.com/s/1yQaM_B06IxxAgbN64l0FOg 密码:s3rb

本人GIS出身的菜鸟一枚,目前在规划口工作,希望小伙伴们一起多多交流。

最后,本人所写内容及脚本程序仅供大家交流学习使用,如需转载使用请注明,谢谢。

你可能感兴趣的:(批量修改gis属性表字段别名2018-11-15)