QGIS Kommandozeile?

Aber ja doch! Als erstes denkt man bei QGIS natürlich an das grafische Programm, dass sich mit Maus bedienen lässt. Vielen ist aber nicht bewusst, dass sich einige QGIS Funktionen auch über die QGIS Kommandozeile nutzen lassen.

Dabei lassen sich die Kommandozeilenparameter generell in ein paar Gruppen unterteilen. Ich würde die Gruppen folgendermaßen nennen: „Systemstart“, „Projekt“, „DXF“ und „Konfiguration“. Doch zuallererst einmal die Übersicht über alle verfügbaren Kommandozeilenparameter, diese erhält man, indem man auf der Kommandozeile

C:\Users\Frank\Desktop> qgis --help

Das folgende Bild zeigt dann die Ausgabe, hier unter Windows mittels OSGeo4W in der OSGeo4W Shell:

Die QGIS Kommandozeile nutzen - Hilfe aufrufen
Die QGIS Kommandozeile nutzen – Hilfe aufrufen

Die allgemeine Syntax für das QGIS Kommando lautet:

C:\Users\Frank\Desktop>qgis [OPTIONS] [FILE]

Der [OPTIONS] Parameter fällt dabei in eine der oben genannten Kategorien, [FILE] kann entweder eine Rasterdatei, eine Vektordatei oder ein QGIS Projekt sein. Mit Hilfe von zwei Bindestrichen kann man mehrere Dateien als [FILE] Parameter übergeben.

In die Gruppe „Systemstart“ fallen alle Parameter, die den Start von QGIS beeinflussen. Das sind unter anderem der Parameter zum Ausschalten des Logos –nologo, der Parameter zum Setzen der initialen Ausdehnung –extent und der Sprache –lang. In der Gruppe „Konfiguration“ sehe ich vor allem die Parameter, die die Standardkonfiguration von QGIS beeinflussen, wie etwa Oberflächenanpassungen, Authentifizierung oder Python Programmdateien.

Auf all diese Parameter möchte ich in diesem Beitrag nicht eingehen, da sie zum Teil sehr speziell sind und sich auch schlecht mittels einfachen Beispielen erklären lassen. Ich bin aber gerne bereit, auch diesen Teil zu erläutern, wenn das Interesse besteht. Am Besten dazu einfach etwas dazu  in die Kommentare schreiben!

Übrig bleiben nun die Gruppen „Projekt“ und „DXF“, und zuerst möchte ich ein wenig auf die Gruppe Projekt eingehen.

QGIS Parameter in der „Projekt“ Gruppe

In diese Gruppen fallen Parameter, die ein bestehendes QGIS Projekt laden, ein leeres Projekt zum QGIS Start mit Daten füllen oder ein Bild im PNG-Format eines bestehenden Projektes exportieren.

Zuerst zeige ich, wie man Daten zu einem leeren QGIS Projekt zum Start hinzufügt. Dazu habe ich von NaturalEarthData zwei Shapefiles[1, 2] und eine Rasterdatei[3] heruntergeladen. Die Shapefiles sind einmal die Länder der Welt [1] und ein Koordinatenraster mit 30° Intervallen, die Rasterdatei ist das bekannte Natural Earth Raster mit Topografie und den Ozeanen. Alle Dateien habe ich in einen neuen Ordner NED auf dem Desktop entpackt. Nun kann man mittels

C:\Users\Frank\Desktop>qgis NED\NE2_50M_SR_W.tif

QGIS mit den Natural Earth 2 Raster starten.

Die QGIS Kommandozeile nutzen - Rasterdatei laden
Die QGIS Kommandozeile nutzen – Rasterdatei laden

Alternativ kann man einen Vektorlayer, hier die Länder der Welt, genauso laden:

C:\Users\Frank\Desktop>qgis NED\ne_110m_admin_0_countries.shp
Die QGIS Kommandozeile nutzen - Vektordatei laden
Die QGIS Kommandozeile nutzen – Vektordatei laden

