Import von Koordinatenpaaren aus Textdatei nach QGIS

Einleitung

Eine der häufigsten Aufgaben im GIS ist der Import von Koordinatenpaaren. Diese kann man z.B. bei der Geländearbeit mit einem GPS-Handgerät gesammelt haben und möchte diese nun einem bestehenden GIS-Projekt hinzufügen.

Import einer Textdatei

Abbildung 1
Abbildung 1

Typische Ausgangssituation: Eine Tabelle enthält Namen von Lokationen und dazugehörige Koordinatenpaare. Man muss selbstverständlich wissen, für welches Koordinatensystem die Koordinaten vorliegen. In diesem Fall (Abb. 1) sind es geografische Koordinaten im WGS84-System. Die Angabe lautet nicht Grad-Minute-Sekunde, sondern als sog. Dezimalgrad, also Dezimalbruchteile von Grad. Ich habe die Erfahrung gemacht, dass der Import von Dezimalgrad für Koordinaten dieses Koordinatensystems am wenigsten problematisch funktioniert.

In QGIS werden derartige Koordinaten als Textdatei importiert. Sinnvoll ist eine CSV-Datei, also eine sog. "comma separatet values"-Tabelle, bei der alle Werte mit Komma voneinander getrennt sind. In der Ausgangstabelle (Abb. 1) wird das Komma bereits als Dezimaltrenner für die Koordinaten genutzt. Es ist daher notwendig, als Datentrenner für das CSV-Format ein anderes Zeichen (Tab, Semikolon etc.) zu nutzen.

Wer seine Datenblöcke nicht von Hand in einem Texteditor separieren möchte, kann bequem aus einer Tabellenkalkulation zu CSV exportieren. Das versteckt sich meist im Speichern-Unter-Dialog, wo man als Export-Format "csv" angibt.

Abbildung 2
Abbildung 2

Der CSV-Export-Dialog von Libre Office (Abb. 2) ermöglicht diverse Export-Optionen. Als Zeichensatz sollte unbedingt Unicode (UTF-8) ausgewählt sein! Den Feldtrenner habe ich auf das Tab-Zeichen gewechselt. Der Rest kann voreingestellt bleiben.

Noch ein wichtiger Hinweis für Nutzer von MS Excel: Auch hier ist selbstverständlich der Export ins csv-Format möglich. Allerdings erscheint kein Export-Dialog, bei dem sich der Zeichensatz einstellen ließe. Es wird der System-Zeichensatz genutzt, der nicht Unicode ist. Das kann beim darauffolgenden Import der Daten nach QGIS zu Darstellungsproblemen führen. Umlaute, Akzentbuchstaben etc. werden dann ggf. nicht korrekt dargestellt. Folgender Arbeitsweg hat sich daher bewährt: Als Export-Format wird nicht "csv" gewählt, sondern "Unicode-Text". Das erzeugt eine .txt-Datei mit Unicode-zeichencodierung (sogar UTF-16!). Entweder, man benennt diese .txt-Datei anschließend im Dateimanager zu .csv um, oder man importiert die .txt-Datei nach QGIS. Für QGIS ist beides ein lesbares Format.

Abbildung 3
Abbildung 3

Endlich kann der Import nach QGIS erfolgen. In QGIS erscheint über den Menüpunkt "Layer | Layer hinzufügen | Getrennte Textdatei als Layer hinzufügen" ein Import-Dialog (Abb. 3). Zunächst wird die Datei (csv oder txt) geladen (Abb. 3, roter Pfeil). Im Abschnitt Dateiformat wird ggf. auf "benutzerdefiniert" umgeschaltet und das verwendete Trennzeichen angegeben (hier Tabulator, Abb. 3, roter Rahmen). Es kann aber auch ein anderes sein.

Ganz wichtig ist jetzt ggf. die Angabe, dass der Dezimalseparator ein Komma ist. Diesen Flag kann man im Abschnitt "Datensatz- und Feldoptionen" setzen (vgl. Abb. 3). Das trifft bei uns zu, demnach muss ein Haken rein.

