Skip to main content

Felder berechnen (mehrere) (Data Management Tools)

Zusammenfassung

Hiermit werden die Werte von mindestens zwei Feldern für eine Feature-Class, einen Feature-Layer oder ein Raster berechnet.

Verwendung

Achtung:

Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter "Werkzeuge, die Eingabedaten ändern oder aktualisieren".

  • Weitere Informationen zu Python-Ausdrücken finden Sie unter "Feld berechnen: Python-Beispiele".

    Weitere Informationen zu Arcade-Ausdrücken finden Sie unter "ArcGIS Arcade" in der Hilfe für Entwickler.

    Weitere Informationen zu SQL-Ausdrücken finden Sie unter "Syntax für einen SQL-Ausdruck" und "Berechnen von Feldwerten".

    Weitere Informationen über VBScript-Ausdrücke finden Sie unter "Feld berechnen – VBScript-Beispiele".

  • Die Arcade-Ausdrücke dieses Werkzeugs verwenden das Arcade-Profil "Feldberechnung". Ein Arcade-Profil ist ein Kontext, in dem ein Arcade-Ausdruck ausgewertet und verstanden wird. Wenn ein Arcade-Ausdruck ausgewertet wird, wird der Rückgabewert in den Feldtyp des Ausgabewerts umgewandelt.

    Achtung:

    Mit Windows 11, Version 24H2, wird VBScript zu einem Feature on Demand und erfordert die VBScript-Funktion.

    Führen Sie einen der folgenden Schritte aus, um die Option VBScript weiterhin zu verwenden:

    • Konvertieren Sie den Ausdruckstyp in Python, Arcade oder SQL.

    • Aktivieren Sie die optionale VBScript-Unterstützung in den Windows-Systemeinstellungen.

    Weitere Informationen finden Sie unter Hinweise zur Abkündigung und zu veralteten Funktionen.

  • Bei Verwendung mit einem ausgewählten Feature-Satz, wie zum Beispiel den mit einer Abfrage im Werkzeug Feature-Layer erstellen oder Layer nach Attributen auswählen erstellten Features, werden nur die ausgewählten Datensätze aktualisiert.

  • Vorhandene Feldwerte werden überschrieben. Um die ursprünglichen Werte beizubehalten, erstellen Sie eine Kopie der Eingabetabelle als Sicherung, oder verwenden Sie die Option Rückgängig aktivieren im Bereich Geoverarbeitung.

  • Bei Berechnungen mit Python müssen Feldnamen in Ausrufezeichen eingeschlossen werden (z. B. !fieldname!).

    Bei Berechnungen mit Arcade müssen Feldnamen das Präfix $feature. (beispielsweise $feature.fieldname) erhalten.

    Hinweis:

    Um Zeitwerte zwischen Feldtypen (Datum, Nur Datum, Nur Zeit, Zeitstempelversatz und Text) zu übertragen, verwenden Sie stattdessen das Werkzeug [Zeitfeld](convert-time-field.yml) konvertieren.

  • Wenn Sie eine Zeichenfolge für ein Text- oder Zeichenfeld berechnen möchten, muss die Zeichenfolge im Dialogfeld in doppelte Anführungszeichen (z. B. "Zeichenfolge") gesetzt werden, in Skripten dagegen muss die Zeichenfolge zusätzlich in einfache Anführungszeichen eingeschlossen werden (z. B. '"string"').

  • Wenn Sie einen numerischen Wert für ein Feld berechnen möchten, geben Sie im Parameter Ausdruck nur den numerischen Wert ohne Anführungszeichen an.

  • Sie können komplexe Ausdrücke mit dem Parameter Code-Block erstellen. Geben Sie den Codeblock direkt im Dialogfeld oder als Zeichenfolge bei der Skripterstellung ein. Der Ausdruck und der Code-Block sind miteinander verbunden. Der Code-Block muss zurück auf den Ausdruck verweisen. Das Ergebnis des Code-Blocks muss an den Ausdruck übergeben werden.

    Der Parameter Code-Block wird nur für Python-Ausdrücke unterstützt.

  • Sie können das Python-Modul math und die Formatierung im Code-Block verwenden. Sie können auch weitere Module importieren. Das Modul math enthält neben zahlentheoretischen und Repräsentationsfunktionen auch Potenz- und Logarithmusfunktionen sowie trigonometrische Funktionen, Winkelkonvertierungsfunktionen, hyperbolische Funktionen und mathematische Konstanten. Weitere Informationen zum Modul math finden Sie in der Hilfe von Python.

  • Zum Berechnen von Geometrieinformationen in Python verwenden Sie Geometry-Objekteigenschaften. Verwenden Sie beispielsweise zum Berechnen der Anzahl der Stützpunkte in einem Feature den Ausdruck !shape!.pointCount!.

    Hinweis:

    Das Werkzeug Geometrieattribute berechnen berechnen unterstützt ähnliche Berechnungen.

    Zum Berechnen der Fläche und Länge in Python verwenden Sie die Methoden getArea und getLength mit einer Methode und einem Einheitstyp.

    • Zum Berechnen der geodätischen Fläche von Polygonen in Quadratkilometern verwenden Sie den folgenden Ausdruck:

      !shape!.getArea('GEODESIC', 'SQUAREKILOMETERS')!

    • Zum Berechnen der planaren Länge von Polylinien (oder Polygonen) in Yards verwenden Sie den folgenden Ausdruck:

      !shape!.getLength('PLANAR', 'YARDS')

    Weitere Informationen finden Sie unter "ArcPy- Polygon- und Polyline-Objekte".

    Weitere Informationen zu Geoverarbeitungswerkzeugen und linearen Einheiten sowie Flächeneinheiten

  • Beim Arbeiten mit verbundenen Daten können Sie nur Felder aus der Quelltabelle aktualisieren. Sie können keine Felder aus der verbundenen Tabelle aktualisieren. Zum Durchführen einer Berechnung für die verbundene Tabelle führen Sie die Berechnung direkt für die Tabelle durch.

  • Python-Ausdrücke, bei denen versucht wird, Zeichenfolgenfelder, die NULL enthalten oder einen durch Null geteilten Wert, zu verbinden, geben NULL für diesen Feldwert zurück.

  • SQL-Ausdrücke ermöglichen schnellere Berechnungen für Feature-Services. Statt Features oder Zeilen einzeln nacheinander zu berechnen, wird eine einzelne Anforderung an den Server gesendet. Dies führt zu schnelleren Berechnungen.

    Nur Feature-Services unterstützen SQL-Ausdrücke. Verwenden Sie für andere Formate Python- oder Arcade-Ausdrücke.

    Die Verwendung der Option SQL des Parameters Ausdruckstyp unterliegt den folgenden Beschränkungen:

