使用基于多个字段的If / Else语句重新分类“添加字段”

时间:2018-07-31 22:04:58

标签: python if-statement arcmap

我对Python来说还太陌生,无法自己理解。去吧:

我有一个流量计数数据表,其中包括:街道位置|方向| Dir__NB_or | Dir_SB_or和我正在尝试将重新分类写入Count的新字段中。

我正在寻找的脚本是这样说的:“ 如果方向是N或E,则将Dir__NB_or插入到Count字段中”

这就是我所拥有的(可能太恐怖了),但我会感激您能提供的任何帮助!

Reclass (Dir__NB_or , Dir_SB_or, Direction):
    if (Direction == "N"):
           return Dir__NB_or
    elif (Direction == "S"):
            return Dir_SB_or
    elif (Direction == "E"):
            return Dir__NB_or
    elif (Direction == "W"):
            return Dir_SB_or
    else:
            return "0000"

Count = Reclass ( !Dir__NB_or! , !Dir_SB_or!, !Direction! )

编辑:我应该提到我正在使用ESRI的ArcMap和字段计算器执行此任务。

2 个答案:

答案 0 :(得分:0)

只需结合您的if条件。我不明白您的意思是“如果方向为N或E,则将插入 Dir__NB_或插入字段Count ”粗体字

if (Direction == "N") or (Direction == "E"):
    return Dir__NB_or
elif (Direction == "S") or (Direction == "W"):
    return Dir_SB_or
else:
    return "0000"

答案 1 :(得分:0)

从属性表字段计算器中尝试一下,在属性表字段计算器中的“显示代码块”上进行标记检查

在逻辑前脚本代码中键入以下内容:

def pFunction(Direction,DirNB,DirSB):
  if (Direction == "N") or (Direction == "E"):
    return DirNB
  elif (Direction == "W") or (Direction == "S"):
    return DirSB
  else:
    return 00

,并且在下部文本框中

pFunction(!Direction!,!Dir__NB_or!,!Dir_SB_or!)