查看原文
其他

ArcGIS属性表的“那些”事(字段排序、小班编号、属性多条件选择)

GIS前沿 2022-03-16


案例(1)我们经常在实际工作中要对字段按照由小到大的顺序进行排列,例如:1、2、3... ...


步骤一:打开图层属性表,新建字段(例如:zdbh)


步骤二:在新建的字段(zdbh)上面右击,选择“字段计算器”---选中 python。


步骤三:在“预逻辑代码块”复制、粘贴以下代码就好;

rec=-1

def autoIncrement():

 global rec

 pStart = 1 #起始值为1,可修改

 pInterval = 1 #间隔值为1,可修改

 if (rec ==-1): 

  rec = pStart 

 else: 

  rec = rec + pInterval 

 return rec

(上述代码含义:首先初始化rec为-1;接着定义一个autoIncrement方法,在这个方法里定义了一个局部变量rec,初始化pStart为1,它也是起始值,如果想typeid起始值为其它值可以修改pStart的值即可,pInterrval是间隔值,即依次递增的数字之间的间隔是1,如果想依次递增的数字之间的间隔是2或者3...等,可以修改pInterrval的值;再接着就是一个if()else语句,最后将rec进行返回。)


然后将autoIncrement()方法给zdbh,最后点击“确定”运行。

(注意将autoIncrement()方法给zdbh时,autoIncrement()方法前不能有空格,否则会报错!!!)


案例(2)在我们实际工作中还会经常遇见对小班进行编号,格式要求0001、0002、0003... ....0010等这种格式。


步骤同案例(1)我们在这里就不重复说了,还是老办法 Ctrl+C 、Ctrl+V需要改变的是代码如下:

rec=0

def autoIncrement():

 global rec

 pStart = 1 #adjust start value, if req'd 

 pInterval = 1 #adjust interval value, if req'd

 if (rec == 0): 

  rec = pStart 

 else: 

  rec = rec + pInterval 

 return rec


然后将(str(autoIncrement())).zfill(4) 给 zdbh1   最后点确定就行


这里重点要强调一下(str(autoIncrement())).zfill(4)   这个数字4,如果要变成格式为00001 00002 这种的就修改为5 就行。


案列(3)一份属性表里面有3个县的代码和林种代码(111,112,117,233,251),现在我想按属性选择其中一个县里面的111和112。


步骤一:在图层上面右击、打开属性表——选择“按属性选择”


步骤二:选择需要的xian= 获取唯一值 and林种 in(111,112)

这个里面最重要的就是  in  它代表包含的意思。


文章转载于:智环成

本文仅限行业学习交流之用,版权、著作权归原载平台及作者所有。我们尊重作者的成果,如涉嫌侵权,请联系我们及时删除。


- END -


7.72GB ARCGIS  ERDAS  ENVI干货教程网盘下载
利用Python ArcGIS小图斑根据相邻地类属性融合
ArcGIS如何获取地理要素的几何边界及几何属性
处理好细节才更专业!ArcGIS不可或缺的制图技巧
用ArcGIS制图土地利用现状图.doc(文档可下载)
ArcGIS制图小技巧之色带——横向(水平)图例

戳原文,更有料!

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

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