Eigene GIS-Fachapplikationen mit QGIS 2 erstellen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche

Am Beispiel der Zonenplanung zeigt diese Anleitung, wie eine GIS-Fachapplikation in QGIS erstellt werden kann.


Voraussetzungen

  • Betriebssystem: Jedes, das von QGIS unterstützt wird. Es sind keine OS-Admin-Rechte nötig, der Datenbankbenutzer musss jedoch Schreibrechte haben und Tabellen anlegen können.
  • QGIS mindestens 2.8 installiert
  • PostgreSQL/PostGIS installiert
  • QGIS Interlis-Plugin

PostgreSQL und PostGIS installieren

Die PostgreSQL Distribution von EterpriseDB enthält pgAdmin, ein benutzerfreundliches PostgreSQL Administrationstool. Ebenfalls ist dabei der "Application Stack Builder" enthalten, mit dem Sie PostGIS installieren können. Bei der Anleitung wird vorausgesetzt, dass pgAdmin benutzt wird. Stellen Sie sicher, dass sie im Installationsprozess PostGIS installiert wird (Unter Spatial Extensions im Stack Builder).

http://www.enterprisedb.com/products-services-training/pgdownload

Sie können PostgreSQL und PostGIS auch als alleinstehende Software unter folgenden URLs herunterladen:

http://www.postgresql.org/download/ http://postgis.refractions.net/download/

QGIS-Plugins installieren und konfigurieren

1. Daten vorbereiten

  • Für die Durchführung dieser Anleitung braucht es eine bereits bestehende PostgreSQL Datenbank.
    • Erstellen Sie diese mit dem Namen "zplnaenikon" (Nach verbinden zur Datenbank: Rechtsklick auf "Datenbanken" > neue "Datenbank")
    • Die Postgis Erweiterung zur Datenbank hinzufügen (Erstellte Datenbank aufklappen > Rechtsklick auf "Extensions" > "Neue Extension" > Name: postgis)*
  • Folgende Daten finden sie in einer ZIP Datei auf dem wiki:
    • INTERLIS-Modell: Definiert das Datenbank-Schema und enthält verschiedene Enumerationen
    • CSV-Tabellen: Aufzählung von Zonentypen und Eigenschaften
    • DXF-Datei: Enthält Beispiel-Zonen
    • Zonenplan-Legende: Legt die Einfärbung einer Zone fest
    • LINK ZUM WIKI
  • Unter Werkzeuge für Interlis finden Sie der Download zu der ZIP Datei, in dem sich eine Datei mit dem Namen "ili2c.jar" befindet. Entpacken Sie diese Datei in einen Ordner wo Sie sie wiederfinden. Die anderen Dateien in diesem ZIP werden nicht benötigt.

2. QGIS-Projekt einrichten

  • Starten Sie QGIS. Falls bereits ein Projekt vorhanden ist erstellen Sie ein neues unter "Projekt" > "Neu".
  • Für das importieren von Interlis Daten in QGIS wird eine Erweiterung benötigt. Diese können Sie unter "Erweiterungen" > "Erweiterungen verwalten und installieren" > Suche nach "Interlis".
  • Fügen Sie einen WMS-Layer als Hintergrund ein unter "Layer" > "Layer Hinzufügen" > "WMS/WMTS-Layer hinzufügen..."
    • Klicken Sie in diesem Fenster auf "Neu" um eine WMS Verbindung herzustellen.
    • Nennen Sie die Verbindung "av_uster" und geben Sie folgende URL im Feld "URL" an: http://webgis.uster.ch/wms/av/grundplan_av
    • Drücken Sie auf "OK". Wählen Sie die soeben erstellte Verbindung oben im Aufklappmenü und drücken Sie auf "Verbinden".
    • Wählen Sie das Feld "Übersicht Vektor25" und klicken Sie auf "Hinzufügen".
  • Stellen Sie unter "Layer" > "Layer Hinzufügen" > "PostGIS-Layer hinzufügen" eine PostGIS Verbindung her.
    • Drücken Sie auf "Neu" um die Verbindung zu erzeugen. Fügen Sie folgende Daten in die Felder ein:
      • Name: zplnaenikon
      • Host: localhost
      • Datenbank: zplnaenikon
      • Benutzername und Passwort wie von ihnen eingestellt
      • Kreuzen Sie die Felder "Benutzernamen speichern" und "Passwort speichern" an. Sonst kann die Interlis Erweiterung die Verbindung nicht herstellen
    • Testen Sie die Verbindung mit "Verbindung Testen"
    • Ist die Verbindung erfolgreich können Sie den Vorgang mit "OK" beenden und das Fenster schliessen.
  • Speichern Sie das Projekt mit dem Namen "zonenplanung" unter "Projekt" > "Speichern" an einem beliebigen Ort.
  • Schliessen Sie QGIS und öffnen Sie das Projekt, indem Sie auf die soeben erstellte Projektdatei doppelklicken. Der neustart ist notwendig, da die Interlis Erweiterung sonst die neu erstellte Verbindung nicht erkennt.
  • Als nächstes soll das Interlis Datenmodell in die Datenbank importiert werden.
    • Starten Sie die Interlis Erweiterung indem Sie auf dieses Icon klicken: Interlis (Ist dieses Icon nicht im Menu Sichtbar, ist die Erweiterung nicht installiert oder aktiviert)
    • Geben Sie im Feld "IlisMeta Modell" den Pfad zur .imd Datei, die in den heruntergeladenen Untrelagen unter "Unterlagen/INTERLIS/NP_73_CH_de_ili2.imd" abgelegt ist
    • Wählen sie "zplnaenikon" als Speicherort.
    • Klicken Sie auf "DB-Tabellen anlegen" und danach auf "Enums importieren".
    • Die Tabellen sollten jetzt importiert sein. Sie können das Plugin schliessen.
  • Als nächstes müssen Sie die enumerationen zur Karte hinzufügen.
    • Erstellen Sie dafür eine Gruppe, indem Sie in der Layerübersicht in einer freien Fläche rechtsklicken und "Gruppe hinzufügen wählen". Nenne Sie diese "Enumerations".
    • Wählen sie die erstelle Gruppe an.
    • Verbinden Sie sich unter "Layer" < "PostGIS-Layer hinzufügen" mit der Datenbank.
    • Wählen Sie "Auch geometrielose Tabelle anzeigen" an.
    • Klappen Sie "Public" auf
    • Wählen Sie alle Tabellen, die mit "enum" beginnen an und fügen Sie diese mit "Hinzufügen" in der Karte hinzu.
    • Die Gruppen können zugeklappt werdem.
  • Fügen Sie nun auf die selbe Weise die Tabellen "n7_grundnutzung_zonenflaeche", "nutzungsplanung_nutzungsplanung_grundnutzung_zonentyp" und "nutzungsplanung_nutzungsplanung_grundnutzung_zonentyp_kt" ohne angewähle Gruppierung ein.
