image

Was ist QGIS Cloud

Arbeitet man im Desktop-GIS mit lokalen Geodaten, so kommt früher oder später die Anforderung die Geodaten in Form einer Webkarte einem weiteren Nutzerkreis zugänglich zu machen oder die Daten in der Datenbank mit anderen Bearbeitern über Webservices zu teilen. Dazu braucht es eine Infrastruktur bestehend aus Servern mit laufender OGC konformer Webserver-Software, Datenbanken, WMS/WFS/WFS-T/WMTS/WCS-Servern sowie Webkarten, die im Browser laufen.

Man kann sich eine Infrastruktur aufbauen, die genau die oben beschriebenen Anforderungen erfüllt. Aber die Konfiguration und Wartung eines solchen Systems braucht einiges an Know-How. Um einen eigenen Server zu konfigurieren, zu administrieren und vor allem gegen Hacker sicher zu machen, ist viel Zeit und Geld nötig.

QGIS Cloud (www.qgiscloud.com) ist der einfachere Weg, um eine solche Geodateninfrastruktur zu betreiben, ohne dass man einen eigenen Server mit passend konfigurierten Diensten betreiben und sichern muss. Dabei steht die Idee im Vordergrund, QGIS Projekte 1:1 in der Infrastruktur zu publizieren. Praktisch alle Konfigurationsarbeiten an den Diensten werden mit QGIS erledigt und verwaltet. Mit dem QGIS Cloud Plugin können Sie auf Knopfdruck lokale Daten in die QGIS-Cloud Datenbank hochladen und Webkarten sowie die OGC-Konformen Dienste publizieren. Dank des QGIS Servers, der dabei zum Einsatz kommt, sehen die publizierten Karten genauso aus wie auf dem Desktop.