Parameter

Beschriftung Erläuterung Datentyp

Eingabetabelle

Die Tabelle, die die Felder enthält, die mit den neuen Berechnungen aktualisiert werden.

Table View; Raster Layer; Mosaic Layer

Ausdruckstyp

Gibt den zu verwendenden Ausdruckstyp an.

Wenn die Eingabe ein Feature-Service ist, lautet der Standardausdruckstyp SQL. Für alle anderen Eingabearten lautet der Standardausdruckstyp Python.

Weitere Informationen zu Python-Ausdrücken finden Sie unter "Feld berechnen: Python-Beispiele".

Weitere Informationen zu Arcade-Ausdrücken finden Sie unter "ArcGIS Arcade" in der Hilfe für Entwickler.

Weitere Informationen zu SQL-Ausdrücken finden Sie unter "Syntax für einen SQL-Ausdruck" und "Berechnen von Feldwerten".

Weitere Informationen über VBScript-Ausdrücke finden Sie unter "Feld berechnen – VBScript-Beispiele".

  • PythonEs wird der Ausdruckstyp "Python" verwendet.

  • ArcadeEs wird der Ausdruckstyp "ArcGIS Arcade" verwendet.

  • SQLEs wird der SQL-Ausdruckstyp verwendet.

  • VBScript (Veraltet)Es wird der Ausdruckstyp "VBScript" verwendet.

