Respuestas:
No he usado cursores Arc 10.1, pero aparentemente es aún más fácil allí.
En 10.0, hay algunas maneras de hacerlo, pero aquí hay un enfoque básico para principiantes:
# 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
Una versión más simple y condensada:
cur = arcpy.UpdateCursor(myFeatureClass)
for row in cur:
row.setValue('Area_Acres', row.getValue('Area_Miles') * 640)
cur.updateRow(row)
Ver: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//000v0000003m000000
Bueno, hay algunas maneras en que puedes hacer esto.
Si el cálculo es bastante simple, usaría la herramienta Calcular campo . Si necesita usar el parámetro code_block, iría con la opción # 2, ya que no siempre es fácil obtener la sintaxis correcta en un script (o en la herramienta en sí).
Si está interesado en crear más secuencias de comandos en el futuro, le recomiendo encarecidamente utilizar cursores . Puede escribir los valores de un campo en una lista de Python y realizar sus cálculos en cada elemento de la lista con un bucle for y luego volver a escribir la lista en su nuevo campo.
Raramente uso Calcular campo ya que es más fácil escribir cursores para todas las fórmulas, excepto las más simples.