HOW TO
In ArcGIS Pro kann die Python-Funktion "len()" in Feldberechnungen verwendet werden, um die Anzahl der Zeichen in einem Textfeld zu zählen und zurückzugeben. Die Funktion kann z. B. in Ausdrücken verwendet werden, um ein Feld mit Werten aufzufüllen, die auf der Zeichenanzahl von Zellen in einem anderen Feld basieren, was bei der Arbeit mit standardisierten Codes oder Akronymen nützlich sein kann.
Die folgende Abbildung zeigt das Feld "Category" mit Akronymen in der Attributtabelle eines Features in ArcGIS Pro. In diesem Artikel wird ein neues Feld mit zusätzlichen Zeichen aufgefüllt, wenn die Werte im Feld "Category" drei oder zwei Zeichen anstelle von vier Zeichen enthalten.

Note: The workflow in this article can only be applied to fields with the text data type, as the len() function is used to count the characters in a string.



calculate_field(!<fieldName>!)
def calculate_field(<field>):
if (len(<field>) == <characters>):
return ("<value>" + <field>)
else:
return (<field>)
def calculate_field(<field>):
if (len(<field>) == <characters>):
return ("<value>" + <field>)
elif (len(<field>) == <characters>):
return ("<value>" + <field>)
else:
return (<field>)
Note: The if…elif..else statement is used to include more than a single number of characters from the input field to be counted.
Der folgende Code-Block zeigt den funktionsfähigen Ausdruck mit der Anweisung if... else.
def calculate_field(cat):
if (len(cat) == 3):
return ("A" + cat)
else:
return (cat)
Der folgende Code-Block zeigt den funktionsfähigen Ausdruck mit der Anweisung if…elif…else.
def calculate_field(cat):
if (len(cat) == 3):
return ("A" + cat)
elif (len(cat) == 2):
return ("AA" + cat)
else:
return (cat)

Die folgende Abbildung zeigt das Feld "Code", das mit den zusätzlichen Zeichen "A" oder "AA" aufgefüllt wird, wenn die Werte des Feldes "Category" drei oder zwei Zeichen anstelle von vier Zeichen enthalten.

Artikel-ID: 000032254
Unterstützung durch ArcGIS-Experten anfordern
Beginnen Sie jetzt mit dem Chatten