HOW TO

Subtrahieren von Feldwerten und Ausschließen negativer Ergebnisse mit Python in ArcGIS Pro

Last Published: February 14, 2024

Beschreibung

In ArcGIS Pro können Feldwerte von einem angegebenen Wert subtrahiert werden und negative Ergebnisse zurückgeben, wie in der folgenden Abbildung dargestellt. Es ist jedoch notwendig, negative Ergebnisse zu vermeiden, da dies bei bestimmten Geodatenoperationen zu Fehlern oder unerwarteten Ergebnissen führen kann. Bei Analysen der Nähe oder Berechnungen von Pufferzonen kann die Interpretation negativer Entfernungen schwieriger sein. Wenn z. B. ein Puffer um ein Feature erstellt wird und zu einer negativen Entfernung führt, kann dies auf einen Fehler in der Analyse oder den Daten hinweisen.

Bei der Subtraktion werden negative Werte zurückgegeben

In diesem Artikel wird der Workflow zum Subtrahieren von Feldwerten und zum Ausschließen negativer Ergebnisse mithilfe von Python in ArcGIS Pro beschrieben.

Lösung oder Problemumgehung

  1. Öffnen Sie das Projekt in ArcGIS Pro.
  2. Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Feature-Layer, der die Werte für die Subtraktion enthält, und klicken Sie auf Attributtabelle.
  3. Öffnen Sie das Werkzeug "Feld berechnen" in der Attributtabelle des Feature-Layers.
    1. Wählen Sie für Eingabetabelle den Feature-Layer in der Dropdown-Liste aus.
    2. Wählen Sie das Feld mit den Werten für die Subtraktion in der Dropdown-Liste Feldname (vorhanden oder neu) aus. In diesem Beispiel ist das Feld "Subtract" ausgewählt.
    3. Wählen Sie als Ausdruckstyp die Option Python 3 in der Dropdown-Liste aus.
    4. Geben Sie das Feld "Subtract" mit dem folgenden Python-Ausdruck in das Textfeld Ausdruck ein. Ersetzen Sie "<fieldName>" durch den Feldnamen. In diesem Beispiel ist es "Subtract".
fancy_subtract(!<fieldName>!)
  1. Geben Sie den folgenden Python-Ausdruck im Code-Block an, und klicken Sie auf OK. Ersetzen Sie "<subtractionValue>" durch den gewünschten Wert, der subtrahiert werden soll. In diesem Beispiel wird 1200 angegeben.
def fancy_subtract(subtract_from):
  value = <subtractionValue>
    if subtract_from < value:
        return 0
    else:
        diff = subtract_from - value 
        return diff
Das zu konfigurierende Werkzeug "Feld berechnen"

Die Abbildung unten zeigt keine negativen Werte, wenn die Subtraktion zu einer negativen Zahl führt.

Die Werte im Feld sind 0, wenn die Subtraktion eine negative Zahl ergibt

Artikel-ID: 000031888

Holen Sie sich Unterstützung mit KI

Lösen Sie Ihr Problem schnell mit dem Esri Support AI Chatbot.

Beginnen Sie jetzt mit dem Chatten

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Beginnen Sie jetzt mit dem Chatten

Zu Download-Optionen wechseln