Weitere Informationen über Python-Ausdrücke finden Sie unter Feld berechnen – Python-Beispiele.
Weitere Informationen über Arcade-Ausdrücke finden Sie unter ArcGIS Arcade in der Developer-Hilfe.
Weitere Informationen zu SQL-Ausdrücken finden Sie unter Berechnen von Feldwerten.
Weitere Informationen über VBScript-Ausdrücke finden Sie unter Feld berechnen – VBScript-Beispiele.
In den Arcade-Ausdrücken dieses Werkzeugs wird das Arcade-Profil "Feldberechnung" verwendet. 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.
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.
Sie können die Berechnung jeweils nur für ein Feld durchführen. Für mehrere Berechnungen verwenden Sie das Werkzeug Felder berechnen.
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.
Um Zeitwerte zwischen Feldtypen (Datum, Nur Datum, Nur Zeit, Zeitstempelversatz und Text) zu übertragen, verwenden Sie stattdessen das Werkzeug Zeitfeld 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.
Vorversion:
arcgis.rand() wird ab ArcGIS Pro 2.0 nicht mehr unterstützt. Stattdessen sollten vergleichbare Funktionen unter Verwendung des random-Moduls von Python verwendet werden. Um das random-Modul erfolgreich zu verwenden, fügen Sie es als Import in den Parameter Code-Block ein.
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!.
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 in den Abschnitten zu ArcPy Polygon- und Polyline-Objekten.
Weitere Informationen zu Geoverarbeitungswerkzeugen und linearen Einheiten sowie Flächeneinheiten
ArcGIS-Anwendungen verwenden UTF-16-LE-Codierung zum Lesen und Schreiben von .cal-Dateien. Andere Anwendungen (z. B. Notepad) können zum Erstellen oder Ändern von .cal-Dateien verwendet werden, solange die Datei mit UTF-16-LE-Codierung geschrieben wird. Eine Datei mit einer anderen Codierung wird im Codeblock nicht geladen.
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 und Enterprise-Geodatabases. Statt Features oder Zeilen einzeln nacheinander zu berechnen, wird eine einzelne Anforderung an den Server oder die Datenbank gesendet. Dies führt zu schnelleren Berechnungen.
Nur Feature-Services und Enterprise-Geodatabases 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:
- Die Option wird nur für Db2-, Oracle-, PostgreSQL-, SAP HANA- und SQL Server-Enterprise-Geodatabases unterstützt.
- Die Berechnung von Feldwerten in verbundenen Tabellen wird nicht unterstützt.
- Versionierte und archivierte Enterprise-Geodatabase-Daten werden nicht unterstützt.
- Das Rückgängigmachen von Geoverarbeitungsvorgängen wird nicht unterstützt.
Hilfe zu SQL-Ausdrücken finden Sie in der Dokumentation Ihres Datenbankanbieters.
Der Parameter Ausdruck im Dialogfeld des Werkzeugs enthält eine Dropdown-Liste Werte einfügen, in der Sie Feldwerte aus dem ausgewählten Feld in der Liste Felder oder Domänenwerte aus der Domäne des ausgewählten Feldes hinzufügen können. Verwenden Sie die Domänenwerte, um sicherzustellen, dass nur gültige Werte für die Felddomäne in das Feld eingefügt werden.