QGIS Cloud ist ein Service, der von der Firma Sourcepole zur Verfügung gestellt wird. Zum Testen und für nichtkommerzielle Aktivitäten können Sie mit dem kostenlosen QGIS Cloud Free arbeiten. Für kommerzielle Anwendungen oder Anwendungen im Bereich der öffentlichen Verwaltung benötigen Sie QGIS Cloud Pro (https://www.qgiscloud.com/de/pages/plans).

Was kann QGIS Cloud alles?

Webkarten:

Erstellen von komplexen Karten mit QGIS Desktop und nutzen aller Stilmöglichkeiten, die QGIS Desktop bietet. Veröffentlichen der Daten und Karten mit dem QGIS Cloud-Plugin. All dies in nur wenigen Minuten.

Datenverwaltung:

QGIS Cloud bietet eine komplette PostgreSQL Datenbank, erweitert um die PostGIS Raumkomponente. Neue Datenbanken können direkt aus dem QGIS Cloud-Plugin mit nur einem Klick erstellt werden. Diese Datenbanken können mit jedem kompatiblen Administrationswerkzeug, wie z.B. pgAdmin oder dem QGIS Database Manager, verwaltet werden, mit vollem Zugriff auf alle Funktionen einer PostgreSQL / PostGIS Datenbank.

OGC Webservices:

Karten und Daten lassen sich über OGC (Open Geospatial Consortium)-kompatible Webdienste teilen. Karten können über WMS angezeigt oder die Daten über WFS herunterladen werden. Mit WFS-T können die Geodaten sogar direkt über den Webdienst bearbeitet werden.

Karten drucken:

QGIS Cloud bietet qualitativ hochwertige Karten über WMS an. Mit QGIS Desktop und allen Optionen, die es bietet, können beliebig viele Drucklayouts erstellt werden. Erstellen von Karten mit jedem Papierformat und einer Druckauflösung von bis zu 1200 dpi ist möglich.

Sicherheit:

Die Daten werden in der Cloud in PostgreSQL-Datenbanken gespeichert. Der Zugang auf die Datenbanken geschieht passwortgeschützt und verschlüsselt. Wenn die Dienste nur einem begrenzten Personenkreis zur Verfügung gestellt werden sollen, kann der Zugriff auf Ressourcen mit QGIS Cloud Pro eingeschränkt werden. Mit QGIS Cloud Free sind alle Dienste der QGIS Cloud frei zugänglich.

QGIS kurz

QGIS Cloud ist, wie der Name es sagt, sehr eng mit dem führenden Open Source Desktop GIS QGIS verbunden. Damit QGIS Cloud genutzt werden kann muss man einige grundlegende Eigenschaften und Funktionen von QGIS Desktop kennen. Darum werden wir hier kurz auf QGIS Desktop eingehen. Weitergehende Informationen finden Sie in der Online Dokumentation von QGIS, die Sie auf qgis.org finden.

Wenn Sie QGIS Desktop bereits kennen, dann können Sie diesen Abschnitt einfach überspringen.

Die QGIS Suite

QGIS ist die weltweit führende professionelle Open Source GIS Suite, die auf der Grundlage von Freier- und Open-Source-Software (FOSS) entwickelt wurde. Das QGIS Projekt ist offizielles Mitglied der Open-Source-Geospatial-Foundation (OSGeo). Es läuft unter Linux, Unix, Mac OSX, Windows und Android und unterstützt eine Vielzahl von Vektor-, Raster- und Datenbankformaten und -funktionen.

Die QGIS Suite besteht aus den Komponenten:

QGIS Desktop

QGIS ist ein Geoinformationssystem zum Betrachten, Bearbeiten und Erfassen von räumlichen Daten und ist GNU General Public License lizenziert. Wesentliche Merkmale der Applikation sind die breite Unterstützung gängiger Vektordaten und Rasterdaten wie Shapefile oder GeoTIFF, aber auch räumlicher Datenbanken wie PostGIS und SpatiaLite, ausgereifte Digitalisier-Werkzeuge zum Erfassen von Vektordaten sowie eine Druckzusammenstellung zum einfachen Erstellen von Kartenausdrucken.

QGIS Server

Veröffentlichen Sie Ihre QGIS-Projekte und Layer als OGC kompatible WMS-, WFS- und WCS-Dienste. Steuern Sie welche Layer, Attribute, Layouts und Koordinatensysteme exportiert werden. QGIS-Server wird als Referenzimplementation für WMS 1.3 betrachtet.

QGIS Web Client 2 (QWC2)

Veröffentlichen Sie Ihre QGIS Projekte einfach im Web. Profitieren Sie von der mächtigen Symbolsierung, Beschriftung und Überblendungsfunktionen und beindrucken Sie mit Ihren Karten.

Diese drei Komponenten, vereint mit PostgreSQL/PostGIS Datenbanken, ergeben alle Bausteine für eine verteilte Geodateninfrastruktur.

In den folgenden Abschnitten wollen wir nur ganz kurz die Schritte für eine erste Karte erklären. Die sehr ausführliche und unfangreiche Dokumentation von QGIS finden Sie unter qgis.org/de/docs/index.html

QGIS Desktop Installieren

Standardinstallationen sind für MS Windows und macOS verfügbar. Binärpakete (rpm und deb) oder Software-Repositorys werden für viele Varianten von GNU/Linux bereitgestellt.

Weitere Informationen und Anweisungen für Ihr Betriebssystem finden Sie unter download.qgis.org.

Beispieldaten herunterladen

Damit unser QGIS Desktop etwas nützt brauchen wir Daten, die wir darstellen und manipulieren können. Wenn Sie momentan keine Daten zur Verfügung haben, laden Sie am Besten die beiden folgenden Dateien herunter und entpacken Sie sie:

QGIS Starten und beenden

QGIS kann wie jede andere Anwendung auf Ihrem Computer gestartet werden. Das bedeutet, dass Sie QGIS starten können, indem Sie:

  • das QGIS Icon oder die Desktop Verknüpfung doppelklicken

  • in Linux über das Anwendungsmenü, unter Wondows das Startmenü oder mit OSX das Dock verwenden

  • eine vorhandene QGIS-Projektdatei doppelklicken (mit der Erweiterung .qgz oder .qgs). Beachten Sie, dass dadurch auch das Projekt geöffnet wird.

  • qgis in die Kommandozeile eintippen, vorausgesetzt, QGIS wurde dem Suchpfad hinzugefügt oder Sie befinden sich im Installationsordner

Um QGIS zu stoppen, benutzen Sie:

  • unter Linux oder Windows die Menüoptionen Projekt -> QGIS beenden oder benutzen Sie das Tastenkürzel Strg+Q

  • unter OSX QGIS -> QGIS beenden, oder benutzen Sie das Tastenkürzel Ctrl+Q

  • oder Sie benutzen das rote Kreuz in der rechten, oberen Ecke des Hauptfensters der Anwendung.

Projekt anlegen und Daten in das Projekt laden

Mit dem Start von QGIS Desktop legen Sie automatisch ein leeres Projekt an, in das Sie nun Daten laden können.

Quickstart

In den folgenden Abschnitten zeigen wir an einem einfachen Beispiel, wie Sie mit QGIS Cloud mühelos ihre erste Webkarte publizieren. Die folgenden Kapitel zeigen dann vertieft die Möglichkeiten auf, welche QGIS Cloud bietet.

Für die ganz ungeduldigen unter Ihnen können wir ganz schnell eine Karte im Internet publizieren, Schritt für Schritt. Ganz nebenbei werden wir so Ihre persönliche QGIS Cloud Umgebung aufbauen.

QGIS Cloud einrichten

Bevor Sie beginnen starten Sie zuersteinmal QGIS Desktop. Und dann geht es los:

  1. Die Arbeit mit QGIS Cloud wird über das QGIS Cloud Plugin organisiert. Deshalb müssen Sie das QGIS Cloud Plugin zuerst auf Ihrem Rechner installieren. Dazu öffnen Sie das Menü Erweiterungen->Erweiterungen verwalten und installieren …. Aktivieren Sie den Menüpunkt Alle und geben Sie im Suchfeld ein: QGIS Cloud. Dann sollten Sie die Beschreibung zum QGIS Cloud Plugin, wie in der Abbildung dargestellt, sehen.

  2. Zur Installation des Plugins in Ihrer QGIS Desktop Umgebung klicken Sie auf den Knopf Erweiterung installieren

    Das *QGIS Cloud* Plugin installieren

    Das QGIS Cloud Plugin installieren

  3. Nach der Installation erscheint unten links das Widget mit dem QGIS Cloud Plugin Dialog

    *QGIS Cloud* Widget Tab

    QGIS Cloud Widget Tab

  4. Damit Sie mit QGIS Cloud arbeiten können müssen Sie ein QGIS Cloud Free Konto eröffnen. Klicken Sie dazu in der Registerkarte Benutzerkonto auf den Link Registrieren. Es öffnet sich die Website Bei QGIS Cloud registrieren – Free. Sobald Sie sich auf der Website registriert und in der Bestätigungsmail das Konto bestätigt haben, gehen Sie in QGIS wieder ins QGIS Cloud Plugin und öffnen die Registerkarte Benutzerkonto. Melden Sie sich an dem neu erstellten Konto an, indem Sie auf den Knopf Anmelden klicken. Der Anmeldedialog öffnet sich und Sie können sich mit dem gerade erstellten Benutzernamen und Passwort anmelden.

    Login

    Login

    Nun ist die Verbindung zwischen dem Plugin und den QGIS Cloud Services hergestellt.

  5. Da die lokalen Daten über QGIS Cloud im Internet publiziert werden sollen, müssen Sie auch dort verfügbar sein. Im Rahmen Ihres QGIS Cloud Kontos werden die Daten in einer persönlichen PostgreSQL/PostGIS Datenbank auf db.qgiscloud.com gespeichert. Das Anlegen einer persönlichen Datenbank erfolgt über das QGIS Cloud Plugin. Spezielle Datenbankkenntnisse sind dazu nicht erforderlich. Das Plugin übernimmt alles für Sie.

    Im Reiter Benutzerkonto Klicken Sie auf den Knopf Erzeugen und nach einer kurzen Zeit erscheint die neu angelegte Datenbank, die in unserem Fall den Namen cbohgu_wkwjgu hat. Der Name der Datenbank kann nicht geändert werden und wird zufällig erzeugt. In diese Datenbank werden in Zukunft alle Daten gespeichert, die über die QGIS Cloud Dienste publiziert werden sollen.

    Die persönliche Datenbank *cbohgu_wkwjgu* ist angelegt

    Die persönliche Datenbank cbohgu_wkwjgu ist angelegt

Sollte Ihnen der Name der Datenbank nicht gefallen, dann können Sie die Datenbank im Dialog markieren und mit einem Klick auf den Knopf Löschen einfach wieder entfernen und eine neue Datenbank anlegen. So wie wir das oben schon gemacht haben. Vielleicht hat diese Datenbank dann einen “schöneren” Namen. Mit dem QGIS Cloud Free Konto können Sie nur eine einzige Datenbank zugleich anlegen.

Wenn Sie diese Schritte erfolgreich durchgeführt haben und eine Datenbankeintrag im QGIS Cloud Plugin zu sehen ist, sind Sie mit der grundlegenden Konfiguration von QGIS Cloud fertig.

Mit dem Anlegen der Datenbank ist diese auch gleich in QGIS registriert. D.h. wenn der QGIS Browser geöffnet wird kann direkt auf die Datenbank zugegriffen werden, wie auf jede andere PostgreSQL/PostGIS Datenbank auch. Das Gleiche gilt auch für den QGIS Datenbank Manager. Auch dort ist die Datenbank registriert und kann bearbeitet werden. Weitere Zugriffsmöglichkeiten auf die Datenbank werden wir Ihnen in Abschnitt Zugriff auf die *QGIS Cloud* Datenbank vorstellen.

Nun können wir uns an die Publikation der ersten Karte wagen.

Eine Karte mit dem QGIS Cloud Plugin veröffentlichen

Der QGIS Cloud Geoserver, der die Karten im Internet erzeugt, ist der QGIS Server. Es gibt viele verschiedene Serverdienste, die zum Erzeugen von Karten verwendet werden können. Das sind z.B. MapServer oder Geoserver. Alle diese Server haben den Nachteil, dass zur Publikation einer Karte über diese Systeme mehr oder weniger komplizierte Kartendefinitionen angelegt werden müssen.

Mit QGIS Cloud ist das anders. Der QGIS Server versteht 1/1 die Projekte, die Sie mit QGIS Desktop auf Ihrem PC angelegt haben. Darum ist keine weitere Kartendefinition erforderlich und das Kartenprodukt sieht genau so aus wie Sie das auf Ihrem Desktop sehen. Daraus folgt auch, dass Sie, wenn Sie QGIS Desktop bedienen können, auch einfach eine Karte ins Internet stellen können.

Aber fangen wir mal an, und Sie werden sehen was das bedeutet und wie einfach das alles ist.

Beispielkarte

Zuerst brauchen wir eine Karte (Projekt) in QGIS, das wir veröffentlichen können. Ein QGIS Projekt besteht aus Daten, die Sie in einer thematischen Karte darstellen möchten und einer Symbolisierung der Daten, um ihnen eine Bedeutung zu geben.

Unser Beispielprojekt soll auf freien Daten aufbauen. Dazu sind die Beispieldaten von natural earth prima geeignet. In Abschnitt Beispieldaten herunterladen zeigen wir, wie Sie die Daten herunterladen können.

Öffnen Sie QGIS und gehen Sie zu Layer -> Layer hinzufügen -> Vektorlayer hinzufügen. Laden Sie die beiden Shapedateien ne_110m_admin_0_countries.shp und ne_110m_rivers_lake_centerlines.shp und färben Sie die Länder und Flüsse ein. Speichern Sie schliesslich das Projekt unter dem Namen example_project.qgs.

Beispielprojekt

Beispielprojekt

Nun haben wir eine – zugegeben nicht sonderlich spannende – Karte der Welt in rot und den grossen Flüssen in blau. Diese Karte (Projekt) ist nun die Basis für unsere Kartenpublikation im Internet.

Daten hochladen

Unser Ziel ist, dass die Karte im Internet von allen angeschaut werden kann. Wie in Abschnitt Beispielkarte besprochen besteht eine Karte aus Daten und deren Darstellung. Wir haben für unser Beispielprojekt die Daten aber noch auf unserem PC liegen. Zur Publikation im Internet muss aber der QGIS Cloud Server Zugriff auf die Daten haben. Wie soll das aber gehen, wenn die Daten als Shapedateien auf dem PC liegen? Das geht gar nicht, denn der QGIS Cloud Server kann ja nicht auf die Daten zugreifen. Aber wir haben ja unsere schöne Datenbank cbohgu_wkwjgu, die wir im Abschnitt QGIS Cloud einrichten angelegt haben. Diese Datenbank ist vom QGIS Cloud Server über das Internet erreichbar. Das ist prima, aber unsere Daten liegen immer noch auf unserem PC. Wie bekommen wir die nun in die Datenbank?

Das geht einfach mit dem QGIS Cloud Plugin. Öffnen Sie die Seitenleiste des QGIS-Cloud Plugins und loggen sie sich mit ihrem QGIS Cloud Benutzernamen und Passwort ein. Gehen Sie zum Reiter Daten laden.

In der Liste sehen Sie dort alle lokalen Datensätze aufgeführt. Standardmässig werden die Daten in das Datenbankschema public geladen. Sie können aber auch ein anderes Schema auswählen, indem Sie in der Drop-Down-Liste Table Schema das gewünschte Datenbankschema auswählen. Wenn Sie ein neues Datenbankschema anlegen möchten, dann schreiben Sie einfach den neuen Namen in die Drop-Down-Liste. Es wird ein neues Datenbankschema mit diesem Namen angelegt und die Daten der Ebene werden dort hinein geschrieben. Das ist besonders hilfreich wenn Sie mit Rasterdaten arbeiten. Wenn Sie Rasterdaten in die QGIS Cloud DB laden, dann werden eine ganze Reihe weiterer Overviewtabellen angelegt. Darum empfehlen wir für jede Rasterebene ein eigenes Datenbankschema anzulegen.

Den Namen der Tabelle in der QGIS Cloud DB können Sie auch ändern, indem Sie im Feld Table Name der entsprechenden Ebene einen neuen Namen eingeben.

Haben Sie alles nach Ihren Wünschen eingestellt, drücken Sie den Knopf Daten in die Cloud laden.

Hochladen der lokalen Daten in die *QGIS Cloud* Datenbank

Hochladen der lokalen Daten in die QGIS Cloud Datenbank

Die Daten werden nun aus den lokalen Dateien in die QGIS Cloud PostgreSQL-Datenbank importiert. Je nach Grösse der Datensätze kann das einen Moment dauern. Wichtig zu wissen ist, dass die Datenquellen im Projekt ausgetauscht werden. Es werden nicht mehr die unrsprünglichen Shapedateien im Projekt angezeigt, sondern die Daten aus der QGIS Cloud Datenbank. Wenn Sie mit der Maus über den Layer in der QGIS Layeransicht fahren ohne zu Klicken erscheint ein Tooltip, der die Datenquelle anzeigt. Und dort sehen Sie, dass die Daten des Layers aus unserer QGIS Cloud Datenbank stammen.

Datenquellen in der Datenbank

Datenquellen in der Datenbank

Nun sind die Daten in der Datenbank, und das Projekt ist vorbereitet.

Karte veröffentlichen

Eine Karte zu veröffentlichen bedeutet das QGIS Projekt auf den QGIS Cloud Server hochzuladen und auf diese Weise dem QGIS Server zur Verfügung zu stellen. Der QGIS Server lädt das Projekt und samtliche Layer und Darstellungsinformationen und schickt diese Darstellung (Karte) als WMS (siehe Abschnitt WMS) in exakt der gleichen Darstellung wie auf dem Desktop an den Browser zurück.

Karte veröffentlichen

Karte veröffentlichen

Zur Publikation einer Karte melden Sie sich bitte über das Plugin bei QGIS Cloud an Ihrem Konto an. Dann öffnen Sie den Reiter Karte. Wenn Sie noch keine Karte unter Ihrem Konto publiziert haben, ist die Liste Veröffentlichte Karten leer. Da alle Daten in der QGIS Cloud Datenbank gespeichert sind, können Sie nur den Knopf Karte veröffentlichen drücken. Den Rest der Prozesses übernimmt das QGIS Cloud Plugin nun für Sie. Wenn die Veröffentlichung erfolgreich war, sollte der QGIS Cloud Plugin Dialog nun aussehen wie in der Abbildung.

Noch ein Hinweis: Alle Karten die Sie unter einem QGIS Cloud Free Konto veröffentlichen sind auf der Website www.qgiscloud.com sichtbar.

Dialog nach Abschluss der Veröffentlichung der Karte

Dialog nach Abschluss der Veröffentlichung der Karte

Die Ansicht des Dialoges hat sich nun geändert. In der zuvor leeren Liste Veröffentlichte Karten ist nun unser Projekt eingetragen. Ausserdem finden Sie oberhalb der Liste nun einige Links:

Webmap:

Der Link führt direkt zur veröffentlichten Karte. Wenn Sie dem Link folgen wird sich der QGIS Cloud Webclient öffen und die Karte anzeigen (Abschnitt QWC2)..

Öffentliche OWS URL:

Dieser Link beschreibt die Basis URL zu den QGIS Cloud Webservices. Mit der Veröffentlichung der Karte wird immer ein WMS für Sie eingerichtet. Aber es können noch weitere Services definiert werden. Das sind WMTS, WFS, WFS-T und WCS. Wie Sie diese Dienste definieren und verwalten erfahren Sie in Abschnitt OGC Webservices mit QGIS Cloud

Kartenadministration:

Sie haben umfangreiche Möglichkeiten die veröffentlichte Karte weiter zu bearbeiten. Sie können dies hier im QGIS Cloud Plugin oder auf www.qgiscloud.com machen. Später werden wir Ihnen noch genauer erklären, was Sie dort alles machen können.

Hilfe:

Sollten Sie Hilfe benötigen oder aus anderen Gründen den QGIS Cloud Support erreichen wollen, dann können Sie hier eine Mail an den QGIS Cloud Support senden.

Nun haben Sie einen schnellen Überblick über die einfachen Möglichkeiten, die QGIS Cloud bietet, erhalten. In den folgenden Abschnitten wollen wir in die Tiefe gehen und Ihnen zeigen, was Sie sonst noch alles mit QGIS Cloud machen können. Es steckt viel mehr darin, als Sie bisher gesehen haben. Lassen Sie sich überraschen.

Das QGIS Cloud Plugin

Im Abschnitt Quickstart haben Sie schon einen ersten Eindruck von den Möglichkeiten des QGIS Cloud Plugins erhalten. In diesem Kapitel gehen wir nun näher auf die weiteren Funktionen des Plugins ein.

Hintergrundebenen hinzufügen

Unser Beispielprojekt enthält zur Zeit nur zwei Ebenen, die in der Karte dargestellt werden. Zur besseren räumlichen Orientierung braucht man in der Regel neben dem eigentlichen thematischen Ebenen noch eine oder mehrere Hintergrundkarten. Das können Luftbilder oder ganz verschiedene topographische Karten sein. Auch Bing und Google-Maps Karten können verwendet werden. Allerdings müssen bei letzteren die Lizenzbedingungen zur Veröffentlichung beachtet werden.

In QGIS können verschiedene Hintergrundkarten verwendet werden:

  • WMS- und WMTS-Ebenen können mit Layer -> Layer hinzufügen -> WMS/WMTS-Layer hinzufügen in die Karte geladen werden

  • xyz-Ebenen, wie zum Beispiel Karten von OpenStreetMap, Bing oder Google. Diese Layer können entweder im QGIS-Cloud Plugin mit Karte -> Hintergrundebene hinzufügen oder im QGIS Browser unter XYZ Tiles geladen werden.

Wir wollen nun in unser Projekt die sehr schöne OpenTopoMap integrieren. Öffnen Sie dazu wieder das QGIS Cloud Plugin und melden Sie sich bei QGIS Cloud an. Dann öffnen Sie den Reiter Karten. Oben im Dialog finden Sie den Knopf Hintergrundebene hinzufügen. Wenn Sie darauf klicken öffnet sich ein Menü mit verschiedenen Kartenangeboten. Wählen Sie OpenTopoMap -> OSM OpenTopoMap aus der Liste aus. Dann klicken Sie auf Karte veröffentlichen und veröffentlichen so die Änderung in der Karte. Schauen Sie sich die Karte über den Link zur Webmap an. Nun sollten Sie die OpenTopoMap im Hintergrund angezeigt werden.

Damit die Webkarte schnell auf Zoom- und Verschiebeaktionen reagiert, versucht QGIS Cloud, Hintergrundkarten direkt und ohne Umweg über den QGIS Server in der Webkarte einzubinden. Die QGIS Cloud Applikation sorgt dafür, dass dies nur in der Webkarte der Fall ist. Damit das direkte Einbinden möglich ist, muss das Koordinatenbezugssystem der Karte gleich sein wie dasjenige der Hintergrundkarte. Das QGIS Cloud Plugin gibt eine Warnung aus, falls das nicht der Fall ist.

Falls in einem Projekt das direkte Einbinden der Hintergrundebenen nicht gewünscht ist, kann in den Karteneinstellungen auf der QGIS-Cloud Webseite die Eigenschaft Externe WMS, WMTS und XYZ Ebenen als Hintergrundkarten anzeigen deaktiviert werden. Der Link zur webbasierten Kartenadministration wird Ihnen im Plugin im Reiter Karten für die jeweilige Karte angezeigt.

Kartenverwaltung

Mit dem QGIS Cloud Plugin lassen sich eine Reihe Kartenverwaltungsaufgaben erledigen. Diese Verwaltungswerkzeuge befinden sich alle im Reiter Karten. Einerseits können Sie dort, wie wir bereits gesehen haben, die Karten veröffentlichen. Dann sehen Sie dort, in einer Liste, Ihre persönlichen, veröffentlichten Karten. Aber sie können noch mehr dort machen.

Der Reiter *Karten* mit zwei veröffentlichten Karten

Der Reiter Karten mit zwei veröffentlichten Karten

Damit die Funktionsweise der Kartenadministration besser verständlich ist, veröffentlichen wir eine weitere Karte auf QGIS Cloud. Verändern Sie das aktuelle Projekt example_project, indem Sie die Farbe der Länder von rot nach grün ändern. Dann speichern Sie das Projekt ab mit dem Namen example_project_green. Wenn Sie gespeichert haben, veröffentlichen Sie das Projekt auf QGIS Cloud. Falls Sie nicht mehr wissen wie das geht, schauen Sie einfach im Abschnitt Karte veröffentlichen nach.

Wenn Sie nun eine der beiden Karten anklicken, sehen Sie, wie sich URL zu Webmap und öffentliche OWS jeweils ändern. Da Sie verschiedene Karten publiziert haben, müssen auch unterschiedliche URLs existieren.

Am Fuß des Reiters Karten finden Sie drei Köpfe. Die Funktionen der drei Knöpfe beziehen sich immer auf die – in der Liste – markierten Karte.

Projekt öffnen:

Mit einem Klick auf diesen Knopf können Sie das auf QGIS Cloud veröffentlichte Projekt direkt in QGIS öffnen, bearbeiten und wieder publizieren. Das ist vor allem dann hilfreich, wenn Sie das original Projekt nicht mehr haben. Dann können Sie es sich einfach aus QGIS Cloud auf Ihren Schreibtisch zurück holen und weiter bearbeiten.

Löschen:

Damit können Sie die ausgewählte Karte vom QGIS Cloud Server löschen. Das Projekt wird damit vollständig vom Server entfernt ist ist nicht mehr veröffentlicht.

Karteneinstallungen:

Über die Karteneinstellungen können Sie verschiedene Einstellungen vornehmen. Die Möglichkeiten, die Sie mit Ihrem QGIS Cloud Free Konto haben werden wir gleich genauer ansehen. Wenn Sie die Karteneinstellungen ändern, dann müssen Sie die Karte nicht wieder neu publizieren.

Einstellungsmöglichkeiten unter *QGIS Cloud Free*

Einstellungsmöglichkeiten unter QGIS Cloud Free

Die Abbildung zeigt eine Übersicht über die Einstellmöglichkeiten einer Karte. In unserem Fall gibt es nur zwei Einstellmöglichkeiten:

  1. Sprache

  2. Maßstäbe

Alle anderen Optionen sind nur mit einem QGIS Cloud Pro Konto veränder- oder nutzbar. Diese Funktionen werden im Abschnitt QGIS Cloud Pro Features genau beschrieben.

Sprache einstellen

Mit einem QGIS Cloud Free Konto ist es möglich die Sprache des Webclients auf eine der angebotenen Sprachen fix einzustellen oder mit Auto an die Sprache des Browsers anzupassen. Sollte die Sprache des Browsers nicht zur Verfügung stehen, wird automatisch englisch verwendet. Probieren Sie es aus. Stellen Sie die Sprache auf Auto und klicken Sie auf speichern. Wenn Sie dann auf die URL zur Webmap klicken sehen Sie, wenn Sie z.B. die Karte aus Deutschland aufrufen, die Beschriftungen des QGIS Cloud Web Clients in deutscher Sprache. Wenn Sie dies vermeiden wollen und eine fest eingestellte Sprache sehen möchten, wählen Sie eine in der Liste vorgeschlagenen Sprachen aus.

Maßstab einstellen

Sie können das Darstellungsverhalten der Webkarte so einstellen, dass die Karte nur in bestimmten Maßstäben angezeigt werden kann. Die zulässigen Maßstäbe schreiben Sie einfach als Komma getrennte Liste in das Textfeld. Probieren Sie es aus, indem Sie die folgenden Werte in das Textfeld schreiben: 1000,5000,100000 und diese Änderung speichern. Öffnen Sie dann den QGIS Cloud Web Client erneut über den Link im Plugin und schauen Sie sich die angebotenen Maßstäbe in der Fußleiste des Webclients an.

Benutzerdefinierte Maßstäbe im *QGIS Cloud Web Client*

Benutzerdefinierte Maßstäbe im QGIS Cloud Web Client

Wie Sie feststellen, kann die Karte nun nur noch in diesen drei Maßstäben dargestellt werden.

Die QGIS Cloud Webseite

Der QGIS Cloud Web Client

Eine Karte im Internet zu Veröffentlichen erfordert eine entsprechende Schnittstelle zwischen dem Computer und den Menschen, die Informationen über einen bestimmten Raumausschnitt auf der Erde wünschen. Das geht nur mit einem entsprechenden Webclient, der die zentralen GIS Funktionen im Internet Browser anbietet. Das sind:

  • Darstellen einer Karte

  • Darstellen der Symbolisierung in Legenden

  • Ein- und Ausschalten einzelner Ebenen

  • Verschieben der Karte

  • Verschieben der Karte auf der Basis einer Suche

  • Ändern des Maßstabes in der Karte

  • Abfragen der Objekte in der Karte

  • Suchen von Objekten und Informationen

  • Drucken der Karte in druckfertiger Qualität

  • Bearbeiten der Geodaten (QGIS Cloud Pro)

Alle diese Funktionen bietet der QGIS Cloud Web Client mit einem QGIS Cloud Free Konto an. Mit der Veröffentlichung einer Karte, wie im Abschnitt Quickstart beschrieben, stehen diese Funktionen automatisch für jede Karte im Internet zur Verfügung.

Heutzutage müssen Webbasierte Angebote wie QGIS Cloud auf einer Vielzahl verschiedener Geräte betrieben werden können. Das reicht vom Desktop PC über Tablets zu Smarthones. Das bedeutet, dass der QGIS Cloud Webclient die Grösse der Anzeige des jeweiligen Gerätes erkennen muss und sein Erscheinungsbild automatisch an das Gerät anpassen können muss. Diese Verhalten wird “reactive” genannt und vom QGIS Cloud Webclient unterstützt.

Der QGIS Cloud Web Client basiert auf dem von Sourcepole entwickelten QGIS Webclient 2 (QWC2). Der QWC2 wird von Sourcepole ständig weiter entwickelt. Diese Entwicklungen fliessen auch zunehmend in den QGIS Cloud Webclient ein.

Der Client – eine Übersicht

Der QGIS Cloud Web Client ist bewusst sehr schlank gehalten. Damit lässt sich der Client intuitiv verwenden, ohne Einführung in die Anwendung. Gleichzeitig verfügt er aber über viele Funktionen, die versierten Anwendern eine umfangreiche Applikation anbieten.

Basisdesign des *QGIS Cloud Web Clients*

Basisdesign des QGIS Cloud Web Clients

Mit QGIS Cloud arbeiten

Nun wollen wir uns mehr mit den speziellen Funktionen, die uns QGIS Cloud bietet, beschäftigen.

Suche

Die Suche nach Objekten in der Karte, definiert über bestimmte Kriterien, ist eine der wichtigsten Funktionen einer GIS Anwendung. In der Standard Konfiguration des QGIS Cloud Web Clients ist die Suche über Orte und Adressen sowie die Koordinatensuche integriert. Die Suche nach Adressen wird mit Informationen des OpenStreetMap Projektes versorgt, soweit die Adressen erfasst sind. So lassen sich Adressen finden, indem Sie einfach in das Suchfeld den Ort, die Straße und die Hausnummer eingeben. Dann wird eine Liste mit erfolgreichen Treffern angeboten, aus denen die gewünschte Information auswählt werden kann, indem man darauf klickt.

Suche nach Adressen

Suche nach Adressen

Sofort springt der Kartenausschnitt des QGIS Cloud Web Clients an den Ort der Adresse und zeigt diese mit einer blauen Nadel an.

Die Koordinatensuche erfolgt in dem in der aktuellen Ansicht des QGIS Cloud Web Clients eingestellten Referenzsystems. Welches Referenzsystem eingestellt ist kann man in der Statuszeile des QGIS Cloud Web Clients am Fuße der Seite nachsehen.

Eingestelltes Referenzsystem in der Statuszeile

Eingestelltes Referenzsystem in der Statuszeile

Suche nach Koordinaten

Suche nach Koordinaten

Es ist auch möglich die Suchfunktion im QGIS Cloud Web Client gänzlich abzuschalten. Dazu muss in den Karteneinstellungen des QGIS Cloud Plugins der Suchtyp auf none gestellt werden.

Drucken mit QGIS Cloud

Mit QGIS Cloud ist es sehr einfach, in den publizierten Karten Druckfunktionalität anzubieten. Die Drucklayouts in den publizierten QGIS Projekten sind dank QGIS Server automatisch auch in der Webkarte verfügbar. Als Beispiel fügen wir im Projekt aus Kapitel Beispielkarte ein Drucklayout hinzu. Dazu gehen wir in QGIS auf Projekt -> neues Drucklayout und geben den Namen der Druckzusammenstellung ein (hier ’A4 quer’). Es öffnet sich ein Layout-Fenster und man kann die Druckvorlage durch Aufziehen von Elementen (z.B. Karte, Massstab, Legende, Textfelder) gestalten. Mehr Informationen zu den zahlreichen Gestaltungsmöglichkeiten finden sich im QGIS-Benutzerhandbuch .

Drucklayout

Drucklayout

Nach dem Speichern und publizieren des QGIS-Projektes kann die Druckfunktionalität in der Webkarte unter Karte und Werkzeuge->Drucken benutzt werden.

Drucken im *QGIS Cloud Web Client*

Drucken im QGIS Cloud Web Client

Wenn es Druckvorlagen gibt, die nur für den internen Gebrauch bestimmt sind und nicht in der Webkarte veröffentlicht werden sollen, können diese Vorlagen unter Projekt -> Eigenschaften -> QGIS Server -> Layouts ausschliessen eingetragen werden.

Featureinfo und Tooltips

Wenn man in den publizierten Webkarten auf die Karte klickt, werden Informationen zu den Objekten an der Mausposition angezeigt. Zusätzlich kann auch ein Tooltip konfiguriert werden, welches angezeigt wird, wenn man mit der Maus über die Karte fährt. In diesem Kapitel zeigen wir die wichtigsten Einstellungsmöglichkeiten für diese zwei Werkzeuge.

Featureinfo für Layer unterdrücken

Per default ist das Anzeigen von Informationen für alle Layer eingeschaltet. Manchmal soll ein Layer aber nur sichtbar sein, ohne dass Informationen dazu abgefragt werden können. Zum Beispiel, wenn der Layer nur als Hintergrundkarte sichtbar sein soll oder wenn die Attribute des Layers nicht nach Aussen weitergegeben werden sollen. Unter Projekt -> Eigenschaften -> Datenquellen -> Abfragbar kann das Infowerkzeug für einzelne Layer bei Bedarf deaktiviert werden.

Abfragbare Layer definieren

Abfragbare Layer definieren

Manchmal sollen für einen Layer zwar Informationen angezeigt werden, aber einige Attribute enthalten vertrauliche Informationen und sollen nicht publiziert werden. Damit Attribute nicht im Info-Tool oder im Tooltip der Webkarte erscheinen, können Sie in den Layereigenschaften unter Felder -> WMS deaktiviert werden.

WMS/WFS sichtbare Attribute definieren

WMS/WFS sichtbare Attribute definieren

Feld im Featureinfo-Popup ändern

Wenn mit dem Featureinfo Werkzeug auf die Karte geklickt wird, dann wird standardmässig für jeden Layer der abfragbar ist die ID des Objektes angezeigt. Das ist sicher selten die optimale Lösung. Um das zu ändern und auf ein Feld der Wahl einzustellen, gehen Sie wie folgt vor.

Öffnen Sie in den Ebeneneigenschaften den Reiter “Anzeige” und stellen Sie im Dropdown-Menü ein, welches Feld angezeigt werden soll. Das ist schon alles.

Reihenfolge der Attribute im Featureinfo-Popup ändern

Nicht immer ist die vom Layer vorgegebene Reigenfolge der Attribute im Featureinfo-Popup optimal. Ausserdem sollen auch nicht immer alle Attribute dargestellt werden. Über das zu publizierende QGIS Projekt können Sie Einfluss darauf nehmen.

Zur Manipulation des Abfrageergebnisses gehen Sie folgendermassen vor:

  1. In den Layereigenschaften das Attributformular auf Mit Drag und Drop zusammenstellen umstellen.

  2. Alle Attribute, die Sie nicht sehen wollen, aus dem Formular entfernen.

  3. Durch Verschieben der einzelnen Attribute im Formularlayout die Reihenfolge der Attribute ändern

  4. In den Projekteigenschaften im Bereich QGIS Server die Option Attributformulareinstellungen für GetFeatureInfo-Antwort verwenden aktivieren

Nach erneuter Publikation des Projektes sollte das Attrubutformular Ihren Vorstellungen entsprechen.

Objekt bei Featureinfo hervorheben

In einem WMS wird die Karte als Bild dargestellt, ohne dass der Webclient die Koordinaten der Geometrien sieht. Wenn die Publikation der Geometriekoordinaten kein Problem darstellt, kann die Option Eigenschaften -> QGIS Server -> Geometrie der Objektantwort beifügen angehakt werden. In der GetFeatureInfo-Antwort des Servers ist dann die Vektorgeometrie des Objekts enthalten. Dadurch kann die Webkarte das angeklickte Objekt hervorheben.

Feature Info mit Rubberband

Feature Info mit Rubberband

Tooltip-Funktion

In der Webkarte gibt es neben der Info-Funktion auch die Tooltip-Funktion. Dabei wird ein Infotext angezeigt, wenn die Maus über Objekte fährt. Um die Tooltip-Funktion zu aktivieren, kann man in QGIS in den Layereigenschaften unter Anzeigen -> HTML Kartenhinweis den Text eingeben, der angezeigt werden soll. Da der Text normalerweise vom Objekt abhängt, können im HTML QGIS-Expressions zwischen ’[%’ und ’%]’ eingebettet werden. In diesen Ausdrücken können Attribute und zahlreiche dynamische Funktionen verwendet werden. Um das Tooltip in untenstehender Abbildung zu erzeugen wurde z.B. der Text Fluss: <b>[% “name_de” %]</b> verwendet, wobei name_de der Attributname ist.

HTML Tooltipp

HTML Tooltipp

Zugriff auf die QGIS Cloud Datenbank

Die QGIS Cloud Datenbank ist eine ganz normale PostgreSQL / PostGIS Datenbank. Allerdings gibt es Einschränkungen in den Zugriffsberechtigungen. Für jede Datenbank existiert nur ein User. Der Name des Users entspricht genau dem Namen der Datenbank. Dieser User darf die Datenbank benutzen, hat aber keine Administratorenrechte. Es können keine weitergehenden Aktionen wie Einbinden einer Extension vorgenommen werden. Der User der Datenbank kann alle Aktionen ausführen, die auf der Ebene der Datenbank erfolgen. Das sind z.B. das Anlegen von Tabellen, Views, Trigger oder Regeln.

Nach dem Anlegen einer Datenbank über das QGIS Cloud Plugin werden die Verbindungsparameter automatisch in die QGIS Verbindungen eingetragen. Damit ist die Datenbank für QGIS bekannt und registriert. Sie kann direkt mit dem QGIS Browser oder dem QGIS DB Manager verwaltet werden. Auf diese Weise können Sie bereits eine ganze Menge mit der DB anstellen.

Wenn Sie aber mit einem Drittprodukt auf die Datenbank zugreifen möchten, dann müssen Sie die Verbindungsparameter (Credentials) kennen. Wie Sie die erfahren werden wir uns jetzt ansehen.

Ermitteln der Credentials

Die Verbindung an eine PostgreSQL Datenbank erfolgt über den sogenannten Connectionstring in dem die Credentials enthalten sind. Dieser muss die folgenden Parameter enthalten:

  • hostname

  • username

  • dbname

  • password

  • port

Für die QGIS Cloud Datenbank sind verschiedene Werte bereits vorgegeben:

  • hostname: db.qgiscloud.com

  • username: Name der Datenbank

  • dbname: Name der Datenbank

  • password

  • port: 5432

Zur Verbindung mit der Datenbank fehlt uns nun noch das Passwort. Um das Passwort zu ermitteln öffnen Sie das QGIS Cloud Plugin und wählen den Reiter Account. Dort sehen Sie auch die Liste Ihrer Datenbanken. Fahren Sie mit der Maus über die gewünschte Datenbank und Sie werden einen Tooltipp sehen, der Ihnen alle Credentials auflistet. Am Ende des Tooltipps sehen Sie auch das Passwort der Datenbank.

Mit diesen Informationen können Sie von Drittprodukten aus auf die Datenbank zugreifen.

OGC Webservices mit QGIS Cloud

Das Open Geospatial Consortium (OGC) ist eine 1994 als Open GIS Consortium gegründete gemeinnützige Organisation, die sich zum Ziel gesetzt hat, die Entwicklung von raumbezogener Informationsverarbeitung (insbesondere Geodaten) auf Basis allgemeingültiger Standards zum Zweck der Interoperabilität festzulegen. Dabei baut sich das OGC aus Mitgliedern von Regierungsorganisationen, privater Industrie und Universitäten auf, deren Mitgliedschaft im OGC kostenpflichtig ist. Das OGC seinerseits ist seit Januar 2007 Mitglied des World Wide Web Consortiums (W3C).[2] Die registrierte Marke heißt OpenGIS.

QGIS Cloud unterstützt die Open Web Services der OGC und ist damit eine vollständige OGC–Konforme Geodateninfrastruktur. Der QGIS Server, welcher der QGIS Cloud zugrundeliegt, ist ein OGC konformer Kartenserver, der OGC Webservices unterstützt. Die Konfiguration des QGIS Server lässt sich im QGIS Projekt mit QGIS Desktop einstellen. Dazu öffnen Sie die Projekteigenschaften mit dem Menü Projekt -> Eigenschaften -> QGIS Server. Wenn Sie bei Diensteigenschaften ein Häkchen setzen können Sie die grundlegenden Eigenschaften des Dienstes ausfüllen.

Diensteigenschaften des Beispielservices

Diensteigenschaften des Beispielservices

Wenn Sie alle Felder ausgefüllt haben müssen Sie das Projekt speichern und neu veröffentlichen. Mit dem Veröffentlichen erhalten Sie auch die URL zum Dienst, die im QGIS Cloud Plugin neben “Öffentliche OWS URL” angezeigt wird. Mit einem Rechtsklick auf den Link können Sie die URL in die Zwischenablage speichern. In unserem Beispiel ist das:

https://wms.qgiscloud.com/support/example_project/

Geben Sie nun diese URL, oder die zu Ihrem Konto und Projekt entsprechende URL, in die Adresszeile Ihres Internet-Browsers ein oder klicken Sie einfach auf den Link im QGIS Cloud Plugin. Wenn Sie die URL absenden, dann erhalten Sie einen ServiceExceptionReport zurück:

<ServiceExceptionReport version="1.3.0">
<ServiceException code="Service configuration error">
Service unknown or unsupported
</ServiceException>
</ServiceExceptionReport>

Das ist kein Grund zur Panik, sondern zeigt, dass alles gut ist. Der Server funktioniert und wir bekommen eine Antwort von ihm. Der Grund für die Fehlermeldung ist, dass wir die Anfrage an den Server ohne die korrekten Parameter abgesendet haben. Die Meldung besagt, dass wir dem Server nicht mitgeteilt haben, welche Art Service wir anfragen wollen. QGIS Cloud bedient über die Service-URL verschiedene Dienste. Aber das sehen wir uns in den nächsten Abschnitten genauer an.

Web Map Service (WMS)

Der OpenGIS Web Map Service Interface Standard (WMS) bietet eine einfache HTTP-Schnittstelle zur Anforderung von georeferenzierten Kartenbildern aus einer oder mehreren verteilten Geodatenbanken. Eine WMS-Anforderung definiert die zu verarbeitende(n) geografische(n) Ebene(n) und das zu bearbeitende Interessengebiet. Die Antwort auf die Anfrage ist ein oder mehrere georeferenzierte Kartenbilder (zurückgegeben als JPEG, PNG usw.), die in einer Browser-Anwendung angezeigt werden können. Die Schnittstelle unterstützt auch die Möglichkeit, anzugeben, ob die zurückgegebenen Bilder transparent sein sollen, so dass Schichten von mehreren Servern kombiniert werden können oder nicht.

Mit der Publikation einer Karte auf QGIS Cloud steht diese Karte automatisch immer auch als WMS zur Verfügung und kann sofort verwendet werden. Das wollen wir doch gleich mal ausprobieren:

Anlegen einer neuen WMS Verbindung

Anlegen einer neuen WMS Verbindung

  1. klicken Sie im Reiter Karte des QGIS Cloud Plugins mit der rechten Maustaste auf die OWS URL.

  2. öffnen Sie den QGIS Browser und klicken Sie mit der rechten Maustaste auf den Eintrag WMS/WMTS und wählen Neue Verbindung … aus.

  3. geben Sie der Verbindung einen Namen.

  4. kopieren Sie die URL aus der Zwischenablage in das Feld URL.

  5. nun noch OK drücken.

Jetzt steht Ihnen der WMS in allen zukünftigen QGIS Projekten als Layer zur Verfügung. Einfacher geht es nicht, oder?

In den Projekteigenschaften können Sie Ihren WMS noch weiter konfigurieren. Im Bereich WMS-Capabilities können Sie die Ausmaße der WMS–Karte definieren, die Anzahl der Referenzsysteme beschränken, Drucklayouts (siehe Abschnitt Drucken mit QGIS Cloud) und Layer ausschliessen.

Die Standardeinstellungen von QGIS-Projekten, die Sie über QGIS Cloud veröffentlichen möchten, sind nicht die besten in Bezug auf die Leistung des QGIS Webclient / WMS. Dieser Punkt macht sich bemerkbar, wenn das veröffentlichte Projekt viele Ebenen enthält. Dann führen die Standardeinstellungen zu einer schlechten Performance, da für jede Ebene des WMS alle Referenzsystemdefinitionen heruntergeladen werden. Bei vielen Ebenen und den tausenden Referenzsystemen die QGIS Server unterstützt, kommt da schon ganz schön was zusammen. Daher ist es wichtig festzulegen, welche Bezugssysteme der veröffentlichte WMS unterstützen soll. Das erreichen wir, in dem der Block KBS-Beschränkungen aktiviert wird und nur die Referenzsysteme ausgewählt werden, die auch wirklich verwendet werden sollen.

Web Map Tile Servcie (WMTS)

Der Standard Web Map Tile Service (WMTS) ist ein Geodienst, spezifiziert durch das Open Geospatial Consortium (OGC). Der WMTS definiert einen Webservice, um digitale Karten kachelbasiert anbieten und abrufen zu können. Ziel des WMTS-Standards ist, Karten für Anwendungen performant zur Verfügung zu stellen. Hierzu wird die Karte serverseitig vorgeneriert und in einzelne kleinere Karten, auch Kacheln (engl. tiles) genannt, zerteilt und gespeichert (Tile Cache). Diese Kacheln können dann einzeln von der Anwendung abgerufen werden.

Mit QGIS Cloud können Sie ebenfalls WMTS ausliefern. In der Standardeinstellung von QGIS Cloud ist das Ausliefern von WMTS deaktiviert. Zum Aktivieren von WMTS gehen Sie wieder in die Projekteigenschaften -> QGIS Server -> WMTS-Eigenschaften. Dort können Sie nun definieren welche Ebene Sie veröffentlichen wollen.

Einstellen der WMTS-Eigenschaften

Einstellen der WMTS-Eigenschaften

In der Abbildung ist zu sehen, dass die Ebene mit den Flüssen veröffentlicht ist und im Bildformat PNG ausgeliefert werden soll. Die Administrativen Grenzen sollen dagegen im Bildformat JPEG ausgeliefert werden. Beide Ebenen werden als Einzelebenen ausgeliefert und nicht als eine gesamte Karte, darum ist das Projekt als ganzes nicht veröffentlicht.

Wichtig: In den WMS-Eigenschaften muss ’KBS-Beschränkungen’ angehakt sein. Bei ’WMTS-Eigenschaften’ muss dann mindestens ein KBS ausgewählt sein.

Der URL von WMS und WMTS sind identisch und lautet immer https://wms.qgiscloud.com/<username>/<kartenname>. Das Einbinden eines QGIS Cloud WMTS erfolgt auf die gleiche Weise wie bei einem WMS-Layer. Damit QGIS den gewünschten Service - WMS oder WMTS - anfordern kann, muss an der Service-URL folgendermassen erweitert werden:

https://wms.qgiscloud.com/<username>/<kartenname>?Service=WMTS&Request=GetCapabilities

Wird das nicht gemacht, dann fordert QGIS immer einen WMS von QGIS Cloud an.

WFS

Ein nicht so offensichtliches Merkmal von QGIS Cloud ist die Möglichkeit, Ihre Daten über den Web Feature Service (WFS) zu teilen und sie über den Web Feature Service Transactional (WFS-T) zu verwalten. “Web Feature Service (WFS) bezeichnet den Internet-gestützten Zugriff auf Geodaten innerhalb eines verteilten GIS. Der WFS beschränkt sich dabei ausschließlich auf Vektordaten, wie sie in Datenbanken abgelegt werden können.” .

Einen QGIS Cloud WFS können Sie in wenigen Schritten einrichten, wenn im Projekt Vektorlayer geladen sind. Zuerst Definieren Sie die Vektorebenen, die Sie publizieren möchten, und dann nehmen Sie die entsprechenden Einstellungen wie folgt vor:

  1. öffnen Sie die Registerkarte Projekteigenschaften -> OWS-Server.

  2. scrollen Sie zum Abschnitt WFS-Eigenschaften und nehmen Sie die entsprechenden Einstellungen vor. Markieren Sie dort Veröffentlicht für jede Ebene, die Sie veröffentlichen möchten.

  3. Zusätzlich können Sie die veröffentlichten Felder jeder Ebene im Register Eigenschaften der Ebene -> Felder einstellen.

WFS Eigenschaften einstellen

WFS Eigenschaften einstellen

Nach dem Veröffentlichen des Projektes steht Ihnen der WFS bereits zur Verfügung. Probieren Sie es aus, indem Sie, wie oben beschrieben, mit der QGIS Cloud OWS URL eine WFS–Anbindung an diesen Service erstellen.

WFS-T

Mit WFS-T haben Sie vollen Zugriff auf Ihre Vektordaten zur Bearbeitung über das Web. Dabei steht das -T für Transaktional. Das bedeutet, dass Sie über die WFS-T Norm Vektordaten bearbeiten können. Da QGIS Cloud die WFS-T-Funktionalität unterstützt, können Sie Ihre Daten, die von der QGIS Cloud bereitgestellt werden, von jedem WFS-T unterstützenden Client aus verwalten und bearbeiten. QGIS Desktop ist ein WFS-T Client.

Damit ein Vektorlayer als WFS-T Layer via QGIS Cloud bearbeitet werden kann muss der Layer vorbereitet werden. Jeder Layer, der mit dem QGIS Cloud Plugin in eine QGIS Cloud Datenbank geladen wird, erhält beim Uploadprozess das Feld qc_id hinzugefügt. Dieses Feld wird mit einer Datenbanksequenz gefüllt. Das bedeutet, dass zu jedem neu erfassten Objekt im Layer das Feld qc_id mit einem eindeutigen Zahlenwert gefüllt wird. Da Sie aber in der Regel nicht wissen welche Zahlen in der Tabelle bereits verwendet werden, darf das Feld qc_id nicht in der Verarbeitung erscheinen. Also muss die Anzeige des Feldes qc_id verhindert werden. Das können Sie in den Eigenschaften der Ebene -> Attributformular einstellen. Wählen Sie unter Felder das Feld qc_id aus und ändern Sie den Bedienelementtyp nach Versteckt.

Ausserdem müssen Sie verhindern, dass das Feld qc_id via WFS publiziert wird. Das unterbinden Sie, indem Sie in Eigenschaften der Ebene -> Felder in der Konfiguration des Feldes qc_id nicht via WFS offenlegen auswählen.

Jetzt müssen Sie das Projekt neu publizieren. Nun erscheint das Feld qc_id nicht mehr im Eingabeformular und die neue ID kann automatisch zugeordnet werden.

Die Fähigkeit zu WFS-T müssen Sie wieder in der bereits bekannten Registerkarte Projekteigenschaften -> OWS-Server vornehmen. Zum Aktivieren von WFS haben wir bereits die beiden Ebenen ne_110m_rivers_lake_centerlines und ne_110m_admin_0_countries als WFS veröffentlicht. Jetzt aktivieren Sie die Optionen Aktualisieren, Einfügen und Löschen in den WFS–Eigenschaften. Nach dem Publizieren stehen Ihnen die beiden Layer auch editierbar zur Verfügung. Da die Verbindung zu unserem WFS in QGIS Desktop bereits hergestellt ist, brauchen wir dort nichts mehr zu machen. Probieren Sie nun die WFS-T Funktionalität aus, indem Sie die Ebene ne_110m_rivers_lake_centerlines über den WFS in QGIS Desktop laden und in den Editiermodus schalten. Sie können diesen Layer jetzt wie jeden anderen Vektorlayer in QGIS Desktop bearbeiten.

Aber beachten Sie, dass alle unter QGIS Cloud Free veröffentlichten Dienste öffentlich und für jedermann zugänglich sind. So kann die ganze Welt Ihre Geodaten bearbeiten. Wenn Sie einen eingeschränkten Zugang benötigen, können Sie den über ein QGIS Cloud Pro Abo realisieren (siehe Abschnitt Zugriffschutz von Karten).

WCS

“Der Open Geospatial Consortium Web Coverage Service-Schnittstellenstandard (WCS) definiert die Webbasierte Abfrage von digitalen Geoinformationen, die raum- und/oder zeitvariierende Phänomene darstellen.

WCS gewährt Zugang zu Coverage-Daten in Formen, die für die Clientseitige Verarbeitung nutzbar sind, beispielsweise für wissenschaftliche Modelle. Der WCS ist verwandt mit OGC Web Feature Service (WFS) und Web Map Service (WMS). Als Service-Instanz des WMS und des WFS erlaubt ein WCS, Klienten Teile der Informationsbestände eines Servers basierend auf räumlichen Bedingungen und anderen Abfragekriterien zu wählen.

Im Gegensatz zum Web Map Service (WMS), der Geo-Daten als Kartenbilder liefert, stellt der WCS verfügbare Daten zusammen mit ihren detaillierten Beschreibungen (Metadaten) bereit und definiert eine reiche Syntax für Anfragen auf diesen Daten und Metadaten. Insbesondere werden Daten mit ihrer vollen Semantik ausgeliefert; im Gegensatz zu den lediglich für Menschen geeigneten Bildern des WMS lassen sich WCS-Daten deshalb auch maschinell weiter auswerten.

Im Gegensatz zum Web Feature Service (WFS), der einzelne räumliche Datenelemente liefert, gibt WCS multidimensionale Daten zurück, die einen Ausschnitt der Raum-Zeit-Eigenschaften in beliebige Beziehungen bringt. Als solches fokussiert WCS auf Coverages als eine spezialisierte Klasse von Features (nämlich Mengen von Features) und bietet dementsprechende Funktionalität.

WCS basiert auf dem Coverage-Modell des OGC GML Application Schema for Coverages[1] und unterstützt alle Coverage-Typen daraus. Insbesondere ist die aktuelle Version 2.0 nicht mehr eingeschränkt auf reguläre Gitter wie frühere WCS-Versionen. “

Wie die bereits zuvor beschriebenen Dienste wird auch der WCS in den Projekteinstellung des QGIS Desktop Projektes gemacht. So wie im Abschnitt WFS beschrieben, werden auch hier die Einstellungen vorgenommen.

QGIS Cloud Pro Features

Im Rahmen eines QGIS Cloud Pro Abos haben Sie Zugriff auf weitere Funktionen, die nur dort zur Verfügung stehen. Der Umfang dieser Funktionen wird ständig erweitert und den QGIS Cloud Pro Anwendern zur Verfügung gestellt. In den folgenden Abschnitten wollen wir Ihnen diese Funktionen im Detail vorstellen.

Anpassen des QGIS Cloud Web Clients

Das Anpassen des QGIS Cloud Web Clients erfolgt über sogenannte Viewer. Diese Viewer sind benannte Konfigurationen, die später dann einer Kartenansicht zugewiesen werden können. Im Rahmen eines QGIS Cloud Pro Kontos können beliebig viele solcher Viewer angelegt werden.

Mit der Definition eines Viewers lassen sich diese Eigenschaften im QGIS Cloud Web Client verändern:

  • Name des Viewers

  • Kopfzeile

  • Setzen eines Favicons

  • Logo für den Desktopclient setzen

  • Logo für den mobilen Client setzen

  • Das Logo kann mit einem weiterführenden Link versehen werden

  • Anpassungen am Erscheinungsbild des QGIS Cloud Web Clients mit CSS Logik

Wir werden nun der Reihe nach die einzelnen Punkte durchgehen. Natürlich müssen wir zuerst einen neuen Viewer anlegen, wir haben ja noch keinen.

Anlegen eines Viewers

Eine Übersicht über die dem Konto zugeordneneten Viewer erhalten wir, wenn wir auf qgicloud.com in den Bereich Viewer wechseln (https://qgiscloud.com/viewers). Aber Achtung, den Menüpunkt Viewers sehen wir nur, wenn wir mit einem QGIS Cloud Pro Konto angemeldet sind.

Viewer Uebersicht

Noch sind keine Viewer definiert

Die Übersicht über unsere Viewer ist noch leer, also müssen wir zuersteinmal einen Viewer anlegen. Klicken Sie dazu auf den Knopf Neu.

Viewer neu anlegen

Es öffnet sich die Seite zur Verwaltung der Viewer. Als zwingende Eingabe wird nur ein Name erwartet. Also geben wir einen beliebigen Namen ein. Er sollte selbstverständlich so gewählt werden, dass wir später am Namen erkennen können was dieser Viewer darstellt. Unser Viewer soll Sourcepole heissen. Ausserdem geben wir in das Feld Kopfzeile eine kurze Beschreibung zum Viewer ein. Diese Beschreibung in der Kopfzeile wird später z.B. für die Anzeige der Lesezeichen im Browser verwendet. Nun sieht das Ganze so aus.

Viewer mit Name und Kopfzeile

Wenn wir jetzt auf Viewer erstellen klicken erscheint unser leerer Viewer in der Übersicht. Prima, das war unser erstes Ziel.

Viewer Uebersicht mit SP Viewer

Logos setzen

Mit einem Viewer können wir den QGIS Cloud Web Client individualisieren. Ein wichtiges Erkennungsmerkmal sind Logos. Wir können drei verschiedene Arten von Logos setzen.

  1. Favicon: Das sind die kleinen Bildchen, die in der Adresszeile des Browsers und vor den Lesezeichen erscheinen. Die Favicons sollten die Grösse 32x32 Pixel haben.

Sourcepole Favicon
  1. Logo: Das Desktoplogo erscheint in der oberen linken Ecke des QGIS Cloud Web Clients. Wenn kein Viewer mit der Karte verbunden ist sehen wir dort das QGIS Cloud Pro Logo. Diese Bilder sollten die Grösse 200x25 Pixel haben.

  1. Mobile Logo: In der mobilen Ansicht des QGIS CLoud Web Clients ist der Platz für ein Logo wesentlich kleiner. Deshalb brauchen wir dazu ein eigenes und kleineres Logo. Diese Bilder sollten maximal 49x49 Pixel gross sein.

Für unser Beispiel hier haben wir die drei Logos von Sourcepole vorbereitet und in der Verwaltungsansicht der Viewers Sourcepole definiert. Dazu haben wir die Viewers Ansicht wieder geöffnet und auf das Stiftsymbol neben unserem Viewer Sourcepole geklickt.

Die Viewerdefinition sieht nun so aus:

Viewer mit Logos

Toll wäre es, wenn wir mit einem Klick auf das Sourcepole Logo gleich zur Sourcepole Homepage weitergeletet würden. Das geht natürlich auch. Dazu muss in der Viewers Ansicht im Feld Logo-Link die vollständige Zieladresse, die bei einem Klick auf das Logo geöffnet werden soll, eigegeben werden.

In unserem Fall sieht das dann so aus.

Ändern des QGIS Cloud Web Clients mit CSS Logik

Das Erscheinungsbild des QGIS Cloud Web Clients wird über CSS gesteuert. CSS steht für Cascading Style Sheets, was übersetzt „mehrstufige Formatvorlagen“ bedeutet. Es handelt sich dabei um eine Gestaltungs- und Formatierungssprache, mit der das Aussehen von HTML-Dokumenten bestimmt wird. Es geht also um Design oder Stil, nicht um den Inhalt einer Webseite. Mit CSS können Anwender zum Beispiel Schriftarten, Farben, Linien, Höhen und Breiten auf einer Webseite definieren. Das Elemente im Erscheinungbild des QGIS Cloud Web Clients werden über CSS gesteuert. Dieses CSS Elemente können vom Benutzer in einem Viewer übersteuert werden. Auf diese Weise lässt sich das Erscheinungsbild des QGIS Cloud Web Clients individuell anpassen.

Uns ist bewusst, dass wir mit diesem Thema schon tief im Bereicht des Webdesigns bewegen. Wir können auch hier nicht ein Tutorial zur Anwendung von CSS schreiben. Dazu gibt es bereits einige gute Tutorials im Internet. Wir können Ihnen aber zeigen, wie Sie grundsätzich die CSS des QGIS Cloud Web Clients verändern können.

Hier in unserem Beispiel fangen wir mit einer leeren Karte an, sodass wir uns ganz auf die Fragestellung zum CSS konzentrieren können. Wir wollen ja nicht die Karte designen sondern das Erscheinungsbild unseres ganz persönlichen QGIS Coud Web Clients. Dazu brauchen wir keinen Karteninhalt. Aber wir brauchen ein Projekt. Erstellen Sie deshalb ein leeres QGIS Projekt, das Sie dann auf QGIS Cloud publizieren. Wir nennen das Projekt css. Im nächsten Schritt müssen wir einen Viewer definieren und mit der Karte css verbinden, so wie es hier beschrieben ist. Nennen wir den Viewer MyCSS. Nun sind wir parat, um unser CSS Design zu starten.

Finden von CSS ID- und Klasseninformationen

Als erste Änderung im QGIS Cloud Web Client wollen wir die Farbe des Textes des Appmneü Buttons von schwarz auf rot ändern. Der Text Map & Tool soll also rot erscheinen. Aber wie fange ich nun an? Am Anfang stehen wir wohl etwas ratlos vor der ganzen Thematik. Wo finde ich was, und wie soll ich überhaupt einsteigen? Da es viele Browser gibt, die durch den QGIS Cloud Web Client unterstützt werden, wir hier aber nicht alle Browser behandeln können, beschränken wir uns auf den Firefox Browser. Der Firefox besitzt die Entwicklertools, die uns bei der Arbeit mit CSS sehr behilflich sind. Andere Browser haben ebenfalls solche Tools, die in der Regel auch sehr änhlich funktionieren.

Im Firefox werden die Entwicklertools mit der Taste F12 aktiviert. Nach dem Drücken der Taste F12 sieht der Firefox so aus:

Firefox developer Tools

Für unsere Fragestellung benötigen wir den Inspektor oben links in den developer Tools.

Firefox developer Tools Inspektor

Wenn wir den aktiviert haben, müssen wir noch das Auswahlwerkzeug aktivieren.

Inspektor, Auswahlwerkzeug

Nun haben wir die Möglichkeit die einzelnen Elemente der Seite zu identifizieren, indem wir mit dem Mauszeiger über die Elemente der Seite fahren. Immer wenn ein Element aktiv ist wird uns die CSS Information des Elementes angezeigt. Fahren Sie über das Appmenue mit der Maus und klicken Sie mit der linken Maustaste darauf

app-menue-button

Nach dem Klick auf das ausgewählte Element springt der Cursor des CSS Inspektors genau an die Stelle im CSS an der sich die Definition des angeklickten Elementes befindet.

app-menue-button

Nun klicken Sie auf die Zeile <span class=”appmenu-label”>Map & Tools</span>. Das ist genau die Zeile, die uns zur CSS definition des Appmenu-Labels führt, dessen Farbe wir ja nach rot ändern wollen. Im Inspektor wird nun die entsprechende CSS Definition für den Label angezeigt. Diese Definition ist die, die wir suchen. Wir erfahren auch, dass das CSS für den Label in der Datei TopBar.css ab Zeile 64 definiert ist.

app-menue-button

Sie können auch auf den Link TopBar.css klicken. Dann öffnet sich die CSS Datei direkt und sie können die Definition direkt mit copy/paste aus dieser Datei nehmen.

app-menue-button

Das ist die ganze CSS Defintion des Appmenu Labels. Aber wie kann ich nun die Farbe ändern? Das geht, indem wir diese CSS Defintion in unseren Viewer übernehmen und entsprechend erweitern. Dazu öffnen Sie auf qgiscloud.com die Seite zur Definition unseres neu angelegten Viewers MyCSS und fügen die kopierten CSS Zeilen in das Textfeld CSS ein. Wenn Sie nicht mehr wissen wie, dann können Sie hier nachsehen. Das ändert aber noch nichts am Erscheinungbild des QGIS Cloud Web Clients. Um den Text rot erscheinen zu lassen müssen wir noch die Textfarbe definieren. Das erreichen wir, indem wir die Zeile color: red; in die Definition einfügen. Wie Sie sehen müssen Sie nicht die gesamte CSS Definition erneut einfügen, es reicht, wenn Sie nur Ihre Erweiterung hinzufügen.

#TopBar div.AppMenu .appmenu-label {
  color: red;
}
app-menue-button

Nun müssen Sie den Viewer aktualisieren und die Karte neu laden. Dann sollten Sie den App Menu Label in roter Schrift sehen.

app-menue-button

Sie können gerne mit verschiedenen Farben, Stilen und Dekorationen experimentieren. Denken Sie nur daran Ihren Viewer zu speichern, bevor Sie die Seite neu laden.

CSS mehr im Detail

In den nächsten Schritten wollen wir ein paar Komponenten des QGIS Cloud Web Clients anpassen. Zuerst wollen wir die Hintergrundfarbe des Menübalkens oben ändern. Dazu müssen wir zuersteinmal wieder herausfinden welche CSS ID dafür verantwortlich ist. Das Vorgehen ist das Gleiche wie im Kapitel zuvor beschrieben. Mit F12 öffnen Sie die Developer Tools wieder und aktivieren den Inspector und fahren mit der Maus über den Kopfbalken, sodass es so aussieht wie in der Abbildung.

app-menue-button

Blau unterlegt sehen Sie nun im Inspector-Fenster, dass die ID des Elementes TopBar ist. Prima, nun können wir die Farbe ändern, indem sie die CSS Definition für die #TopBar ID erweitern mit:

#TopBar div.AppMenu .appmenu-label {
  color: red;
}

