1、问题
如何根据ArcGIS图层属性表得某一个字段,给另一个字段批量赋予自定义值?如下图所示,如何根据FID得序号,给datatime赋予“202108”~“202111”值?如果批量赋值,1675个值,赋到地老天荒。

2、解决
可以根据字段计算器,编写VB或者python代码,批量赋值。对应上述问题,编写得python代码如下:
- 在属性表中选中要赋值的字段,右键点击并选择“字段计算器”。
- 在弹出的“字段计算器”对话框中,确保选择了正确的图层和需要进行计算的字段。
- 选择“Python”解析器,并勾选“启用代码块”和“高级模式”。
- 在“Pre-Logic Script Code”中输入以下代码:

需要输入得具体代码如下,完成之后,在下面白框执行函数。
#需输入函数代码
def set_value(fid):
""""
fid为参考字段
"""
if fid < 1000:
return "202012"
elif fid < 2000:
return "202101"
elif fid < 3000:
return "202102"
elif fid < 4000:
return "202103"
else:
return "2

文章介绍了如何在ArcGIS中通过字段计算器,利用Python代码批量根据FID字段的值为datetime字段赋以特定日期范围的值。通过编写一个def函数set_value(),根据FID的大小返回不同的日期字符串,然后在字段计算器中执行该函数,有效地解决了1675个记录的批量更新问题,显著提高了工作效率。
最低0.47元/天 解锁文章
1804





