IT-MÜCKE

Mit QGIS eigene Karten erstellen

Beitragsdatum 29.10.2021
Letzte Aktualisierung -
Betrifft qgis 3.x

Grundlagen

QGIS ist eine GIS-Software (Geoinformationssystem). Damit können Karten erstellt und analysiert werden. Und noch einiges mehr :)

Ein ausführliches Tutorial findet sich auf den Seiten von QGIS: Training-Manual für 3.16 bzw. Dokumentation zu QGIS. Dieses sehr ausführliche Tutorial ist absolut empfehlenswert.

Hier folgt nun eine kurze Beschreibung, wie mit Daten aus OpenStreetMap (OSM) (siehe wikimedia.org) und QGIS individuelle Karten erstellt werden können.

Ziel

Ich möchte am Ende dieses Artikels eine Karte haben, auf der bestimmte Dinge eingezeichnet sind. Basis dazu soll OpenStreetMap sein.

QGIS initial vorbereiten

Plugins

  • QGIS muss installiert werden.
  • Zusätzlich ist ein Plugin notwendig: QuickOSM
    • In QGIS auf PluginsManage and Install Plugins klicken
    • Im Suchfeld nach quickosm suchen
    • QuickOSM anklicken und Install Plugin anklicken
      QGIS: QuickOSM-Plugin installieren
  • Nun wird ein neues, leere Projekt angelegt (z.B. mit Strg + n)
  • Die OSM-Basiskarte kann nun importiert werden :!:
  • Ferner können nun OSM-Daten anhand von Keys und Values abgefragt werden.

Einstellungen

  • CRS einstellen
    • Unter SettingsOptions muss unter CRS jeweils ein Default CRS eingestellt werden (CRS for Projects und CRS for Layers)
      QGIS: Default CRS einstellen

Wichtige Hinweise

  • Layer müssen immer(!) mit Speicherort angelegt werden
    • Dies kann beim Anlegen geschehen (Filename setzen)
    • Oder nachträglich: dann wird ein Chip von oben rechts neben dem Layer angezeigt (das bedeutet, dass der Layer nur im RAM-Speicher liegt und somit gelöscht wird). Darauf klicken. Das Format wird idR vorgeschlagen, sonst nehmen Sie gleich ESRI Shapefile.
    • Das Hinweissymbol auf das fehlende Speichern im Bild:
      QGIS: Layer noch nicht gespeichert

Tipp: nach dem Anlegen und Einrichten eines neuen Layer sollten Sie das Projekt speichern, QGIS beenden, QGIS neu starten und das Projekt laden. Es muss dann so aussehen, wie kurz vorm Schließen. Ist dies nicht der Fall, verlieren Sie nur die letzten Änderungen…

Wichtig: Das Cooridnate Reference Sytem (CRS) muss für das gesamte Projekt einheitlich gewählt werden und Layer müssen immer gespeichert werden. Das Projekt alleine speichern reicht nicht aus!

Beide Punkte wurden in diesem Abschnitt beschrieben.

OSM-Daten abrufen

Elemente in OpenStreetMap

Die Elemente in OpenStreetMap werden im Wiki erklärt.
Unterschieden wird zwischen

  • Nodes (Punkte)
  • Ways (Wege)
  • Relations (kann alle Elemente beinhalten, typischerweise z.B. eine Route, die mehrere Wege beinhaltet, also ein ausgeschilderter Wanderweg, der über fest definierte Wege führt und eine Art Meta-Weg bildet)

Punkte abrufen

Punkte können beispielsweise Bäckereien, Supermärkte oder Bushaltestellen sein.

  • In der OSM-Basiskarte, die über MapQuickMapServiceOSMOSM Standard als Layer hinzugefügt werden kann, den Bereich heranzoomen, der als Karte dargestellt werden soll.
  • VectorQuickOSMQuickOSM aufrufen
  • Im Reiter Quick Query folgendes auswählen:
    • Key: shop
    • Value: bakery
    • In auf Canvas Extend stellen
    • Unten auf Run Query klicken und nach dem Lauf das Fenster schließen
  • So können weitere Kartenobjekte ausgewählt werden

Relationen abrufen