#TopBar {
  background-color: #c1ccc7;
}

Vergessen Sie nicht den Viewer zu aktualisieren und die Seite mit dem QGIS Cloud Web Client neu zu laden. Wenn Sie alles richtig gemacht haben, dann sollte das TopBar Element nun so aussehen.

app-menue-button

Wir können auch das Popup Menü für den Ebenenübersicht ändern. Finden Sie mit dem Inspector heraus, wie die ID des Elementes ist. Dann können Sie anfangen.

#LayerTree div.layertree-tree {
  background-color: #62d6b3;
}

Und so sieht es dann aus, wenn alles richtig gemacht wurde.

app-menue-button

Wenn wir nun noch ein paar weitere Gestaltungselemente hinzunehmen, kann man den Viewer dazu nutzen einen QGIS Cloud Web Client zu gestalten, der dann ein etwas grüneres Erscheinungsbild hat.

/* Balken oben und Balken unten, Hintergrundfarbe auf #c1ccc7 gesetzt. */
#TopBar, #BottomBar {
  background-color: #c1ccc7;
}

/* Die Striche des Burgermenüs in blau*/
#TopBar div.AppMenu .appmenu-icon {
  color: #3800ff;;
}

/* Die Schriftfarbe der Kartenknöpfe in #595959 und der Hintergrund der Knöpfe in #c1ccc7 */
button.map-button {
  color: #595959;
  background-color: #c1ccc7;
}