Anschließend wird festgelegt, welche Spalten die Koordinaten enthalten (Achtung und nicht vertauschen!), das zeigt Abb. 3, blauer Rahmen. X ist unser "Rechtswert", Y unser "Hochwert". Nun wird noch das Koordinatenbezugssystem (KBS) ausgewählt, für das diese Koordinaten gedacht sind (Abb. 3, blauer Pfeil). Im Beispiel ist das WGS84, also EPSG-Code 4326.

Alle anderen Optionen sind im Prinzip selbsterklärend. Am unteren Rand des Import-Dialogs (Abb. 3) wird in einer kleinen Tabellenvorschau gezeigt, was einen erwartet. Nach Bestätigung des Import-Fensters erscheinen die Koordinatenpunkte im GIS-Projekt als neuer Layer.

Dauerhaftes Speichern in einer Geodatenbank

Nach dem Import sieht man zwar die Koordinatenpunkte und kann auch Filter auf die Attributtabelle anwenden. Aber dahinter steht immer noch eine Textdatei, die im Übrigen nicht bearbeitet werden kann! Das ist für die Geodaten-Verarbeitung nicht optimal. Deshalb sollte der Layer jetzt in eine ordentliche Geodatenbank wie GeoPackage exportiert werden. Meine Güte, es geht auch Shape.

Dazu Rechtsklick auf den Layer und den Eintrag "Exportieren | Objekt speichern als" auswählen. Es öffnet sich das Dialogfenster "Vektorlayer speichern als" (Abb. 4).

Abbildung 4
Abbildung 4

Als Format sollte GeoPackage ausgewählt werden. (Wer noch in den 90ern lebt, der kann auch das Shape-Format wählen.) Datei- und Layername eingeben, nochmal das KBS prüfen. Vielleicht müssen auch nicht alle Felder exportiert werden, dann entsprechend abhaken (Abb. 4, roter Rahmen). nach Bestätigung des Dialogs wird ein neues Layer dem GIS-Projekt hinzugefügt.

Das zuvor importierte CSV-Layer sollte nun schleunigst aus dem GIS-Projekt entfernt werden, damit keine Dopplung entsteht. Die Daten sind ja identisch.

Koordinateneingabe über "Lat Lon Tools"

Manchmal will man seinem GIS nur einen einzigen neuen Punkt mithilfe von Koordinaten hinzufügen. Denkbar ist folgendes Szenario: Es besteht ein Punkt-Layer, dem ein weiterer Punkt hinzugefügt werden soll. Für diesen Punkt hat man zwar Koordinaten erhalten, aber die Eingabe per Mausklick ist zu ungenau. Das Plugin "Lat Lon Tools" ermöglicht die Eingabe dieser Koordinaten und erzeugt an genau dieser Stelle einen neuen Punkt.

Abbildung 5
Abbildung 5

Nach der Installation des Plugins (Menüpunkt "Erweiterungen" etc.) erscheint eine neue Symbolleiste (Abb. 5, Ebene mit rotem Rahmen). Wird nun der Bearbeitungsmodus des Layers umgeschaltet (kein csv-Layer, sondern eine Geodatenbank oder Shape-Datei!) (Abb. 5, grüner Pfeil), damit ein neuer Datensatz angelegt werden kann. Der Punkt wird aber nun nicht freihändig per Mausklick hinzugefügt (Abb. 5, grüner Rahmen), sondern das entsprechende Icon auf der Lat Lon Tools-Symbolleiste verwendet (Abb. 5, roter Pfeil). Es erscheint eine Koordinaten-Eingabezeile, in die die Koordinaten eingetippt werden. Hier im Beispiel in der Form "51.6,10.7" (ohne doppelte Anführungszeichen, man beachte Punkt und Komma!). Die Reihenfolge und Formatierung der eingegebenen Koordinaten kann man in den Plugin-Einstellungen steuern (Abb. 5, roter Rahmen).

Möglich ist auch, sich die Position von Koordinaten nur mit einem Fadenkreuz anzeigen zu lassen, ohne irgendeinem Layer einen neuen Punkt hinzuzufügen. Dazu verwendet man auf der Symbolleiste das Icon mit der Lupe ("Zoom to Coordinate") und gibt wieder ein Koordinatenpaar ein. Anschließend springt oder zoomt man zu dieser Position und ein temporäres Fadenkreuz erscheint.