Sogenannte Relations sind Verknüpfung von verschiedensten Daten in OpenStreetMap (siehe dazu qgis.org). Wanderwege sind Relations und können gesondert betrachtet werden.

  • Key: route
  • Value: hiking
  • Hier bei Advanced nur folgende Optionen aktivieren:
    • Relation
    • Multilinestrings
  • Dies fügt Wanderwege hinzu
  • Der korrekte Import kann über die Atribute Table überprüft werden (F6):
    QGIS: Attribute Tabelle
  • Nun soll nur einer der Wanderwege angezeigt werden - in diesem Beispiel der Riedweg
  • Doppelklick auf den Layer route_hikingSymbology
    • Typ Categorized auswählen
    • Value: name
    • Classify unten links anklicken
    • Alle Wege, bis auf den gewünschten entfernen (markieren und das Minus anklicken)
    • OK und der Weg wird angezeigt
      QGIS: Wanderweg hervorheben

Umkreis-Suche

Ich möchte im Umkreis von 100m um jede Bushaltestelle Bäckereien anzeigen lassen.

Vorgehensweise abstrakt

  1. Alle Layer, die bei der Umkreis-Suche beteiligt sind, müssen auf ein einheitliches CRS (Coordinate Reference System) projiziert werden. Ich nutze hierbei das CRS ETRS_1989_UTM_Zone_N32 (West-Deutschland). Dazu wird das Werkzeug Reproject layer benutzt.
    Die beteiligten Layer sind in diesem Beispiel der Layer mit den Bushaltestellen und der Layer mit den Bäckereien.
  2. Nun muss um den Layer, der den Umkreis definieren soll, ein sogenannter Buffer angelegt werden. Dazu dient das Werkzeug Buffer.
    In diesem Beispiel wird ein Buffer um die Bushaltestellen angelegt.
  3. Abschließend werden in einem neuen Layer die Punkte des Ziellayers (Bäckereien), die innerhalb des Umkreises liegen, dargestellt. Dazu dient das Werkzeug Extract by location mit dem die Bäckereien über intersect mit den Daten aus dem Umkreis-Layer kombiniert werden.

Im Detail

  • In der Toolbox (Strg + Alt + t) öffne ich das Werkzeug Reproject layer unterhalb von Vector general
    • Als Input Layer wähle ich public_transport_platform
    • Als Target CRS wähle ich ETRS_1989_UTM_Zone_N32 (die einen großen Teil Deutschlands (den Westen) abdeckt)
    • Im Feld [Create temporary layer] gebe ich einen passenden Namen für den neuen Layer an: reproj_platforms
    • Run und es entsteht ein neuer Layer reproj_platforms
    • Die selbe Vorgehensweise wende ich auf den Layer shop_bakery an, hier heißt der neue Layer reproj_bakeries
  • In der Toolbox (Strg + Alt + t) öffne ich nun das Werkzeug Buffer unterhalb von Vector geometry
    • Ich wähle als Input Layer den eben erzeugten reproj_platforms aus
    • Als Distanz Distance gebe ich 100m ein
    • Im Feld [Create temporary layer] gebe ich einen passenden Namen für den neuen Layer an: buffer_platforms
    • Nach einem Klick auf Run wird ein neuer Layer buffer_platforms angelegt, der nun einen Puffer von 100m um die Bushaltestellen enthält
      QGIS: 100m-Puffer um jede Bushaltestelle
  • In der Toolbox (Strg + Alt + t) öffne ich nun das Werkzeug Extract by location unterhalb von Vector selection
    • Unter Extract features from wird der Layer reproj_bakeries ausgewählt
    • Bei By comparing to the features from wähle ich buffer_platforms aus
    • Bei Where the features wähle ich intersect aus
    • m Feld [Create temporary layer] gebe ich einen passenden Namen für den neuen Layer an: extract_bakeries
  • Dieser Layer enthält anschließend alle Bäckereien, die im Umkreis von 100m um eine Bushaltestelle liegen
  • Das geht auch mit Wanderwegen, also alle Bäckereien im Umkreis von 1.000m um einen Wanderweg herum…
    QGIS: Bäckereien im Umkreis von 1.000m um den Riedweg herum
  • Noch ein bisschen Aufhübschen und die Umkreis-Darstellung ausschalten:
    Bäckereien um den Riedweg herum

Karte speichern

Für die Nutzung unterwegs kann das Ergebnis als GeoPDF exportiert werden:

  • ProjektImport/ExportExport Map to PDF
  • Dort die Resolution anpassen (je höher, desto größer die Datei und desto mehr Details sind sichtbar beim Hineinzoomen)
  • Den Haken bei Create Geospatial PDF (GeoPDF) setzen
  • Im Bild:
    QGIS: Export als GeoPDF

Karte unterwegs nutzen

Über eine geeignete App kann die GeoPDF auf dem Smartphone genutzt werden. Ich setze bislang die App Avenza Maps ein. Diese zeigt an, wo sich das Smartphone auf der Karte befindet.


Quellen:


Ähnliche Themen im blog:
qgis


zurück