Jawaban:
Saya belum pernah menggunakan kursor Arc 10.1, tetapi tampaknya lebih mudah di sana.
Di 10.0, ada beberapa cara untuk melakukannya, tapi inilah pendekatan dasar dan pemula:
# 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
Versi yang lebih sederhana dan ringkas:
cur = arcpy.UpdateCursor(myFeatureClass)
for row in cur:
row.setValue('Area_Acres', row.getValue('Area_Miles') * 640)
cur.updateRow(row)
Lihat: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//000v0000003m000000
Nah, ada beberapa cara Anda bisa melakukan ini.
Jika perhitungannya cukup sederhana, saya akan menggunakan alat Calculate Field . Jika Anda perlu menggunakan parameter code_block, saya akan menggunakan opsi # 2 karena tidak selalu mudah mendapatkan sintaks yang benar dalam skrip (atau dalam alat itu sendiri dalam hal ini).
Jika Anda tertarik untuk menulis skrip lebih banyak di masa mendatang, saya sangat merekomendasikan menggunakan kursor . Anda bisa menulis nilai dari satu bidang ke dalam daftar Python dan melakukan perhitungan Anda pada setiap item dalam daftar dengan for for dan kemudian menulis daftar kembali ke bidang baru Anda.
Saya jarang menggunakan Calculate Field lagi karena skrip kursor lebih mudah untuk semua kecuali rumus paling sederhana.