Das Angeben einer initialen Ausdehnung mittels –extent klappt hier leider nicht, das ist wohl nur Projektdateien zugestanden. Mehrere Layer kann man nun mittels folgendem Kommando laden:

C:\Users\Frank\Desktop>qgis -- NED/NE2_50M_SR_W.tif NED/ne_110m_admin_0_countries.shp NED/ne_110m_graticules_30.shp
Die QGIS Kommandozeile nutzen - mehrere Dateien laden
Die QGIS Kommandozeile nutzen – mehrere Dateien laden

Man beachte die beiden vor den Dateien! Diese Layerkonfiguration speichere ich nun in einer Projektdatei „ned.prj“ und ändere noch ein bisschen den Stil, so dass eine schönere Karte entsteht.

Nun kann man mit

C:\Users\Frank\Desktop>qgis --extent -6,40,27,60 NED\ned.qgs

zum Beispiel gleich auf Europa zoomen.

Die QGIS Kommandozeile nutzen - Projektdatei laden und Ausdehnung festlegen
Die QGIS Kommandozeile nutzen – Projektdatei laden und Ausdehnung festlegen

Mit der QGIS Kommandozeile kann man auch einen Screenshot im PNG-Format des aktuellen Projektes erstellen, der sogar georeferenziert ist. Das geht mit

C:\Users\Frank\Desktop>qgis  --width 1280 --height 1200 --snapshot projekt.png NED\ned.qgs
Die QGIS Kommandozeile nutzen - Snapshot von Projektdatei erstellen
Die QGIS Kommandozeile nutzen – Snapshot von Projektdatei erstellen

Man beachte die Größe des Bildes im Kommando und in dem Snapshot. Leere Bereiche ohne Daten werden von QGIS weiß dargestellt!

Als letztes nun ein Ausflug in die Kommandos der DXF Gruppe.

QGIS Parameter in der „DXF“ Gruppe

Alle Parameter in dieser Gruppe beschäftigen sich mit dem Export von QGIS Layern in das DXF-Format. Dieses Format ist die geeignete Schnittstelle von der GIS-Welt in die CAD-Welt und anders herum. Zu beachten ist, dass das DXF-Format keine Rasterdaten unterstützt, so dass nur Vektordaten nach DXF konvertiert werden können. Exemplarisch sei hier folgende QGIS Projektdatei genommen, die ein Wegenetz und Gebäude aus einer OpenStreetMap SQLite Datenbank zur Grundlage hat.

Die QGIS Kommandozeile nutzen - Die QGIS Projektdatei als Vorlage zum DXF Export
Die QGIS Kommandozeile nutzen – Die QGIS Projektdatei als Vorlage zum DXF Export

Um nun ein Projekt als DXF zu speichern ist folgende Zeile hilfreich. Wichtig in meinen Augen ist es dabei, den Parameter –dxf-symbology-mode symbollayer mit anzugeben, da so nicht jedes Feature einer Geometrie extra exportiert wird. Also lautet die Zeile, um ein Projekt zu exportieren nun

C:\Users\Frank\Desktop>qgis --dxf-symbology-mode symbollayer --dxf-export karte.dxf NED\wege.qgs

und man erhält eine DXF-Datei als Resultat.

Die QGIS Kommandozeile nutzen - Der DXF Export in einem CAD-Programm
Die QGIS Kommandozeile nutzen – Der DXF Export in einem CAD-Programm

Ich hoffe, der Beitrag ist für den Einen oder Anderen hilfreich, wenn ja, würde ich mich sehr über einen Kommentar freuen. Gerne auch auf Facebook, Twitter oder Google+. Bei Fragen oder Anmerkungen einfach melden, per Mail oder Kommentar oder Kontaktformular!

Kontakt für Fragen und Antworten

Bei Fragen zum Thema stehe ich natürlich gerne zur Verfügung. Dazu einfach eine der vielen anderen Kontaktmöglichkeiten nutzen. Feedback ist ausdrücklich erwünscht!