想添加的数字是这种格式:
首先两种方法,如下
方法一、如果有对应数据的excel数据,可以在excel数据里边做一个需要的格式的字段和连接字段link_key,将两者连接起来后简单字段计算器赋值
1>shape数据像这样
2>Excel数据像这样
然后创建指定格式数据的列,可以用公式 =RIGHT("0000"&A1,4) 完成创建,其中 A1 是类似上图中的序号
3>两个字段连接起来组成唯一的key,像这样,通过&将字段连起来
注意:excel中的数据格式不能和arcmap中的格式起冲突(也会出现同一列但是类型不统一的情况),否则会出现空白(或者一部分是科学计数一部分是文本)的情况
如果直接统一不行,统一格式采用数据->分列 在列数据类型中选择文本
4>用唯一的key将excel数据连接到shp数据,然后字段计算器进行赋值
方法二、可直接在arcmap的字段计算器中进行
1>在字段计算器的解析程序设置为python,显示代码块,编写如下代码,然后调用,注意参数填写(shp数据都有标识数据用的FDI,可利用该字段创建自己需要的编号)
特别注意:注意传入的参数,如果是在 VB脚本 解析程序下,传入的参数是被 [ ] 包裹的,但是在python解析程序下是被 ! ! 包裹的,如果出现下图中的错误,注意检查下
#参数xuhao是传入参数,即将于来创建编号
def addDKBH(xuhao):
#右对齐占4位,不够的再加0
return ("%04d"%(xuhao))