Deutsch

How To: Konvertieren eines Zeichenfolgenfeldes in ein Zahlenfeld

Zusammenfassung

In vielen Szenarien ist es erforderlich in einer Attributtabelle ein Feld mit Zeichenfolgenwerten in numerische Werte zu konvertieren. Häufig ist der Grund, dass die Originaldaten nicht festgelegt oder nicht erkannt wurden, sodass 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: Eine gilt für ArcGIS for Desktop 10.1 bis 10.4.1, die zweite für ArcGIS Pro 1.x und die dritte für ältere Software (z. B. ArcView GIS 3.x.).

Vorgehensweise

ArcGIS Desktop 10.1 bis 10.4.1

  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 Überschrift "Feld" geklickt und Eigenschaften ausgewählt wird. In diesem Beispiel wird ein Feld mit dem Typ "Zeichenfolge" in "Double" konvertiert.
    A picture of the Field Properties window.
  3. Klicken Sie oben links im Tabellenfenster auf die Dropdown-Schaltfläche "Tabellenoptionen" User-added image, und wählen Sie Feld hinzufügen aus.
    1. Erstellen Sie ein Feld mit dem Typ Double.
    2. Geben Sie einen Namen an.
    3. Legen Sie Genauigkeit und Maßstab nach Wunsch fest.
    4. Klicken Sie auf OK.
  4. Klicken Sie mit der rechten Maustaste auf die Überschrift des neu erstellten Feldes, und wählen Sie Feldberechnung aus.
  5. Wenn das Zeichenfolgenfeld nur numerische Werte enthält, erreichen Sie wie folgt das gewünschte Ergebnis:
    1. Geben Sie den [Namen des Zeichenfolgenfeldes] in das Ausdrucksfenster ein.
    2. Klicken Sie auf OK.
  6. Wenn das Zeichenfolgenfeld allerdings alphanumerische und numerische Werte enthält, ist eine komplexere Methode erforderlich:
    1. Der Parser muss auf VB Script festgelegt und Code-Block anzeigen muss aktiviert sein. Kopieren Sie dann den folgenden Code in das Textfenster Pre-Logic Script Code, und ersetzen Sie den Namen des Zeichenfolgefeldes durch den Namen des zu konvertierenden Feldes. Behalten Sie die linke und die rechte Klammer bei:
    2. Dim String, Check
      String = [String field name]
      Check = IsNumeric(String)
      If Check = True then
      Output = CDbl(String)
      else
      Output = null
      End if
      Geben Sie in das Ausdrucksfenster für (in diesem Beispiel "DoubleV =") Folgendes ein:
      Ausgabe
      
    3. Das Fenster "Feldberechnung" sieht wie folgt aus:
      A picture of the code entered into the Field Calculator window.
    4. Klicken Sie auf OK.
  7. Sobald das Skript abgeschlossen ist, werden in das Double-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 Double-Feld null (Standardwert).

ArcGIS Pro 1.x

  1. Öffnen Sie ein ArcGIS Pro-Projekt. Fügen Sie dem Projekt die entsprechenden Daten/Tabellen hinzu.
  2. Klicken Sie mit der rechten Maustaste auf die Daten/Tabellen, und wählen Sie Attributtabelle aus.
  3. Klicken Sie auf die Schaltfläche Neu User-added image, um ein neues Feld zu erstellen. Geben Sie dem Feld in der Listenansicht Felder einen Namen, legen Sie den Datentyp auf Double fest, und stellen Sie sicher, dass Zahlenformat auf Numerisch festgelegt ist (und passen Sie die Einstellungen nach Wunsch an). Legen Sie ggf. Domänen-, Standard- und Längenwerte fest.
  4. Speichern Sie die Änderungen an der Tabelle mit dem oberen Menüband, und schließen Sie die Registerkarte "Felder".
  5. Klicken Sie mit der rechten Maustaste auf die Überschrift des neu erstellten Double-Feldes, und wählen Sie Feld berechnen aus. Das Dialogfeld Feld berechnen wird geöffnet.
  6. Wenn das Zeichenfolgenfeld -Werte (leer) enthält, wählen Sie vor der Berechnung eine Teilmenge ohne diese Werte aus, und geben Sie Folgendes in das Textfeld "Ausdruck" ein:
    !!
    Überprüfen Sie den Ausdruck, und führen Sie das Werkzeug aus.
Hinweis:
Möglicherweise kann das Werkzeug nicht ausgeführt werden, wenn das Zeichenfolgenfeld -Werte (leer) enthält. Weitere Informationen finden Sie im Dokument der ArcGIS Pro-Webhilfe Erstellen eines neuen Feldes und Anwenden einer Domäne und eines Standardwertes.

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.
  1. Fügen Sie ein Zahlenfeld zur Tabelle hinzu.
    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.
  2. Verwenden Sie 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 nach unten zur Liste Anforderungen durch, und doppelklicken Sie auf AsNumber.
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.

Referenzinformationen