HOW TO

Konvertieren eines Zeichenfolgenfeldes in ein numerisches Feld

Last Published: January 13, 2023

Zusammenfassung

In einigen Szenarien ist es erforderlich in einer Attributtabelle ein Feld mit Zeichenfolgenwerten (Text) in numerische Werte zu konvertieren. Häufig ist der Grund, dass die Originaldaten nicht festgelegt oder nicht erkannt wurden, oder dass keine richtige Datenanalyse durchgeführt werden kann. Die Methode zum Konvertieren von Feldern in unterschiedliche Typen ist Daten in ein neues Feld dieses gewünschten Typs zu kopieren. Insbesondere beim Freigeben oder Importieren von Daten aus externen Quellen wird dies zum Erhalt der Datenintegrität angewandt.

Im Folgenden werden drei Lösungen beschrieben: Die erste gilt für ArcGIS Pro 1.x und 2.x, die zweite für ArcGIS Desktop 10.x und die dritte für ältere Software (z. B. ArcView GIS 3.x.).

Vorgehensweise

Für ArcGIS Pro 1.x und 2.x

  1. Öffnen Sie ein ArcGIS Pro-Projekt, und fügen Sie dem Projekt die entsprechenden Daten/Tabellen hinzu.
  2. Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf die Daten oder die Tabelle, und wählen Sie Attributtabelle aus.
  3. Klicken Sie auf die Schaltfläche Hinzufügen, um ein neues Feld zu erstellen. Abbildung der Schaltfläche
  4. Legen Sie in der Listenansicht Felder die folgenden Eigenschaften fest:
    1. Legen Sie einen Namen für das neue Feld fest.
    2. Legen Sie den Datentyp auf einen numerischen Typ fest. Am häufigsten sind Felder der Typen "Long" oder "Double".
    3. Legen Sie das Zahlenformat auf Numerisch fest, und passen Sie die Einstellungen nach Wunsch an.
    4. Legen Sie ggf. die Werte für Domäne, Standard und Länge des Feldes fest.
  5. Klicken Sie auf dem oberen Menüband (der Registerkarte Felder) auf Speichern, um die Änderungen an der Tabelle zu speichern, und schließen Sie die Ansicht Felder.
  6. Klicken Sie mit der rechten Maustaste auf die Überschrift des neu erstellten numerischen Feldes, und wählen Sie Feld berechnen aus. Das Dialogfeld Feld berechnen der Geoverarbeitung wird geöffnet.
  7. Die Felder Eingabetabelle, Feldname und Ausdruckstyp werden automatisch gefüllt. Lokalisieren Sie im Listenfenster Ausdrucksfelder das Zeichenfolgenfeld mit den Attributen, die in das neu erstellte numerische Feld übertragen werden müssen, und doppelklicken Sie darauf. Im Textfeld Ausdruck wird der folgende Ausdruck eingegeben:
!<String field name>!
Das Dialogfeld
  1. Klicken Sie auf Ausführen, um das Werkzeug auszuführen.
Hinweis: Wenn das Zeichenfolgenfeld NULL-Werte enthält (leer ist), kann das Werkzeug möglicherweise nicht ausgeführt werden. Wenn Sie das neue numerische Feld erstellen, muss das Feld NULL-Werte erlauben, damit Nullwerte aus dem Zeichenfolgenfeld importiert werden können. Weitere Informationen finden Sie in der ArcGIS Pro-Webhilfe unter Feld hinzufügen.

Für ArcGIS Desktop 10.x

  1. Öffnen Sie ArcMap und die Layer- oder File-Geodatabase-Attributtabelle.
  2. In ArcMap kann der Datentyp des Feldes überprüft werden, indem mit der rechten Maustaste auf die Kopfzeile des Feldes geklickt und Eigenschaften ausgewählt wird.
Das Dialogfeld
  1. Klicken Sie oben links im Fenster Tabelle auf die Dropdown-Schaltfläche Tabellenoptionen Die Schaltfläche , und wählen Sie Feld hinzufügen aus.