/* Hintergrundfarbe des Ebenenbaumes in #eeebeb */
#LayerTree div.layertree-tree {
  background-color: #eeebeb;
}

/* aktiver Suchelementtyp in #62d6b3 */
#Search li.searchbar-provider-selection-active {
  background-color: #62d6b3;
}

Sie sehen, dass es mit den entsprechenden Hilfsmittel wie den Developer Tools recht konfortabel ist das Erscheinungsbild des QGIS Cloud Web Clients persönlich anzupassen. Hier kann nur eine kleine Einführung erfolgen. Ein weiteres Beispiel für die Gestaltung mit CSS finden Sie im Sourcepole Blog.

Karteneinstellungen

Im Abschnitt Kartenverwaltung haben wir bereits einen kleinen Einblick in die Möglichkeiten der Karteneinstellungen erhalten. Allerdings sind mit einem QGIS Cloud Free Konto nur sehr beschränkte Einstellungen möglich. Anders ist das mit dem QGIS Cloud Pro Konto.

Benutzerdefinierte Suche

Im Rahmen eines QGIS Cloud Pro Abos ist es möglich eine eigene – benutzerdefinierte – Suchfunktion auf der Basis einer Datenbankanfrage zu implementieren. So erscheint dann im Suchfenster des QGIS Cloud Webclients nicht mehr die Information aus OpenStreetmap sondern die Information aus frei definierten Suchabfragen. Ziel ist, eine Liste von Suchbegriffen im Suchfeld anzuzeigen, ein Element davon auszuwählen und dann auf der Karte den Ausschnitt um das ausgewählte Element darzustellen. Mit der Auswahl eines der Suchbegriffe springt also der Kartenausschnitt zu diesem Objekt in der Karte. Auf diese Weise läßt sich sehr einfach der QGIS Cloud Webclient erweitern und individuell der Applikation entsprechend konfigurieren.