Ihre Layerübersicht sollte nun etwa so aussehen

3. Daten erfassen

  • PLATZHALTER FÜR DATENIMPORT
  • Bevor Sie anfangen können zu zeichnen müssen die Felder vom Layer, idem Sie zeichnen wollen, richtig konfiguriert werden.
    • Öffnen Sie die Einstellungen der Layerfelder: Rechtsklick auf "n7_grundnutzung_zonenflaeche" > "Eigenschaften" > "Felder".
    • Um folgende Einstellungen vorzunehmen muss jeweils die Einstellung für das Bearbeitungselement geöffnet werden, indem man auf das dazugehörige Feld klickt. (Sollten momentan alle auf "Texteditor" eingestellt sein)
      • Stellen Sie in der Zeile mit den Namen "ogc_fid" und "tid" das Bearbeitungselement auf "Versteckt".
      • Stellen Sie in der Zeile mit dem Namen "herkunft" das Bearbeitungselement auf "Wertbeziehung", dort "Layer" auf "enum22_herkunft", "Schlüsselspalte" auf "enum" und "Wertspalte" auf "enumtxt".
      • Dasselbe gilt für die Zeile mit dem Namen "qualitaet", nur sollte "Layer" auf "enum22_qualitaet" gestellt werden.
      • Bei "zonentyp_1" stellen Sie das Bearbeitungselement auf "Wertbeziehung", dort dort "Layer" auf "nutzungsplanung_nutzungsplanund_grundnutzung_zonentyp", "Schlüsselspalte" auf "identifikator" und "Wertspalte" auf "abkuerzung".
    • Sie können die Eintellungen jetzt mit "OK" verlassen.
  • Nun können Sie beginnen Zonen zu zeichnen:
    • Zoomen Sie ins Gebiet der Gemeinde "Nänikon". Ist die eingefügte WMS Karte nicht sichtbar zoomen Sie mit Rechtsklick auf "Übersicht Vektor25" > "Auf den Layer zoomen" auf den Layer.
    • Wählen Sie nun den Layer "n7_grundnutzung_zonenflaeche" an. Mit Rechtsklick auf diesen schalten Sie Bearbeitungsmodus an.
    • Klicken Sie auf folgendes Icon um das Zeichnen eines Objektes zu starten: Objekt Hinzufügen
    • Jetzt können Sie ein Polygon zeichnen. Mit klick auf die Karte markieren Sie Eckpunkte. Linksklick beendet den Vorgang (mindestens 3 Punkte müssen gesetzt werden).
    • Nach Beendung des Zeichnens öffnet sich ein Fenster für die Eingabe von Attributen. Hier können Sie beliebige werte wählen.
    • Das Aktivieren der Fangoption unter "Eintellungen" > "Fangoptionen" vereinfacht das editieren von angrenzenden Gebieten. Wählen Sie bei "Fang auf" "Zu Stützpunkt und Segment". Das ankreuzen von "Topologische Bearbeitung an" schaltet die automatische Anpassung von gemeinsamen Zonengrenzen beim verschieben eines Stützpunktes an.
    • Fügen Sie auf die selbe Weise noch ein Polygon ein, dass das andere Polygon überschneidet.
    • Wie Sie sehen wurde die Überlappung automatisch entfernt.
    • Mit Klick auf dieses Icon Objekt wählen aktivieren Sie den Auswahlmodus. In diesem können Sie die soeben erstellte Objekte anwählen.
  • Fügen Sie nun die in den Unterlagen beigelegte DXF Datei mit "Layer" > "Layer hinzufügen" > "Vektorlayer hinzufügen" zur Karte hinzu. (Unterlagen/DXF/naenikon.dxf)
  • Nennen Sie diesen Layer "naenikon" und ziehen Sie diesen in der Layerübersicht unter den Layer "n7_grundnutzung_zonenflaeche"
