Wie kann ArcGIS gezwungen werden, ein Textfeld in einer CSV-Datei zu erkennen?

11

Bezogen auf die Datentyperkennung beim Laden von ArcGIS-Tabellen

Ich habe eine CSV-Datei, die eine Mischung aus numerischen und Textfeldern enthält:

ID,Txt,Int,Dbl
12345,abc,45,56.78
12346,9,65,23.12
12347,10,66,23.13

Laut diesem Esri-Artikel wird das Feld als Text klassifiziert, wenn die oberen 8 Zeilen einen Textwert enthalten. Ich stelle jedoch fest , dass das zweite Feld als lang klassifiziert ist. Dies bedeutet, dass der Wert "abc" weggelassen wird:

Geben Sie hier die Bildbeschreibung ein

Wie kann ich ArcGIS zwingen, dies als Textfeld zu erkennen, während die Daten im CSV-Format beibehalten werden?

Eine Problemumgehung besteht darin, eine Geodatabase-Tabelle zu erstellen, das Feld als Text zu definieren und die Daten zu laden. Ich hoffe jedoch, dass die Tabelle in CSV bleibt (dies ist die Ausgabe eines anderen Prozesses).

Vielen Dank

Stephen Lead
quelle
2
Hier ist die vollständige Spezifikation für den Datensatz: msdn.microsoft.com/en-us/library/windows/desktop/… Interessanterweise hat es bei mir nicht vollständig funktioniert ...
Mahdi

Antworten:

18

Lesen Sie den Abschnitt "Überschreiben der Formatierung von Textdateien" im Hilfethema zum Hinzufügen einer ASCII- oder Textdateitabelle :

Mithilfe der Dateien schema.ini können Sie überschreiben, wie begrenzte Textdateien in ArcGIS angezeigt werden. Ein Beispiel dafür, wann Sie die Datei schema.ini verwenden möchten, um das Standardverhalten zu überschreiben, ist, wenn ArcGIS einen Feldtyp falsch interpretiert. Das folgende Beispiel zeigt, wie dies für ein Feld namens PLOTS durchgeführt wird, das als Typ Text angezeigt werden soll, aber als Typ Double interpretiert wird.

[Trees.CSV]
Col14=PLOTS Text

Beachten Sie, dass Sie möglicherweise eine schema.ini-Datei erstellen müssen, wenn keine vorhanden ist, und überschreiben müssen, wie begrenzte Textdateien in ArcGIS angezeigt werden. Weitere Informationen zur Datei schema.ini finden Sie auf der Microsoft MSDN-Website unter schema.ini .

blah238
quelle
2
Danke dafür - es macht den Trick. Es scheint jedoch ein Problem zu geben, wenn ArcGIS die ersten 8 Zeilen automatisch scannt.
Stephen Lead
4
Ich musste "MaxScanRows = 0" hinzufügen, da das Ding "ColX = name Text" nicht zu 100% zu funktionieren schien.
Stephen Lead
Hat jemand dies mit arcpy unter Linux versucht? Ich würde vermuten, dass dies nur unter Windows funktionieren würde, da schema.ini vollständig mit der Micrsoft ODBC-Cruft verknüpft ist.
Curtis Price