案例(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 它代表包含的意思。