HOW TO

Berechnen der Summe aller numerischen Attributfeldwerte mithilfe von ArcPy in ArcGIS Pro

Last Published: April 7, 2023

Zusammenfassung

In ArcGIS Pro kann die Funktion sum() des Werkzeugs "Feld berechnen" verwendet werden, um aus einer Liste numerischer Felder die Summe für jeden Datensatz zu berechnen. Enthält die Feature-Class oder Tabelle jedoch eine große Anzahl von Feldern, ist es umständlich, alle numerischen Felder manuell auszuwählen.

Mit dem in diesem Artikel bereitgestellten ArcPy-Skript kann für alle numerischen Felder, die in einer Feature-Class oder Tabelle enthalten sind, die Summe der Werte berechnet werden.

In diesem Beispiel enthält die Feature-Class "Point1" fünf numerische Felder, wie in der nächsten Abbildung zu sehen ist.

Das Attributfeld der Feature-Class "Point1" in ArcGIS Pro

Vorgehensweise

  1. Klicken Sie in ArcGIS Pro auf der Registerkarte Analyse auf den Pfeil nach unten neben Python, und klicken Sie auf Python-Fenster.
  2. Geben Sie im Python-Fenster das untenstehende Python-Skript ein. Ersetzen Sie "<Pfad>" durch den Pfad zur Feature-Class bzw. Tabelle.
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)
  1. Platzieren Sie den Cursor am Ende des Skripts, und drücken Sie zweimal die Eingabetaste.

Die Summe der numerischen Felder für jedes Feature wird nun in das neue Feld "SumField" eingetragen.

Das Attributfeld der Feature-Class "Point1" mit dem neuen Feld, das das Ergebnis des ArcPy-Skripts enthält

Artikel-ID: 000029132

Benachrichtigungen erhalten und Lösungen für neue oder häufige Probleme finden

Unser neuer KI-Chatbot stellt zusammengefasste Antworten und Videolösungen für Sie bereit.

Esri Support App herunterladen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln