Respostas:
Eu não usei cursores do Arc 10.1, mas aparentemente é ainda mais fácil lá.
Na 10.0, existem algumas maneiras de fazer isso, mas aqui está uma abordagem básica para iniciantes:
# 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
Uma versão mais simples e condensada:
cur = arcpy.UpdateCursor(myFeatureClass)
for row in cur:
row.setValue('Area_Acres', row.getValue('Area_Miles') * 640)
cur.updateRow(row)
Consulte: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//000v0000003m000000
Bem, existem algumas maneiras de fazer isso.
Se o cálculo for bastante simples, eu usaria a ferramenta Calcular campo . Se você precisar usar o parâmetro code_block, eu usaria a opção 2, pois nem sempre é fácil obter a sintaxe correta em um script (ou na ferramenta em si).
Se você estiver interessado em criar mais scripts no futuro, recomendo o uso de cursores . Você pode gravar os valores de um campo em uma lista Python e executar seus cálculos em cada item da lista com um loop for e, em seguida, gravar a lista novamente em seu novo campo.
Raramente uso Calcular campo, pois é mais fácil criar cursores para todas as fórmulas, exceto as mais simples.