Die Suche wird über eine beliebige SQL Abfrage definiert, die als Ergebnis zwei Spalten liefern muss. Das ist zum Einen der Text, der in der Suchbox dargestellt wird und zum Anderen der zur Textposition gehörend Raumausschnitt. Auf diesen Raumausschnitt wird schließlich nach erfolgter Suche die Karte eingestellt. Das bedeutet, dass zu jedem Text eine Geometrie vorhanden sein muss.

Im folgenden Abschnitt gehen wir näher auf die Formulierung der SQL Abfrage ein. Außerdem wollen wir anhand von Beispielen zeigen, wie mächtig dieser Ansatz sein kann.

Um für eine QGIS Cloud Pro Karte die Datenbanksuche gegen die Standardsuche über OpenStreetMap auszutauschen und zu aktivieren gehen Sie folgendermaßen vor:

  • QGIS starten

  • über das QGIS Cloud Plugin am QGIS Cloud Pro Konto anmelden

  • den Reiter Karten öffnen

  • die gewünschte Karte auswählen und auf Karteneinstellungen klicken

  • den Search Type auf DBSearch wechseln

  • die Quell-Datenbank aus der Liste Search DB für die Abfrage auswählen

Karteneinstellung für die Benutzerdefinierte Suche

Karteneinstellung für die Benutzerdefinierte Suche

Nun sind alle Vorbereitungen getroffen, um Datenbanksuche zu verwenden.

SQL zur Definition der Suche

In den Karteneinstellungen des QGIS Cloud Plugins kann nun die SQL Abfrage zur Suche formuliert werden. In unserem Fall ist in den Karteneinstellungen definiert, dass sich alle Abfragen auf die Datenbank cbohgu_wkwjgu beziehen.

Zuerst sollen ein paar Beispieltabellen in der Datenbank cbohgu_wkwjgu angelegt werden, mit denen die benutzerdefinierte Suche besser erklärt werden kann. Das können wir gut mit der DB-Verwaltung in QGIS Desktop machen. Öffnen Sie dazu die DB-Verwaltung in QGIS Desktop und wählen Sie Ihre QGIS Cloud Datenbank mit dem Namen QGISCloud xxxxxx_yyyyyy aus, indem Sie auf das kleine Dreieck vor dem Datenbanknamen klicken.

Damit steht der SQL-Editor zur Verfügung, den Sie über das Icon

Der SQL-Editor

Der SQL-Editor

aus der DB-Verwaltung starten können.

Als ersten Schritt legen wir die Tabelle friends im DB Manager an. Geben Sie dazu den folgenden Befehl in das Textfeld des Abfrageeditors ein.

