QGIS-SpreadSheetLayers

QGIS-Plugin, um Layer aus Tabellenkalkulationsdateien (*.ods, *.xls, *.xlsx) zu laden

Beschreibung

Dieses Plugin fügt einen Eintrag Tabellenkalkulations-Layer hinzufügen zum Menü LayerLayer hinzufügen und einen entsprechenden Knopf zur Layerverwaltungswerkzeugleiste hinzu. Beide öffnen denselben Dialog, um einen Layer aus einer Tabellenkalkulationsdatei mit einigen Optionen zu laden:

  • Datei auswählen

  • Layername

  • Arbeitsblatt auswählen

  • Überschriften in erster Zeile

  • einige Zeilen ignorieren

  • Geometrie aus X- und Y-Feldern laden

Nach Bestätigen des Dialogs wird eine neue GDAL VRT-Datei im selben Ordner wie die Quelldatei angelegt, mit dem Namen des Layers und der Erweiterung .vrt, die dann in QGIS geladen wird.

Wenn die selbe Datei wiederholt verwendet wird, lädt der Dialog die Einstellungen aus der vorhandenen .vrt-Datei.

Einschränkungen

GDAL/OGR fehlen folgende Funktionen:

  • Überschriftenzeilen je Datei verwenden

  • Zeilen am Anfang der Datei ignorieren

  • korrekte Dateiende-Bestimmung für .xls-Dateien

Das Plugin verwendet einen SQLITE Select-Ausdruck mit Offset- und Limit-Parametern, um die entsprechenden Daten aus der Quelldatei zu extrahieren. Wenn eine der oben genannten Funktionen verwendet werden, könnte dies Nebenwirkungen haben.

Mit GDAL-Versionen ≤ 1.11.1 kann das Plugin keine Geometrie laden. Zur Berücksichtigung des eingeschränkten Funktionsumfangs wird das Kontrollkästchen „Geometrie“ gesperrt. Um die verwendete GDAL-Version herauszufinden, diese Befehle in der QGIS Python-Konsole ausführen:

import osgeo.gdal
print(osgeo.gdal.__version__)

Wenn GDAL/OGR versucht, eine Tabellenkalkulationsdatei zu öffnen, versucht es, den Datentyp der Spalten (Datum, Ganzzahl, Gleitkommazahl, Text, …) zu erkennen. Diese automatische Erkennung findet außerhalb der Funktionen des Plugins zu Überschriften und zum Ignorieren von Zeilen statt. Deshalb wird GDAL/OGR die Datentypen nicht korrekt bestimmen können, wenn diese Funktionen verwendet werden.

Konfiguration

GDAL ermöglicht es nicht, die Anwesenheit einer Überschriftenzeile je Layer festzulegen. Diese Auswahl wird durch Umgebungsvariablen für jeden Treiber OGR_ODS_HEADERS, OGR_XLS_HEADERS und OGR_XLSX_HEADERS vorgenommen, wobei die Werte FORCE, DISABLE und AUTO zur Verfügung stehen. Einzelheiten finden sich din der jeweiligen Treiber-Dokumentation unter http://www.gdal.org/drv_ods.html, http://www.gdal.org/drv_xls.html und http://www.gdal.org/drv_xlsx.html.

Sie können diese Werte in den QGIS-Einstellungen ändern:

  • Dialog Einstellungen → Optionen öffnen

  • Reiter System auswählen und zum Abschnitt Umgebung gehen

  • „Benutzerdefinierte Umgebungsvariablen verwenden“ ankreuzen

  • eine neue Zeile hinzufügen, zum Beispiel:

    Overwrite | OGR_ODS_HEADERS | FORCE

  • QGIS neustarten, damit dies wirksam wird.