Wie kann ich den Datentyp in einer Attributtabelle in ArcGIS für mehrere Felder ändern?
Wenn die Felder beispielsweise als Zeichenfolge aus Excel exportiert wurden und ich sie als numerische Werte verwenden möchte?
Wie kann ich den Datentyp in einer Attributtabelle in ArcGIS für mehrere Felder ändern?
Wenn die Felder beispielsweise als Zeichenfolge aus Excel exportiert wurden und ich sie als numerische Werte verwenden möchte?
Antworten:
Sie können den Datentyp eines Felds in ArcGIS nicht ändern. Sie müssen neue Felder mit den gewünschten Datentypen erstellen und diese mit den Werten aus Ihren aktuellen Feldern füllen. Siehe: So ändern Sie Feldformate in der ArcGIS 10.1-Geodatabase?
Sie erwähnen nicht, welche Version von ArcGIS for Desktop Sie verwenden oder wo Ihre Daten gespeichert sind, aber es gibt eine Seite zum Ändern der Feldeigenschaften , auf der beschrieben wird, wie ArcGIS 10.2 (oder höher) verwendet wird:
Einige Feldeigenschaften können geändert werden, nachdem die Tabelle oder Feature-Class erstellt wurde
... dies gilt jedoch nur für leere Felder.
Ab 10.3 ist die oben genannte Funktionalität auch über das Werkzeug Felder ändern verfügbar :
Benennen Sie Felder und Feldaliasnamen um oder ändern Sie die Feldeigenschaften.
Sie können den Felddatentyp für die Felder in Ihrer Feature-Class ändern. Sie können jedoch keine Textfelder in numerische konvertieren. Sie können Ihre numerischen Felder jedoch in Zeichenfolgen konvertieren. Schauen Sie sich die Esri-Hilfeseite an . Dies gilt nicht nur für Enterprise-Geodatabase, sondern auch für Desktop-Geodatabases wie File-Geodatabase.
Wenn sich die Tabelle oder Feature-Class in einer Unternehmens-, Arbeitsgruppen- oder Desktop-Geodatabase befindet , müssen Sie eine Verbindung als Tabelleneigentümer herstellen, um die Feldeigenschaften zu ändern.
Da Sie sich mit Excel beschäftigen, können Sie am besten sicherstellen, dass Ihre Datentypen korrekt sind, indem Sie Zelldatentypen direkt in Excel definieren, bevor Sie Daten importieren. Wenn Sie jedoch ein Textfeld mit Zahlen haben, können Sie natürlich ein neues Feld vom numerischen Typ (z. B. Integer oder Double) erstellen und die Werte basierend auf diesem Textfeld berechnen. Dies funktioniert gut, wenn Ihre Zahlen wirklich Zahlen sind ("12" funktioniert, "12-1" jedoch nicht).
Meines Wissens ist dies nicht möglich. In 10.3 wurde " Feld ändern" erweitert, um das Ändern des Feldtyps zu ermöglichen. Es funktioniert jedoch immer noch nur, wenn die Tabelle keine Datensätze enthält.
Hier ist jedoch ein Ansatz, um dies zu tun:
Calculate Field
oder cursors
(bei Bedarf mit Gießen)Alter Field
um das temporäre Feld umzubenennenIch habe es nie untersucht, aber die Feldzuordnung könnte funktionieren, um Felder in neue Datentypen umzuwandeln, was diesen Prozess erheblich vereinfachen würde. Etwas, auf das man auf jeden Fall achten sollte ...
Eine alternative Möglichkeit besteht darin, Ihre .dbf
Datei in OpenOffice Calc (oder einem gleichwertigen Dokument) zu öffnen und die Überschriften der Spalten sorgfältig zu ändern. Ändern Sie beispielsweise den Typ von C
(Zeichen) in N
(Numerisch). Ein einfacher Rat: Sichern Sie Ihre Datei, bevor Sie es versuchen.
Obwohl Sie den Feldnamen und den Datentyp im Dataset selbst nicht ändern können, können Sie mit dem ArcGIS-Tool "Feature-Class zu Feature-Class" eine Kopie mit den gewünschten Änderungen erstellen. In den Einstellungen können Sie Namen, Datentypen und andere Merkmale der Felder ändern.
Vor allem muss versucht werden zu verstehen, warum ArcGIS ein Feld als Zeichenfolgentyp anstelle eines numerischen / doppelten Datentyps importiert. Ich habe festgestellt, dass ArcGIS diese auch dann als Zeichen interpretiert, wenn Ihre Zelle (in Excel) leer ist und "Leerzeichen" enthält (wie beim Drücken der Leertaste). Wenn Sie sie entfernen, werden Sie sehen, dass sie jetzt als numerische Felder registriert werden.
Schauen Sie sich dieses Dokument an . In der Regel müssen Sie vor und nach dem Import sicherstellen, dass die Daten das richtige Format haben.
"ArcGIS konvertiert normalerweise numerische Tabellenkalkulationsfelder in doppelte Genauigkeit (Double), die möglicherweise nicht Ihren Anforderungen entspricht. Erstellen Sie bei Bedarf neue Felder des gewünschten Typs und berechnen Sie Werte in diese."
Wenn Sie die Daten aus einer Tabelle X zu einer anderen Tabelle Y hinzufügen möchten , dies jedoch nicht können, weil die Datentypen nicht übereinstimmen , können Sie auch die folgenden Schritte ausführen:
Exportieren Sie beide Tabellen (.dbf)
Öffnen Sie Tabelle Y in Excel.
Öffnen Sie Tabelle X in Excel.
Kopieren Sie die Daten aus der Tabelle X und fügen Sie sie in die Tabelle Y ein, indem Sie sicherstellen, dass Sie nur die Werte und nicht das Formular kopieren.
Sie haben jetzt eine neue Tabelle mit den Daten aus beiden Tabellen mit den entsprechenden Datentypen.
6.Importieren Sie diese Tabelle in ArcMap
Niemand hat die X-Ray Tools Suite für ArcGIS erwähnt. Führen Sie einfach eine Google-Suche nach "X-Ray ArcGIS" durch. Für jede ArcGIS-Version und -Plattform gibt es verschiedene Varianten (ArcCatalog, ArcMap). Hier ist eine Version. Hier ist noch einer. Es unterstützt viele feld- und domänenbezogene Funktionen, einschließlich des Änderns des Feldtyps, des Namens, des Alias, der Domänen usw. in MS Excel und des Hochladens von Änderungen zurück in die GDB.