CREATE TABLE friends (
id SERIAL,
name VARCHAR,
geom GEOMETRY (Point,4326) );

Dann führen Sie diese Abfrage aus, indem Sie auf den Knopf Ausführen klicken. Wenn Sie alles richtig gemacht und keinen Fehler in die Abfrage eingebaut haben, dann sollte neben dem Knopf Ausführen stehen: 0 Zeilen, 0.xxx Sekunden

Nun müssen wir die Tabelle friends mit Werten befüllen.

INSERT INTO friends (name, geom) VALUES
('Paul', st_setsrid('POINT(-0.86 52.12)'::geometry, 4326));
INSERT INTO friends (name, geom) VALUES
('Steve', st_setsrid('POINT(13.46 52.50)'::geometry, 4326));
INSERT INTO friends (name, geom) VALUES
('Mary', st_setsrid('POINT(8.33 46.95)'::geometry, 4326));
INSERT INTO friends (name, geom) VALUES
('Tim', st_setsrid('POINT(2.38 47.78)'::geometry, 4326));

Nun haben wir alles vorbereitet, um unsere Benutzerdefinierte Suche zu implementieren. Die Definition der Suche erfolgt wieder im QGIS Cloud Plugin. Öffnen Sie das Plugin und wechseln Sie in den Reiter Karten. Öffenen Sie die Karteneinstellungen wie Sie es in Abschnitt Karteneinstellungen gelernt haben. Der Kern der Suche ist eine SQL Abfrage die in des Textfeld Such SQL geschrieben wird. Sie muss einem bestimmten Muster folgen und folgendermaßen aussehen

SELECT name AS displaytext, Box2D(wkb_geometry) AS bbox
FROM <table>
WHERE name ILIKE '%?%';

Dabei bedeutet:

  • name – ist eine Spalte, die einige Zeichenfolgen enthält. Der Inhalt der Spalte name wird im Suchfeld angezeigt.

  • wkb_geometry – eine Spalte, die Geometrien enthält

  • tablename – ist der Name der Tabelle (alias Layer), die durchsucht werden soll

  • %?% – ist der Platzhalter für die Suchzeichenfolge.

Wenn Sonderzeichen oder Großbuchstaben für Spaltennamen oder Tabellennamen verwendet werden sollen, müssen diese mit “” in Anführungszeichen setzen – doppelte Anführungszeichen!

Wir wollen eine Suche nach unseren Freunden implementieren. Die Suche soll so gestaltet sein, dass wenn ein Anfangsbuchstabe in das Suchfeld eingegeben wird, alle Freunde mit dem Anfangsbuchstaben im Namen aufgelistet werden. Die Liste soll mit der Eingabe weiterer Buchstaben immer weiter eingegrenzt werden.

Der erste Teil einer SQL Abfrage ist immer das SELECT. Wir brauchen einen Text, in unserem Fall die Namen unserer Freunde. Wir können also die SQL Abfrage so beginnen:

SELECT name AS displaytext

Wie Sie sehen haben wir die Spalte name mit dem Alias displaytext versehen. Das muss so sein und kann nicht geändert werden.

Außerdem brauchen wir noch einen Ausschnitt, zu dem hin die Karte geschoben werden soll. Da der Wohnort unserer Freunde bekannt ist – als Punkt – müssen wir noch den Ausschnitt um den jeweiligen Punkt abfragen. Dazu ermitteln wir die BoundingBox um die jeweiligen Punkte die in der Spalte geom gespeichert sind:

SELECT name AS displaytext, Box2D(geom) AS bbox

Auch die BoundingBox wird mit dem Alias bbox versehen. Das muss wie bei dem displaytext zwingend so sein.

Im nächsten Schritt müssen wir die Tabelle, die abgefragt werden soll, definieren.

SELECT name AS displaytext, Box2D(wkb_geometry) AS bbox
FROM friends

Jetzt ist unsere Abfrage bald fertig. Probieren Sie einmal aus, was passiert, wenn Sie die Abfrage so definieren. Entspricht das Ergebnis unserer Aufgabenstellung?

Es fehlt noch etwas, nämlich die Selektion über die Buchstaben, beginnend mit dem Anfangsbuchstaben. Also muss noch eine Bedingung definiert werden. Da wir nur über die Namen filtern wollen müssen wir den Filter folgendermaßen formulieren:

SELECT name AS displaytext, Box2D(geom) AS bbox
FROM friends
WHERE name ILIKE '?%';

Probieren Sie die Suche aus. Wenn Sie alles richtig gemacht haben, dann wird sich die Suche genau so verhalten wie wir das zu Anfang definiert haben. Sie können für die Suche beliebig komplexe Abfragen formulieren. Die einzige Bedinung ist, dass die Abfrage eine Liste mit zwei Spalten ergibt, die displaytext und bbox heißen.

