HOW TO

Berechnen des Prozentsatzes eines Feldwerts aus einem angegebenen Feld in ArcGIS Pro

Last Published: March 3, 2023

Zusammenfassung

In ArcGIS Pro können Python-Ausdrücke verwendet werden, um den Prozentsatz eines Feldwerts aus einem angegebenen Feld zu berechnen.Dieser Artikel enthält ein Beispiel und Anweisungen dazu, wie Python-Ausdrücke zum Berechnen des Prozentsatzes der Bevölkerung für jeden Bezirk in Hongkong und zum Erstellen eines neues Felds in ArcGIS Pro verwendet werden.

Die folgende Abbildung zeigt die Attributtabelle "PopDis2021" der Bevölkerung für jeden Bezirk in Hongkong.

Die Attributtabelle "PopDist2021"

Vorgehensweise

  1. Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf die Feature-Class, und klicken Sie auf Attributtabelle, um die Attributtabelle der Feature-Class zu öffnen.
Öffnen der Attributtabelle der Feature-Class über den Bereich "Inhalt"
  1. Klicken Sie auf Berechnen, um das Werkzeug Feld berechnen zu öffnen.
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. Konfigurieren Sie im Dialogfeld Feld berechnen die folgenden Parameter:
    1. Wählen Sie für Eingabetabelle die Feature-Class aus.
    2. Wählen Sie unter Feldname (vorhanden oder neu) das Feld aus, das bearbeitet werden soll, oder erstellen Sie ein neues Feld. In diesem Beispiel wird das Feld "Prozentsatz" erstellt.
    3. Wählen Sie für Feldtyp einen ganzzahligen Feldtyp aus. In diesem Beispiel ist "Double (64-Bit-Gleitkomma)" ausgewählt.
    4. Wählen Sie als Ausdruckstyp die Option Python 3 aus.
    5. Geben Sie den folgenden Ausdruck im ersten Codeblock an. In diesem Beispiel wird "<fieldName1>" in Number_of_Persons umbenannt.
update(!<fieldName1>!)
  1. Geben Sie den folgenden Python-Ausdruck im Codeblock an:
    1. Definieren Sie die update()-Methode. In diesem Beispiel wird "<varName>" in numbPersons umbenannt.
def update(<varName>):
Note:
The following procedure must all be within the same indented code block. Refer to the full script sample for clarification.
  1. Importieren Sie das ArcPy-Modul, und erstellen Sie einen leeren Array-Parameter.
     import arcpy    
     list = []
  1. Erstellen Sie eine Schleife, um die Funktion "SearchCursor()" auszuführen, um alle Felder in den Array-Parameter in Schritt 3(f)(ii) einzufügen.
    with arcpy.da.SearchCursor(r"<featureClassPath>", ["<fieldName1>"]) as cursor:
        for row in cursor:
            list.append(row[0])
  1. Berechnen Sie die Summe des Wertes. In diesem Beispiel wird "<varName1>" in S umbenannt.
    <varName1> = sum(list)
  1. Geben Sie die folgende Anweisung an, um den Prozentsatz des Feldwerts zurückzugeben.
    return <varname> / <varname1> * 100

Der folgende Codeblock ist ein Beispiel für den vollständigen Ausdruck.

def update(numbPersons):
    import arcpy
    list = []
    with arcpy.da.SearchCursor(r"C:\Users\ISC-Testing\Documents\29398 calculate percentage\29398 calculate percentage.gdb\PopDist2021", ["Number_of_Persons"]) as cursor:
        for row in cursor:
            list.append(row[0])
    S = sum(list)
    return numbPersons / S * 100
  1. Klicken Sie auf Überprüfen, um einen Test des Ausdrucks auszuführen. Wenn der Ausdruck gültig ist, dann klicken Sie auf OK.
Der Bereich des Werkzeugs "Feld berechnen" mit den Parametern, die festgelegt werden sollen

Die folgende Abbildung zeigt das Feld "Prozentsatz", das der Attributtabelle "PopDist2021" hinzugefügt wurde.

Die Attributtabelle "PopDist2021" mit dem hinzugefügten Attributfeld "Prozentsatz"

Artikel-ID: 000029398

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