Deutsch

How To: Konvertieren eines Zeichenfolgenfeldes in ein numerisches Feld

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.
  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:
    !!
    An image of the Calculate Field pane.
  8. 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. Weitere Informationen finden Sie im Dokument der ArcGIS Pro-Webhilfe Erstellen eines neuen Feldes und Anwenden einer Domäne und eines Standardwertes.



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.
    An image of the Field Properties dialog box.
  3. Klicken Sie oben links im Fenster Tabelle auf die Dropdown-Schaltfläche Tabellenoptionen User-added image, 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.
  4. Klicken Sie mit der rechten Maustaste auf die Kopfzeile des neu erstellten Feldes, und wählen Sie Feldberechnung aus.
  5. 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 Felderaus.
      An image of the Field Calculator dialog box.
    3. Klicken Sie auf OK.
  6. 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 den Text 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)
    3. Geben Sie in das zweite Ausdrucksfenster (in diesem Beispiel "DoubleV =") Folgendes ein:
      Output
      
      Die folgende Abbildung zeigt, wie das Dialogfeld Feldberechnung aussieht. In diesem Beispiel wird das Zeichenfolgenfeld in ein Double-Feld konvertiert.
      A picture of the code entered into the Field Calculator window.
    4. 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  (Standardwert).



Für ArcView GIS 3.x

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
  8. Klicken Sie auf OK.
  9. Wählen Sie Bearbeitung beenden im Menü Tabelle aus, und speichern Sie die Änderungen.

Referenzinformationen