String

Felder

Die Felder, die berechnet werden sollen, die Ausdrücke, die berechnet werden sollen, und optionale WHERE-Klauseln und Feldtypen.

Der optionale SQL-Ausdruck wird zum Auswählen einer Teilmenge der Datensätze verwendet. Nur Datensätze, die mit dieser WHERE-Klausel übereinstimmen, werden berechnet. Wenn die WHERE-Klausel leer gelassen wird, werden alle Datensätze berechnet. Weitere Informationen zur SQL-Syntax finden Sie unter "SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke".

Wenn unter dem angegebenen Namen kein Feld in der Eingabetabelle vorhanden ist, wird ein entsprechendes Feld hinzugefügt. Der Typ des Feldes wird anhand des Wertes für den Feldtyp festgelegt. Wird der Feldtyp nicht angegeben, wird das Feld als Textfeld hinzugefügt.

Spalten der Wertetabelle:

  • Field Name (Existing or New)The field that will be updated with the new calculation. If a field with the specified name does not exist in the input table, it will be added.

  • ExpressionThe expression that will be used to create a value that will populate the selected rows.

  • Where ClauseThe SQL expression that will be used to select a subset of records.

  • Field TypeSpecifies the field type of the new field. This value is only used when the field name does not exist in the input table.

    • Short (16-bit integer)The field type will be short. Short fields support whole numbers between -32,768 and 32,767.

    • Long (32-bit integer)The field type will be long. Long fields support whole numbers between -2,147,483,648 and 2,147,483,647.

    • Big integer (64-bit integer)The field type will be big integer. Big integer fields support whole numbers between -(253) and 253.

    • Float (32-bit floating point)The field type will be float. Float fields support fractional numbers between -3.4E38 and 1.2E38.

    • Double (64-bit floating point)The field type will be double. Double fields support fractional numbers between -2.2E308 and 1.8E308.

    • TextThe field type will be text. Text fields support a string of characters.

    • DateThe field type will be date. Date fields support date and time values.

    • Date (high precision)The field type will be high precision date. High precision date fields support date and time values with millisecond time.

    • Date onlyThe field type will be date only. Date only fields support date values with no time values.

    • Time onlyThe field type will be time only. Time only fields support time values with no date values.

    • Timestamp offsetThe field type will be timestamp offset. Timestamp offset fields support a date, time, and offset from a UTC value.

    • BLOB (binary data)The field type will be BLOB. BLOB fields support data stored as a long sequence of binary numbers. You need a custom loader or viewer or a third-party application to load items into a BLOB field or view the contents of a BLOB field.

    • GUID (globally unique identifier)The field type will be GUID. GUID fields store registry-style strings consisting of 36 characters enclosed in curly brackets.

    • RasterThe field type will be raster. Raster fields can store raster data in or alongside the geodatabase. All ArcGIS software-supported raster dataset formats can be stored, but it is recommended that only small images be used.

Value Table

Code-Block

(Optional)

Ein Block mit Code, der für komplexe Ausdrücke verwendet wird.

Zum Zurückgeben von mehreren Werten kann keine Funktion verwendet werden.

String

Domänen erzwingen

(Optional)

Gibt an, ob Felddomänenregeln erzwungen werden.

  • AktiviertFelddomänenregeln werden erzwungen.

  • DeaktiviertFelddomänenregeln werden nicht erzwungen. Dies ist die Standardeinstellung.

Boolean

Abgeleitete Ausgabe

Beschriftung Erläuterung Datentyp

Ausgabetabelle

Die aktualisierte Tabelle.

Table View; Raster Layer; Mosaic Layer

Umgebungen

Global-IDs beibehalten

Lizenzierungsinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja