QGIS Schulung
Zu dieser Seite …
.. ist entstanden 2013 im Frühsommer als Unterstützung zu einer Schulung zu QGIS 1.8.0. Es ist (derzeit) nicht geplant, diese Seite zu aktualisieren. Falls also Links ins Leere zeigen sollten oder Tipps in einer späteren QGIS-Version nicht mehr funktionieren sollten …. jetzt schon … sorry
.
Agenda
Support & Doku
Installation
Prinzipieller Aufbau
Browser
Desktop
QGIS-Mapserver
Installation & Updates
BetriebssystemVersionen
Vorteile/Nachteile
Linux via apt(itude)/Repository, Vorteil: Wird mit dem
OS aktuell gehalten
Windows via OSGeo4W-Installer, Vorteil: Wird durch den Installer aktuell gehalten (aber nicht im Einsatz und nicht ausprobiert)
Nachteile der automatischen Aktualisierung: Wechsel der Version ohne Vorwarnung!
PlugIns
Nachrüstbare:
für viele Anwendungsfälle gibt es nachrüstbare PlugIns, die die Funktionalität teils dramatisch erweitern
-
-
Menü → Erweiterungen → Python Erweiterungen herunterladen
Georeferenzierung für Raster
Python Erweiterungen manuell hinzufügen
Es soll vorkommen, das QGIS nicht ins Internet kommt, oder der Benutzer kein Administrator ist oder sich aus anderen Gründen die PlugIns nicht via eingebautem Werkzeug installieren lassen … falls das so ist, kann auf diesem Wege die Installation von PlugIns erfolgen:
QGIS ausschalten, falls es noch läuft!
-
Herunterladen irgendwo „wos schön ist“ … auf die lokale Platte
Auspacken
-
Nach C:\Users\<SieAlsBenutzer>\.qgis\python\plugins\ navigieren
Dort Ordner mit dem Plugin hinkopieren, so dass die init.py
direkt unter dem Ordner <pluginname>
liegt
QGIS starten
Unter Menü → Erweiterungen → Erweiterungen verwalten, die neue Erweiterung aktivieren
eigene PlugIns
Mit etwas Programmierkenntnissen lassen sich auch eigene PlugIns bauen …
Vektor-Daten
name | Geometrie |
Klosterstr.14 | Punkt(rechts=333545, hoch=5809693) |
Logisch
Polygone (POLYGON, MULTIPOLYGON) Notation: (1(r/h), 2(r/h), 3(r/h), 1(r/h))
Punkte (POINT, MULTIPOINT) Notation: 1(r/h),
Linien (LINE, MULTILINE) Notation: (1(r/h), 2(r/h), 3(r/h), 4(r/h))
Durch die Notation haben die Elemente ggf. eine „Richtung“
MULTI* bedeutet: Es können mehrere Geometrien derselben Art an EINEM Attribut hängen.
Fehlerhafte Geometrien
Prüfung & Behebung:
Weitere Prüfoptionen für Geometrien:
-- auflisten
SELECT * FROM <meineTAbelle> WHERE NOT ISVALID(the_geom);
-- REPARIEREN durch Buffern:
UPDATE <meineTAbelle> SET the_geom = multi(buffer(the_geom, 0.0005)) WHERE isvalid(the_geom) = FALSE;
UPDATE <meineTAbelle> SET the_geom = multi(buffer(the_geom, -0.0005)) WHERE isvalid(the_geom) = FALSE;
Reparatur durch Buffer prüfen! Es gibt Szenarien, da sind die Daten danach kaputt!
ArcGIS:
Ausgabe der Daten als Shape
Toolbox: Reparieren/Repair von Geometrien (Suchen nach „Reparieren“ ArcMap10 bzw. „Repair“ ArcMap9.3.1)
dann wieder SQL draus machen und in die DB importieren
Interessanterweise kann es sein, dass nach Reparatur durch ArcMap andere Geometrien fehlerhaft (bei Prüfung durch ISVALID()
) sind …
Datenquellen
Shape
ist ein „Binär-Format“, bedeutet: Kann man nicht auf Datei-Ebene manipulieren … (also die DBF-DFatei mit Excel aufmachen und Attribute ändern oder so … )
Inhalt Spaltennamen
ACHTUNG: nie nie niemals
mit Sonderzeichen, Umlauten oder ähnlichem,
nur Buchstaben, auch keine ß, ä, ü, ö …
maximal mit Unterstrich und immer klein schreiben!
Länge Spaltennamen: maximal 8 Zeichen
es kann sein, dass mehr akzeptiert wird, aber spätestens bei Manipulationen gibt es „Beulen“
bsp.: sowas wie auftragnehmer_geplant
, auftragnehmer_vergeben
, auftragnehmer_neu
ist absolut tödlich, da es dann drei Spalten mit dem Namen auftragn
gibt! …
besser: verg_an
, gepl_an
, neu_an
)
Geometrie-Typen: Punkte, Linien, Flächen
Attribut-Typen: Text(Länge), Ganzzahl(länge), Gleitkommazahl(länge,länge) … analog dBase
Spalte id
wird immer mit angelegt - wird intern verwendet, nix eintragen, nicht anfassen
Es wird nicht geprüft ob Geometrien fehlerhaft sind! d.h. es können auch fehlerhafte Geometrien abgespeichert werden

