Outdated version of the documentation. Find the latest one here.

QGIS Server

QGIS Server ist eine Open Source Implementierung des WMS 1.3, die zusätzliche kartographische Funktionen für thematische Karten zur Verfügung stellt. Der QGIS Server ist eine FastCGI/CGI (Common Gateway Interface)-Anwendung, ist in C++ geschrieben und arbeitet mit einem Webserver zusammen (z.B. Apache oder Lighttpd). Es wurde mit finanziellen Mitteln des EU Projekts Orchestra, Sany und der Stadt Uster aus der Schweiz entwickelt.

QGIS Server verwendet QGIS im Hintergrund für die GIS-Logik und für das Darstellen der Karte. Weiterhin wird die Qt-Bibliothek für Grafiken und für die plattformunabhängige C++-Programmierung verwendet. Im Gegensatz zu anderer WMS-Software verwendet der QGIS Server kartographische Regeln in SLD/SE als Konfigurationssprache, sowohl für die Server Konfiguration als auch für die benutzerdefinierten kartographischen Regeln.

Darüber hinaus bietet das QGIS Server Projekt ein ‘Publish to Web’ Plugin. Dies ist ein Plugin für den QGIS-Desktop, welches die aktuellen Layer und ihre Darstellung als Web-Projekt für den QGIS Server (mit kartographischen Visualisierung Regeln ausgedrückt in SLD) exportiert.

Da QGIS Desktop und QGIS Server die gleichen Bibliotheken für die Visualisierung verwenden, sehen die Karten, die im Web veröffentlicht werden, genauso aus wie im Kartenfenster des Desktop-GIS. Das Plugin unterstützt derzeit grundlegenden Symbolisierung. Komplexere kartographischen Visualisierungsregeln müssen noch manuell ergänzt werden. Da die Konfiguration ausschließlich auf dem SLD-Standard beruht und seine Erweiterungen gut dokumentiert sind, muss man nur eine standardisierte Sprache lernen. Dies vereinfacht die Komplexität der Erstellung von Karten für das Web enorm.

In den folgenden Handbüchern werden wir dieses Thema noch ausweiten. Bis dahin empfehlen wir Ihnen die folgenden Internetseiten für weitere Informationen:

Beispielinstallation unter Debian Squeeze

An dieser Stelle wollen wir eine kurze und einfache Installationsanleitung für das GNU/Linux Debian Squeeze geben. Viele andere OS bieten auch fertige Pakete für den QGIS Server. Wenn Sie alles aus dem Quellcode erstellen wollen, lesen Sie bitte die URLs oben.

Abgesehen von QGIS Desktop und QGIS Server benötigen Sie einen Webserver, in unserem Fall apache2. Sie können alle Pakete mit aptitude oder apt-get install zusammen installieren. Alle weiteren notwendigen Pakete werden dann mitinstalliert. Nach der Installation sollten Sie testen, ob der Webserver und der QGIS Server wie erwartet funktionieren. Vergewissern Sie sich, dass der Apache Webserver läuft. Ansonsten starten Sie ihn mit ‘/etc/init.d/apache2 start’. Öffen Sie nun einen Web-Browser und geben Sie sie URL http://localhost ein. Wenn alles in Ordnung ist, sollten Sie die Meldung ‘It works’ sehen.

Jetzt testen wir die QGIS Server Installation. Die Datei qgis_mapserv.fcgi finden Sie unter /usr/lib/cgi-bin/qgis_mapserv.fcgi und stellt einen Test-WMS bereit, der die Grenzen von Alaska zeigt. Laden Sie den WMS mit der URL http://localhost/cgi-bin/qgis_mapserv.fcgi wie in Abschnitt Einen WMS-Layer laden beschrieben.

Figure Server 1:

../../../_images/standard_wms_usa.png

Standard WMS with USA boundaries included in the qgis server (KDE) nix

Erstellen eines WMS/WFS aus einem QGIS Projekt

Um einen neuen QGIS WMS Server zu erstellen, brauchen wir eine QGIS Projekt-Datei mit einigen Layern. Hier verwenden wir das ‘alaska’ Shapefile aus dem QGIS Beispieldatensatz. Definieren Sie die Farben und den Stil der Layer in QGIS und definieren Sie das KBS des Projektes, wenn nicht bereits geschehen.

Figure Server 2:

../../../_images/ows_server_definition.png

Definitions for a qgis project WMS/WFS server (KDE)

Öffnen Sie dann den Reiter OWS Server im Menü Einstellungen ‣ Projekteinstellungen ... und definieren Sie allgemeine Felder unter ‘Diensteigenschaften’. Unter ‘WMS-Capabilities’ definieren Sie ‘Koordinatensystemeinschränkungen’ und ‘Angezeigte Ausmasse’. Zusätzlich können Sie noch das Kontrollkästchen checkbox WKT-Geometrie in Objektinformationen einschließen aktivieren damit die Layer abfragbar werden und eine ‘Maximale Breite’ und Höhe die abgefragt werden können hinzufügen. Unter ‘WFS Capabilities’ brauchen Sie nur die Layer die Sie als WFS bereitstellen wollen auswählen. Speichern Sie jetzt die Sitzung in eine Projektdatei alaska.qgs. Um das Projekt als WMS/WFS bereitzustellen, erstellen Sie einen neuen Ordner ‘/usr/lib/cgi-bin/project’ mit Admin-Rechten und fügen Sie die Projekt-Datei alaska.qgs und eine Kopie der qgis_mapserv.fcgi Datei hinzu. Das ist alles.

In den folgenden Handbüchern werden wir dieses Thema noch ausweiten. Bis dahin empfehlen wir Ihnen die folgenden Internetseiten für weitere Informationen:

http://localhost/cgi-bin/project/qgis_mapserv.fcgi