Text Dateien

Ermöglicht den Direktzugriff auf Tabellendaten in Textdateien, die trennzeichen getrennte Werte enthalten und in der Ersten Zeile die Spaltenüberschriften definieren.

Typische Vertreter sind z.B. CSV Dateien.

Sind Spalten mit Rechts/Hochwert Angaben enthalten, dann können diese zur Bildung einer Punkt - Geometrie verwendet werden.

Abfragen mittels GeoSQL sind möglich.

Argumente

Typname: Textfile

  • fileName: Der Name der Datei, absolut oder relativ

  • quickLoad (false): BBox etc. nicht ermitteln

  • geomXValueColumnName (leer): Name der Spalte, die als X - Wert für Bildung einer Punktgeometrie verwendet werden soll.

  • geomYValueColumnName (leer): Name der Spalte, die als Y - Wert für Bildung einer Punktgeometrie verwendet werden soll.

  • AutoDetectGeomColumns (true): wenn geomX/YValueColumnName nicht angegeben ist, dann aut. Ermittelung probieren, z.Z. folgende Namen-Paare (in dieser Reihenfolge):

    • RECHTSWERT/HOCHWERT,
    • RECHTS/HOCH,
    • CoordX/CoordY,
    • GeoX/GeoY,
    • X/Y,
    • LONGITUDE/LATITUDE,
    • LON/LAT,
    • LONG/LAT
  • epsgCode (0): optionaler EpsgCode, sonst wie gehabt aus den Daten "geschätzt"

Ladevorgang

Der Zugriff auf die Datei läuft immer wie folgt ab:

  • Ermitteln des Encodings (BOM auswerten, wenn definiert).
  • Einlesen der 1. Zeile als Spalteninformationen.
  • In der ersten Zeilen: Separator ermittelen ( Semikolon, Komma oder Tab, dürfen nicht gemischt vorkommen).
  • Einlesen der nächsten 60 Zeilen zur Ermittelung der Datentypen
    • Zahlen werden immer als Double interpretiert
    • der Rest wird zu Text

Sind geomYValueColumnName und geomXValueColumnName (entweder beide leer, oder beide vorhanden), wird eine Pseudo-Spalte mit dem Namen "geom" eingefügt.

Alle Spaltennamen werden eindeutig gemacht.

Beispiel

{
"Csv1": {
   "type": "Textfile",
   "fileName":"d:\\temp\\test.csv",
   "geomXValueColumnName":"Rechts",
   "geomYValueColumnName":"Hoch",
   "quickLoad":false
  }
}

Implementierungsdetails / Features und Einschränkungen

Die Ermittelung der Datentypen auf Basis der ersten n Zeilen kann für folgende Zeilen Fehler bringen (typischerweise ... erkannt wurde "Double", dann folgt später in dieser Spalte doch ein Text).

Bei Zahlenformaten wird als Dezimaltrennzeichen ein Punkt angenommen (die dt. schreibweise mit Komma ist nicht zulässig).

Texte in doppelte Anführungszeichen werden unterstützt (Anführungszeichen in einem Text ist durch zwei aufeinanderfolgende doppelte zu maskieren).

Umbrüche in Texten werden derzeit nicht unterstützt.

Eine Indizierung erfolgt nicht, alle Zugriffe sind immer sequentiell, d.h. bei der Verwendung sehr großer Dateien sind entsprechende Laufzeiten zu erwarten.

Importieren Sie die Daten in solchen Fällen besser in eine richtige Datenbank.

Encoding UTF16 wird derzeit nicht unterstützt (wird praktisch keine Rolle spielen, kann bei Bedarf angepasst werden).

Es werden nur Formate mit einheitlichem Trennzeichen unterstützt, d.H. kein Format mit festen Längen pro Spalte.


Zuletzt geändert: 24.03.2018 06:44:22 (erstmals erstellt 13.10.2017)