基于属性值的字段计算器

时间:2015-02-13 13:10:33

标签: python arcgis

我使用ArcGIS 10.2.2基本许可证,尝试根据以下参数填充属性表中的列:

'If field1 is equal to field2, return field3, if not, return 'null'' 

字段1和2是文本,字段3是数字。

我在现场计算器中试过这段代码:

预逻辑脚本代码块...

def calc(Score):
  if ( !Field1! == !Field2!):
    return !Field3!
  else:
    return 'null'

Score = calc(!Score!)

我真的很喜欢编码,所以我真的不确定这是否有意义(抱歉),但任何帮助将不胜感激。另外,有没有人知道如果专门为ArcGIS学习python是一个很好的起点?

似乎有数百个教程,但我找不到专门用于编辑表格等的任何内容。

1 个答案:

答案 0 :(得分:2)

对于Python代码块,您必须使用字段作为函数参数,例如:

def score(f1, f2, f3):
  if ( f1 == f2):
    return f3
  else:
    return None

表情:得分(!Field1!,!Field2!,!Field3!)

对于VB脚本代码块,您可以这样做:

Dim score
  if ( [Field1]== [Field2]) then
    score = [Field3]
  else
    score = vbnull
  end if

表情:得分

请注意,如果字段可以为空,则字段值只能设置为null。