PostgreSQL/PostGIS
Datenbank!
für den Zugriff werden benötigt:
„Dienst“ - leer lassen
Host (wie heisst der Rechner auf dem die Datenbank läuft?)
Port: 5432 (immer!)
Datenbank (wie heisst die Datenbank)
SSL-Modus: <egal> … im Intranet
Benutzername (wer bin ich gegenüber der Datenbank)
Passwort
Daten sind in Tabellen organisiert
Spalte „gid“ ist Systemspalte, wird durch Datenbank verwaltet!
Tabellen können schreibbar oder nicht schreibbar sein (z.B. Views)
In einer zentralen Tabelle („geometry_columns“) werden die Metadaten der Tabellendaten gehalten (Koordinatensystem, Spaltennamen der Geometriespalte etc.)
Zugriff auf Datenbank üblicherweise eingeschränkt, d.h. nicht alle Tabellen sind für jeden sichtbar/schreibbar
Üblicherweise KEIN Neuanlegen von Tabellen möglich (für den „normalen“ Nutzer!)
Die Datenbank überwacht teilweise die Gültigkeit von Geometrien! … leider kann man sich nicht drauf verlassen

Funktionen/Übungen
Anlegen von Daten
Manipulation von Daten
Auswerten von Daten
Verschnitt etc.
„OIDs“:
für QGIS nicht zwingend nötig
Allerdings zwingend, wenn man auf die Datenbank mit ArcMap zugreifen möchte/muss
Implementierung beim Anlegen von Tabellen: (dummerweise lässt sich WITH OIDS
nicht nachträglich via ALTER TABLE
anbauen)
CREATE TABLE meinetabelle
(
bezeichnung CHARACTER VARYING,
bla CHARACTER VARYING,
blabla CHARACTER VARYING,
datenstatus INTEGER,
oska INTEGER,
the_geom geometry,
CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2),
CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL),
CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 25833)
)
WITH (
OIDS=TRUE
);
WMS
Einladen und gut …

