Arcpy - 选择属性并向要素类添加属性

时间:2014-05-13 22:37:32

标签: selection populate arcpy

我有一个名为 waterlevelDifference 的.gdb和1个要素类。有两列名为标签(文本字段)和差异(双字段)。 差异列包含数字,而Label列为空并等待填充。

我想要做的是从差异中选择属性(例如差异> 0.30)然后填充标签(例如Label =“大于0.30”)根据选择。最初我打算使用 arcpy.SelectLayerByAttribute_management (选择属性),然后使用 arcpy.CalculateField_management (填充),但不能使用 arcpy。功能类上的SelectLayerByAttribute_management

我的问题是,我可以使用要素类选择和填充属性的其他方法是什么?

1 个答案:

答案 0 :(得分:2)

最简单的方法是在ArcMap的字段计算器中使用python代码块,但是如果你想在脚本中执行它,我会创建一个arcpy.UpdateCursor(),然后计算Label的值并逐行添加。

feature_class = r"path\to\class"
cursor = arcpy.UpdateCursor(feature_class)
for row in cursor:
  label = ""
  difference = row.getValue('Difference')
  if difference == 0:
    label += "Label is 0"
  elif difference > 0.30:
    // ...
  row.setValue("Label", label)
  cursor.updateRow(row)