Instrução
No ArcGIS Pro, a função sum() na ferramenta Calcular Campo pode ser utilizada para calcular a soma de cada registro a partir de uma lista de campos numéricos. No entanto, quando a classe de feição ou tabela contém um grande número de campos, é impraticável selecionar manualmente todos os campos numéricos.
O script ArcPy fornecido neste artigo pode ser utilizado para calcular a soma dos valores de todos os campos numéricos em uma classe de feição ou tabela.
Neste exemplo, há cinco campos numéricos na classe de feição 'Point1', conforme mostrado na próxima imagem.

import arcpy
# Set the path to the feature class or the table
table = r""
# Add a new field to the table
arcpy.management.AddField(table, "SumField", "DOUBLE")
# Use UpdateCursor to iterate through the rows of the table
with arcpy.da.UpdateCursor(table, "*") as cursor:
for row in cursor:
# Initialize a variable to store the sum
total = 0
# Iterate through each field in the row
for i in range(len(row)):
# Check if the field is numeric and not OBJECTID, Shape_Length, and Shape_Area
if isinstance(row[i], (int, float, complex)) and cursor.fields[i] not in ['OBJECTID', 'Shape_Length', 'Shape_Area']:
# Add the field's value to the total
total += row[i]
# Update the new field with the total
row[cursor.fields.index('SumField')] = total
cursor.updateRow(row)
A soma dos campos numéricos para cada feição agora é preenchida no novo campo, 'SumField'.

ID do Artigo: 000029132
Obtenha ajuda de especialistas do ArcGIS
Comece a conversar agora