Die Attributtabelle nachdem Daten eingefügt wurden
  • Wählen Sie den soeben eingefügte Layer an und wählen Sie in diesem ein Objekt, dass an die erstellten Objekte angrenzt oder diese schneidet.
  • Kopieren Sie das angewählte Objekt mit "Bearbeiten" > "Objekt kopieren"
  • Wählen Sie den Layer "n7_grundnutzung_zonenflaeche" und fügen Sie das kopierte Objekt mit "Bearbeiten" > "Objekt einfügen" ein.
  • Unter "Layer" > "Attributtabelle öffnen" können Sie die fehlenden Daten der neu hinzugefügten Zone einfügen. (Vergessen Sie nicht den Fortschritt zu speichern)
  • Sie können jetzt den Layer "naenikon" ausblenden, indem Sie auf den Kasten Neben dem Namen in der Layerübersicht klicken.
  • Damit Sie Beschreibungen auf der Karte hinzufügen können müssen Sie den Layer mit der Tabelle verknüpfen, die Zonenbezeichnungen enthält.
    • Öffnen Sie dafür wieder die Eigenschaften von "n7_grundnutzung_zonenflaeche". Wählen Sie dort "Verknüpfungen".
    • Mit dem Plus Zeichen fügen Sie eine Verknüpfung hinzu.
    • Im geöffneten Fenster muss "Layer" auf "nutzungsplanung_nutzungsplanund_grundnutzung_zonentyp", "Verknüpfungsfeld" auf "ogc_fid" und "Zielfeld" auf "zonentyp_1" gestellt werden.
  • Wählen Sie in der Layerübersicht "n7_grundnutzung_zonenflaeche" an und klicken Sie auf folgendes Icon um die Layerbeschriftungseinstellungen zu starten: Objekt wählen
    • Stellen Sie sicher, dass der Kasten oben links angekreuzt ist und setzten Sie "Layer beschriften mit" auf "nutzungsplanung_nutzungsplanung_grundnutzung_zonentyp_abkuerzung".
    • Beenden Sie den Vorgang mit "OK"
  • Die erstellen Flächen sollten nun beschriftet sein.
  • In den Layereigenschaften desselben Layers, können Sie nun die Füllfarben der erstellten Flächen festlegen. Dafür benutzen wir hier die Farben laut Vorgabe im PDF "Unterlagen/legende_zonenplan.pdf".
Zonenplan Naenikon nach dem Einfügen und Färben einiger Flächen
    • Wählen Sie dafür "Stil" in den Layereigenschaften.
    • Oben links sollte das Aufklappmenu auf "Kategorisiert" gestellt werden.
    • Wählen Sie als Spalte "nutzungsplanung_nutzungsplanung_grundnutzung_zonentyp_abkuerzung"
    • Klicken Sie auf "Klasifizieren", damit Sie für die einzelnen Abkürzungen Farben wählen können.
    • Wählen Sie einen Wert, den Sie auch für eine Fläche auf Ihrer Karte gewählt haben.
    • Stellen Sie die Farbe ein mit Doppelklick auf den Farbkasten vor der Abkürzung.
    • Je nach Betriebssystem können Sie den eingebauten Farbwähler benutzen um die Farbe aus dem PDF zu "kopieren".
    • Weitere Informationen zu den Styleoptionen in QGIS finden Sie hier: http://docs.qgis.org/1.8/de/docs/user_manual/working_with_vector/vector_properties.html#style-tab
    • Wenn Sie alle Felder, die Sie benötigen, eingefärbt haben, können Sie mit dem Exportieren der Ergebnissen fortfahren.

4. Ergebnis exportieren

Kontakt

  • Stefan Keller: sfkeller(at)hsr.ch
  • Pirmin Kalberer: pka(at)sourcepole.ch