回答:
私はArc 10.1カーソルを使用していませんが、明らかにそれはもっと簡単です。
10.0では、いくつかの方法で対処できますが、以下に基本的な初心者のアプローチを示します。
# Create a cursor on a feature class
cur = arcpy.UpdateCursor(myFeatureClass)
# Loop through the rows in the attribute table
for row in cur:
# The variable sqMiles will get the value from the column
# named 'Area_Miles'
sqMiles = row.getValue('Area_Miles')
# Calculate how many acres
acres = (sqMiles * 640)
# Assign the acres to a column named 'Area_Acres'
row.setValue('Area_Acres', acres)
# Apply the change
cur.updateRow(row)
# The loop will then move on to the next row/feature
よりシンプルで凝縮されたバージョン:
cur = arcpy.UpdateCursor(myFeatureClass)
for row in cur:
row.setValue('Area_Acres', row.getValue('Area_Miles') * 640)
cur.updateRow(row)
参照:http : //help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//000v0000003m000000
これを行うにはいくつかの方法があります。
計算がかなり簡単であれば、フィールド計算ツールを使用します。code_blockパラメーターを使用する必要がある場合は、スクリプト(またはツール自体)で構文を正しく取得することが必ずしも容易ではないため、オプション#2を使用します。
将来的にスクリプトの作成に関心がある場合は、カーソルを使用することを強くお勧めします。1つのフィールドからPythonリストに値を書き込み、forループを使用してリスト内の各項目に対して計算を実行してから、リストを新しいフィールドに書き戻すことができます。
最も単純な数式を除くすべてのカーソルをスクリプト化する方が簡単なので、フィールドの計算を使用することはほとんどありません。