Karteneinstellungen mit Suchabfrage

Karteneinstellungen mit Suchabfrage

ACHTUNG: Beachten Sie, dass das CRS der Ergebnisspalte bbox das gleiche sein muss wie das des Projektes. In unserem Beispieldaten haben die Punkte das CRS 4326 – also WGS84. Sollte das veröffentlichte Projekt in einem anderen CRS referenziert sein, dann würde der QGIS Cloud Web Client die Karte auf die BoundingBox des Punktes in WGS84 Koordinaten verschieben. Das stimmt aber nicht und es würde der falsche Ausschnitt auf der Karte gewählt. Darum müssen Sie in diesem Fall eine Transformation der Koordinaten der Punkte in das CRS der Karte vornehmen. Zum Glück bietet PostGIS dafür die passende Funktion an. Die Transformation kann dann folgendermaßen durchgeführt werden.

... Box2D(st_transform(<Geometriespalte>, <CRS>)) AS bbox

Das (<CRS>) ist durch das CRS der veröffentlichten Karte zu ersetzen.

Sie können sich das Leben viel einfacher machen, wenn Sie eine Suchansicht in der ausgewählten DB definieren, die Sie mit PgAdmin oder QGIS DB Manager verwalten können:

CREATE or REPLACE VIEW myserach as
SELECT name AS displaytext, Box2D(geom) AS bbox
FROM friends
WHERE name ILIKE '?%';

Dann verwenden Sie diese Ansicht für das Suchabfragefeld anstelle einer sehr komplexen SQL-Abfrage:

SELECT displaytext, bbox FROM mysearch WHERE name ILIKE '?%';

Wenn Sie die Suchanfrage ändern möchten, können Sie dies sehr komfortabel mit PgAdmin oder QGIS DB Manager tun. Wenn Sie diese Option verwenden, brauchen Sie die Suchanfrage im QGIS Cloud Backend nicht zu ändern.

Zugriffsschutz von Karten

Karten und Dienste, die im Rahmen eines QGIS Cloud Free Kontos veröffentlicht werden sind grundsätzlich öffentlich. Sie werden direkt nach der Publikation auf www.qgiscloud.com veröffentlicht und können von jeder Person auf der Welt gesehen und genutzt werden. Nach einer Weile verschwinden die kleinen Karten von www.qgiscloud.com. Wer aber die URL zur Karte hat, kann weiterhin jederzeit darauf zugreifen. Im Gegensatz zu den Karten sind die Daten in der QGIS-Cloud Datenbank immer nur mit entsprechender Authentifizierung erreichbar. Sie sind persönlich mit dem QGIS Cloud Konto verbunden. Der Zugriff auf die Daten steht ganz unter Ihrer Kontrolle!

Mit QGIS Cloud Pro gibt es die Möglichkeit den Zugriff auf Karten und Dienste für einen bestimmten Nutzerkreis einzuschränken und so den Zugriff zu kontrollieren Diese Benutzer müssen sich dann zuerst mit ihrem QGIS Cloud Benutzernamen und Passwort anmelden, bevor Sie auf die geschützte Karte zugreifen können. Dabei braucht nur der Administrator der Karte ein QGIS Cloud Pro Konto. Die anderen Benutzer, denen die Karte freigegeben werden soll, müssen mindestens im Rahmen eines QGIS Cloud Free Konto bei QGIS Cloud registriert sein.

Das Freigeben der Karte für einen bestimmten Benutzerkreis kann im QGIS Cloud Plugin unter Karteneinstellungen vorgenommen werden. In unserem Beispiel werden die Karte und die WMS-Dienste example_project dem QGIS Cloud Benutzer Benutzer1 freigegeben. Durch Eingabe von neuen Benutzernamen und Klick auf Benutzer hinzufügen kann die Karte beliebig vielen weiteren Nutzern freigegeben werden.

Freigeben einer Karte im *QGIS Cloud Plugin*

Freigeben einer Karte im QGIS Cloud Plugin

Im Rahmen eines QGIS Cloud Pro sind neu veröffentlichte Karten und Webdienste immer zugriffsgeschützt. Falls Pro-Karten ohne Zugriffsschutz zugänglich sein sollen, können in den Karteneigenschaften in den Karteneinstellungen des QGIS Cloud Plugins die Optionen Karte öffentlich bzw. WMS öffentlich angehakt werden.

Externe Daten in die lokale Webkarte importieren

Daten aus externen Webservices: WMS, WMTS, WFS

Mit QGIS Cloud Pro können Sie auch externe WMS WFS oder WMTS Layer in die Karte laden. Unter Layers & Legend finden Sie die Option “Import Layer”. Geben Sie dort die URL des gewünschten Dienstes ein in der Form:

https://wms.example.com

Achten Sie darauf, dass Sie den Webservice via https anbinden, da auch der QGIS Cloud Web Client nur via https kommuniziert. Wenn Sie nun die auf Verbinden klicken, dann erscheinen alle Ebenen, die der Dienst anbietet. Nach dem Auswählen eines Layers wird dieser zur Karte hinzugefügt. Um diese Einstellung für diese Karte persistent zu machen, müssen Sie die Seite als Lesezeichen in Ihrem Browser abspeichern. Immer wenn Sie dann später dieses Lesezeichen öffnen, wird die Karte in genau dieser Einstellung wieder geladen.

Einbinden von externen Daten in den *QGIS Cloud*

Filebasierte lokale Daten: KML, JSON, GeoJSON

Genau wie bei den Webservices gehen Sie mit lokalen Dateibasierten Ebenen vor. Allerdings können Sie in diesem Fall die filebasierten lokalen Daten nicht über ein Lesezeichen persistent machen.

Einbinden von externen Daten in den *QGIS Cloud*

Geodaten editieren

Geodaten aus QGIS Cloud können in QGIS Desktop als PostGIS–Ebene oder als WFS–T–Ebene (siehe Abschnitt WFS-T) eingebunden und mit den Editierwerkzeugen von QGIS bearbeitet werden (Abschnitt Zugriff auf die QGIS Cloud Datenbank).

Editieren von Geodaten ist aber auch in der Webkarte im Internet–Browser möglich. Eine lokale Installation von QGIS–Desktop ist dann nicht mehr erforderlich. Da bei einer editierbaren Webkarte alle Benutzer mit Zugriff auf die Karte auch editieren können, ist es empfehlenswert, editierbare Karten nur spezifischen Benutzern zugänglich zu machen (Abschnitt Zugriffschutz von Karten).

Damit die Editierfunktionalität auch ohne Pro-Account ausprobiert werden kann, gibt es die Testkarte https://qgiscloud.com/mhugent/sandbox_map. Auf dieser Sandbox-Karte können nach Belieben neue Objekte hinzugefügt oder bestehende geändert werden.

Voraussetzung, dass eine Ebene editiert werden kann ist der richtige Geometrietyp der Ebene. Zur Zeit können nur 2-Dimensionale Vektordaten editiert werden. Das bedeutet, dass die folgenden Geometrien nicht unterstützt werden:

  • PointZ, PointM

  • LinestringZ, LinestringM

  • PolygonZ, PolygonM

Editierbare Ebenen vorbereiten

Editieren eines Layers bedeutet Geometrien oder die Attribute neu zu erzeugen oder bestehende zu bearbeiten. Grundsätzlich hat jede über das QGIS Cloud Plugin in die QGIS Cloud DB geladene Datentabelle die Spalte qc_id, die automatische Werte erzeugt. Diese Spalte darf im Rahmen der Editierfunktion nicht bearbeitbar sein, da sie eindeutige, automatisch erzeugte Werte enthalten soll. Würde manuell ein Wert in dieses Feld eingegeben, bestünde die Gefahr, dass dann dieser Wert zweimal in der Tabelle vorkommen würde. Das ist nicht erlaubt und würde zu einem Fehler beim Speichern der Eingabe führen. Um ein Editieren der Spalte qc_id zu verhindern, müssen wir das Feld in der Editiermaske im QGIS Cloud Web Client verstecken.

Öffnen Sie den Dialog der Layereigenschaften des entsprechenden Layers und wählen Sie die Option Attributformular. Nun sehen Sie alle Felder der Ebene aufgelistet. Ganz oben sollten Sie das Feld qc_id sehen.

Wenn Sie nun, wie in der Abbildung dargestellt, den Bedienelementtyp auf versteckt stellen, wird dieses Feld bei der Eingabe im Editiermoduns im QGIS Cloud Web Client nicht mehr angezeigt. Beim Speichern der Änderungen wird dann der nächste freie eindeutige Wert automatisch generiert.

Das Feld *qc_id* als versteckt markiert

qc_id verstecken

Auf diese Weise können Sie alle Felder verstecken, die Sie in der Augabe des QGIS Cloud Web Clients nicht sehen möchten.

Um die Editierfunktionalität auszuprobieren, wollen wir den Fluss-Layer in der Beispielkarte aus Abschnitt Beispielkarte editierbar machen. Dazu setzten wir in den Karteneigenschaften auf der QGIS-Cloud Webseite unter Editierbare Ebenen beim entsprechenden Layer ein Häckchen und klicken unten auf der Seite auf Karte aktualisieren. Der Eintrag Editierbare Ebenen ist nur bei QGIS Cloud Pro in den Karteneigenschaften sichtbar.

Editierbare Ebenen festlegen

Editierbare Ebenen festlegen

In der Webkarte gibt es jetzt unter Karte & Werkzeuge -> Werkzeuge den Eintrag Editieren. Nach dem man darauf gedrückt hat, kann man den Layer auswählen, der bearbeitet werden soll. Mit Auswählen kann ein bestehendes Objekt bearbeitet werden, mit Zeichnen kann ein neues Objekt in der Karte erfasst werden.

Das Editierwerkzeug im *QGIS Cloud Web Client*

Das Editierwwerkzeug im QGIS Cloud Web Client

QGIS Cloud berücksichtig dabei die Datentypen und die Editiereinstellungen im publizierten QGIS Projekt:

  • Attribute, die in QGIS den Editiertyp Versteckt haben, werden auch beim Editieren in der Webkarte nicht angezeigt.

  • Attribute mit Typ bool werden als on/off-Slider angezeigt.

  • Attribute mit Typ date oder ‘timestamp’ werden in einer Kalenderansicht angezeigt.

  • Integer Attbribute werden in einer Spinbox angezeigt. Die in QGIS gewählten Minimum/Maximum-Wertebeschränkungen und die Schrittweite werden übernommen.

  • Attribute mit dem Editiertyp Wertabbildung werden beim Editieren in der Webkarte in einer Auswahlbox angezeigt

Eine Combobox bei der Attributbearbeitung

Eine Combobox bei der Attributbearbeitung

Also nun los, wollen wir die Linie digitalisieren. Dazu werden die Stützpunkte der Linie mit einem Mausklick gesetzt. Soll das Digitalisieren der Linien beendet werden, dann wird der Vorgang mit einem Doppelklick beendet und es öffnet sich das Attributformular zur Eingabe der Attributinformationen.

Die Stützpunkte der Linie können auch bearbeitet werden:

  • verschieben - mit dem Mauszeiger über den Stützpunkt fahren. Wenn der Punkt blau wird, kann er mit der Maus gepackt und verschoben werden

  • hinzufügen - Doppelklick auf die Linie und ein Stützpunkt wird hinzugefügt

  • löschen - mit Shift + Click wird ein Punkt wieder gelöscht