基于属性值的字段计算器
field calculator based on attribute values
我正在使用 ArcGIS 10.2.2 基本许可,尝试根据以下参数在属性 table 中填充一列:
'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 是否是一个好的起点吗?
似乎有数百个教程,但我找不到任何专门用于编辑 tables 等的内容。
似乎对于Python代码块,你必须使用字段作为函数参数,例如:
def score(f1, f2, f3):
if ( f1 == f2):
return f3
else:
return None
表达式:score(!Field1!, !Field2!, !Field3!)
而对于 VB 脚本代码块,您可以这样做:
Dim score
if ( [Field1]== [Field2]) then
score = [Field3]
else
score = vbnull
end if
表达式:得分
请注意,如果字段可为空,则该字段值只能设置为空。
我正在使用 ArcGIS 10.2.2 基本许可,尝试根据以下参数在属性 table 中填充一列:
'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 是否是一个好的起点吗?
似乎有数百个教程,但我找不到任何专门用于编辑 tables 等的内容。
似乎对于Python代码块,你必须使用字段作为函数参数,例如:
def score(f1, f2, f3):
if ( f1 == f2):
return f3
else:
return None
表达式:score(!Field1!, !Field2!, !Field3!)
而对于 VB 脚本代码块,您可以这样做:
Dim score
if ( [Field1]== [Field2]) then
score = [Field3]
else
score = vbnull
end if
表达式:得分
请注意,如果字段可为空,则该字段值只能设置为空。