… Druckproblematik: Wenn Bilder gezogen werden, die größer als die maximale Bildgröße, die vom Server unterstützt wird, wird nix dargestellt!
WFS
Kann wie PostgreSQL/PostGIS geladen werden
Daten werden in einem Cache gehalten (wichtig zu wissen, wenn sich Daten auf der Quelle ändern!)
WFS-T wird unterstützt (Geoserver getestet und funktioniert)
…
SpatiaLite
Raster
GDAL/OGR
ArcMap
Handhabung
Werkzeuge & Einstellungen
Fangoptionen:
Menü → Einstellungen → Fangoptionen stellt ein:
Welcher Layer fängt wie auf welchen Layer … am besten ausprobieren …
Topologisches Editieren: Wenn man Flächen hat, die eine geschlossene „Decke“ bilden sollen, dann ermöglicht Topologisches Editieren das „mitziehen“ der benachbarten Punkte einer Fläche … am besten ausprobieren …
Optionen:
Menü → Einstellungen → Optionen → Registerkarte „Digitalisierung“
stellt Farben, Symbole, Fangradien etc. ein …
Projektionen
orientiert sich an den EPSG-Systemen, Zugriff ist über die EPSG-Kennzahlen gewährleistet.
Einstellung: Einstellungen → Projekteigenschaften Reiter KBS
Kürzlich benutzte KBS: Schnellzugriff
„On-The-Fly-KBS-Transformationen aktivieren“ - benötigt Angaben zum KBS für jede Datenquelle
Layer: KBS für Layer setzen → macht Sinn, wenn KBS für Projekt auch angepasst wird
Es können auch PostGIS-Layer transformiert werden (z.B. von EPSG:25833 → EPSG:4326) und im Format der Wahl abgespeichert werden …
Layergruppen
Gruppen bilden:
Rechtsklick in leere Fläche in Layersteuerung
„Neue Gruppe hinzufügen“ wählen
Gruppe sinnvollen Namen geben z.B. „alle NaturschutzLayers“
Durch verschieben der Layer diese unter der Gruppe anordnen
Digitalisieren
Layer auswählen durch Klick (Layernamen ist blau hinterlegt)
Start Bearbeiten: Menü → Layer → Bearbeitungsstatus umschalten („der Blaue Stift“)
Die entsprechende Werkzeugleiste wird farbig
Klick auf die entsprechende Schaltfläche (z.B. Menü → Bearbeiten → Objekt hinzufügen) aktiviert das Werkzeug
Nun kann eine neue Geometrie erzeugt werden! Klick links, Klick links, letzter Klick: RECHTS
Es öffnet sich eine Maske zur Erfassung der Attribute, dort Attribute eintragen. Klick auf OK schliesst ab
Sichern: Menü → Layer → Änderungen speichern („Diskette“) … Bearbeitungsmodus ist aber noch aktiv!
Bearbeitungsmodus wieder abschalten: Menü → Layer → Bearbeitungsstatus umschalten („der Blaue Stift“)
Es können mehrere Layer gleichzeitig im Bearbeitungsmodus aktiv sein!
Es ist möglich, Objekte von einem Layer in den anderen zu kopieren (bei gleicher Attribut-Struktur!, immer nur Objekte derselben Art: also Punkt/Polygone/Linien)
Kartografie
Straßengraph
Installation des PlugIns (Erweiterungen → Erweiterungen verwalten → Straßengraph-Erweiterung)
Einstellungen setzen: Vektor → Straßengraph→ Einstellungen:
Ansicht → Bedienfelder → kürzester Weg aktivieren (Es erscheint ein Fester unter den Layern
Start: Mit dem Kreuz in die Karte klicken
Stopp: Mit dem Kreuz in die Karte klicken
Klick auf „Berechnen“ berechnet die kürzeste Distanz
QGIS-Erfassungsmasken
Voraussetzung: QT4 Designer/QT-Creator
Installation
Linux (Debianartige …)
apt-get install qt4-designer
Windows:
passendes
Paket herunterladen
installieren
Handhabung
… Klick macht groß
… Klick macht groß
Beschriftung: Label (aus Display Widgets), Doppelklick bearbeitet, rechts kann man Schiftgröße etc. einstellen
Input Widgets: Line Edit, (alle anderen funktionieren auch, sollten dann zu den Attribut-Typen passen)
… Klick macht groß
speichern!
In QGIS einbinden:
Mapserver-Export
PlugIn „MapServer Export (Version 0.4.3)“ einrichten …
via QGIS-Erweiterungen,
Haken dran machen
Speichern
Projekt anlegen und schon mal speichern
Layer hinzufügen,
Kartografie gestalten nur mit der „alten Darstellung“
Web → MapServer Export aufrufen
kommt drauf an, wie der Mapserver konfiguriert ist …
… an sich kann man dier Einstellungen so übernehmen
… üblicherweise kopiert man dnur die LAYER-Blöcke raus
Sicherlich müssen die Datenquellen, sofern z.B. Datenbank-Verbindungen verwendet werden oder WebServices auch vom Server unter den angegebenenen Namen erreichbar sein.
QGIS-Mapserver
Hier Beschreibung für Q&D unter Linux … (Q&D: Quick & Dirty
)
Installation
unter ubuntu12.04 Server …
Apachen draufnageln (wenn nicht schon drauf …)
sudo apt-get install apache2 apache2-mpm-prefork apache2-utils libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-pgsql
Paketquellen eintragen:
sudo vim /etc/apt/sources.list
einbauen:
# QGIS Mapserver
deb http://qgis.org/debian precise main
deb-src http://qgis.org/debian precise main
Schlüssel:
gpg --keyserver keyserver.ubuntu.com --recv 1F9ADD375CA44993
gpg --export --armor 1F9ADD375CA44993 | sudo apt-key add -
kann sein, dass es nicht klappt … macht nix
installieren:
sudo apt-get update
sudo apt-get install qgis-mapserver libapache2-mod-fcgid
falls der Schlüsselimport nicht geklappt haben sollte … ignorieren: „keine Überprüfung möglich → trotzdem installieren“
Test & Ersteinrichtung
Testen:
QGIS Projekt bauen … mit Daten aus einer vom Server aus zugänglichen Datenbank (Adresse muss passen) oder als kaskadierten WMS.
QGIS-Projekt abspeichern (hier als test.qgs
)
auf den Server nach /home/myuser kopieren
auf dem Server:
cd /usr/lib/cgi-bin/
sudo mkdir test
cd test
sudo ln -s ../qgis_mapserv.fcgi .
sudo cp ../wms_metadata.xml .
sudo cp /home/myuser/test.qgs .
sudo /etc/init.d/apache2 restart
dann aufrufen:
http://<myserver>/cgi-bin/test/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
muss die Capabililties liefern!
als WMS aufrufen: WMS-URL: http://<myserver>/cgi-bin/test/qgis_mapserv.fcgi?
sollte nen WMS liefern …
Nun kann die wms_metadata.xml sinnvoll angepasst werden …
Viel Spass!
Buttons = Toolbars = Werkzeugleiste
Problem
Das Problem tritt auf, wenn viele Karteninhalte, vor allem WMS, in die Karte geladen wurden
Wenn die Toolbars mit der Maus verschoben werden, passt sich die Größe des Kartenbildes automatisch an. Wenn der Aufbau des Kartenbildes länger dauert, weil viele Daten geladen werden müssen, wird in diesem Moment die neue Position der Toolbar nicht gespeichert, die Toolbar verschwindet.
Lösung:
Buttons nur bei leerem Projekt verschieben
Wenn man mit geladenem Kartenbild Buttons verschieben will/muss, dann sollten zumindest die WMS-Layer vorher ausgemacht werden!
Kurzfassung
Wenn die Toolbars aber schon verschwunden sind:
QGIS schliessen
als Administrator anmelden (Admin-Rechte notwendig)
ggf. auch als der jeweilige Nutzer den Schlüssel löschen … kann man wohl auch mit den normalen Nutzer-Rechten, da es wohl ein „user-defined“ Key zu sein scheint.
folgenden Registry-Schlüssel löschen:
\HKEY_CURRENT_USER\Software\QuantumGIS\qgis\UI\state
Langfassung
you have to delete this key in order to reset the default toolbars setting:
\HKEY_CURRENT_USER\Software\QuantumGIS\qgis\UI\state
von hier
Szenariendiskussion
Entwurf/Notizen
Datenquellenzugriff
A ArcSDE-Raster
B ArcSDE-Vektor lesend/schreibend?
C alternativ Organisation Sekundärdatenhaltung/Update MSSQL/ArcSDE to PGSQL/Shape
D alternativ Organisation Sekundärdatenhaltung Rasterkataloge (Zugriff auf in Kacheln vorliegende Rasterfiles tif,ecw,jpg)
Programmfeatures Arbeiten mit Projektionen
Programmfeatures Georeferenzierung Rasterdaten
Programmfeatures Erzeugung von Map-Files für UMN-Mapserver
Programmfeatures Datenmanipulationen (Intersect, Buffer etc.),
Kartographie, Drucken) eher weniger, Überblick wichtiger