1、简述
最新的国土空间规划成果数据汇交要求中明确提到,每一个矢量图层都要有一个字段长度为18的标识码字段,用于标识图层中的每一个图斑。前6位表示的是行政区代码,后8位表示的是图斑序号(如果数值没有达到8位,缺失的部分补0),中间的4位根据实际情况确定。
例如:XXX县的区域代码为123456,中间的4位为7432,第一个图斑的标识码为:123456743200000001,而第100个图斑的标识码为123456743200000100,要保证标识码的数量为18。
如果是少量的图斑,可以一个个敲标识码,但是图斑数量过多,花费的时间将会是极其恐怖的。
因此,我在经历折磨后,发现了一串python代码,快速的添加标识码。下面阐述详细步骤:
2、具体步骤
2.1 创建文本类型的标识码字段
打开属性表,添加标识码字段,字段类型为文本,字段长度为18,如下图所示:
2.2 打开标识码对应的字段计算器,添加代码
点击确定后,运行代码即可出得到最终的成果。
代码见附录,这里需要注意的是,res的初始值是需要根据实际情况进行更改的,且在设置初始值时,不能超过字段最大长度18。
3、附录
rec=123456743200000000
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