Hinweis: Die Option Feld hinzufügen ist nur dann verfügbar, wenn der Benutzer Schreibzugriff auf die Daten besitzt und nicht durch andere Benutzer oder Anwendungen auf die Daten zugegriffen wurde. Diese Option ist auch deaktiviert, wenn die Karte in einer Editiersitzung verwendet wird.
  1. Geben Sie einen Namen für das neue Feld an.
  2. Legen Sie den Typ des Feldes auf einen numerischen Typ fest, wie zum Beispiel Long Integer oder Double.
  3. Legen Sie Genauigkeit und Maßstab nach Wunsch fest.
  4. Klicken Sie auf OK.
  1. Klicken Sie mit der rechten Maustaste auf die Kopfzeile des neu erstellten Feldes, und wählen Sie Feldberechnung aus.
  2. Wenn das Zeichenfolgenfeld nur numerische Werte enthält, dann führen Sie die folgenden Schritte aus, um die Attribute in das numerische Feld zu kopieren:
    1. Legen Sie VB Script als Parser fest.
    2. Geben Sie den [Namen des Zeichenfolgenfeldes] in das Ausdrucksfenster ein, oder wählen Sie das Zeichenfolgenfeld in der Liste der Felder aus, und klicken Sie auf OK.
Das Dialogfeld
  1. Wenn das Zeichenfolgenfeld alphanumerische und numerische Werte enthält, dann führen Sie die folgenden Schritte aus, um die Attribute zu kopieren:
    1. Legen Sie VB Script als Parser fest, und aktivieren Sie das Kontrollkästchen Code-Block anzeigen.
    2. Kopieren Sie den folgenden Code in das Textfenster Pre-Logic Script Code, und ersetzen Sie den Namen des Zeichenfolgenfeldes durch den Namen des zu konvertierenden Feldes. Behalten Sie die linke und die rechte Klammer bei:
Dim String, Check String = [String field name] Check = IsNumeric(String) If Check = True then Output = CDbl(String) else Output = null End if
Hinweis: Ersetzen Sie in der fünften Zeile "CDbl(String)" durch die folgenden Funktionen entsprechend dem in Schritt 3(b) ausgewählten numerischen Feldtyp: - Integer: CInt(String) - Long: CLng(String) - Double: CDbl(String)
  1. Geben Sie in das zweite Ausdrucksfenster (in diesem Beispiel "DoubleV =") Folgendes ein:
Ausgabe
Die folgende Abbildung zeigt, wie das Dialogfeld Feldberechnung aussieht. In diesem Beispiel wird das Zeichenfolgenfeld in ein Double-Feld konvertiert.
Der in das Fenster
  1. Klicken Sie auf OK. Sobald das Skript abgeschlossen ist, werden in das numerische Feld die Werte des Zeichenfolgenfeldes aufgenommen.
Hinweis: Wenn ein Zeichenfolgenfeld Werte mit nicht numerischen Zeichen oder Symbolen enthält, bleibt der Wert dieser Zelle beim Konvertieren in das numerische Feld <Null> (Standardwert).

Für ArcView GIS 3.x

Hinweis: ArcView GIS ist ein seit Dezember 2012 eingestelltes Produkt. Die folgenden Anweisungen dienen nur zur Information.

Um ein Zeichenfolgenfeld in ein Zahlenfeld zu konvertieren, erstellen Sie ein neues Zahlenfeld, und kopieren Sie die Werte aus dem Ursprungsfeld in das neue Feld.

Hinzufügen eines Zahlenfeldes zur Tabelle

  1. Öffnen Sie die Tabelle, und wählen Sie Bearbeitung starten im Menü Tabelle aus.
  2. Wählen Sie Feld hinzufügen im Menü Bearbeiten aus.
  3. Im Dialogfeld Felddefinition:
    1. Legen Sie Name auf einen passenden Namen fest, z. B. "Fläche".
    2. Legen Sie für Typ die Option Zahl fest.
    3. Legen Sie Breite auf eine passende Zahl fest, z. B. "32".
    4. Legen Sie Dezimalstellen auf die gewünschte Anzahl fest, z. B. "6".
    5. Klicken Sie auf OK.
  4. Wählen Sie Bearbeitung beenden im Menü Tabelle aus, und speichern Sie die Änderungen.

Verwenden der Feldberechnung, um die Werte in das neue Feld zu kopieren und die Werte in eine Zahl zu konvertieren

  1. Öffnen Sie die Tabelle, und verwenden Sie ggf. Bearbeitung starten.
  2. Wählen Sie das Feld Zahl aus.
  3. Wählen Sie Berechnen im Menü "Feld" aus.
  4. Doppelklicken Sie in der Liste Felder auf das Zeichenfolgenfeld.
  5. Legen Sie Typ auf Zeichenfolge fest.
  6. Führen Sie einen Bildlauf zur Liste Anforderungen durch, und doppelklicken Sie auf AsNumber.
  7. Der endgültige Ausdruck sieht in etwa wie folgt aus:
[Strng_fld].AsNumber
  1. Klicken Sie auf OK.
  2. Wählen Sie Bearbeitung beenden im Menü Tabelle aus, und speichern Sie die Änderungen.

Artikel-ID:000002287

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden