Einfache Netzwerkvisualisierung und Routing (QGIS3)

Die Erstellung, Visualisierung und das Managen von Netzwerken sind wichtige Bestandteile eines GIS. Viele Typen der real vorhandenen Infrastruktur wie z. B. Straßen, Eisenbahnlinien und Versorgungsleitungen können als Netzwerk aus Linien und Knoten mit jeweils zugewiesenen Eigenschaften modelliert werden. In diesem Tutorial lernen wir, wie Straßennetzwerke normalerweise modelliert werden. Wir werden einige Gestaltungstechniken anwenden, um die Eigenschaften des Routings zu visualisieren. Wir werden außerdem die in QGIS 3 enthaltenen Hilfsmittel zur Netzwerkanalyse nutzen, um die kürzeste Verbindung zwischen 2 Punkten im Netzwerk zu finden.

Überblick über die Aufgabe

Wie werden einen Layer mit den Mittellinien der Straßen von Washington D.C. verwenden, die Verbindungen visualisieren und ein Netzwerk erstellen. Mit Hilfe des Netzwerkes können wir den kürzesten Weg zwischen 2 beliebigen Punkten in der Stadt ermitteln.

Weitere Fähigkeiten, die wir erlernen

  • Wie man vom Dateninhalt abhängige Vorgaben für die Symbolisierung der Linienrichtung mit einem Pfeil vorgibt.

Beschaffung der Daten

Die Regierung des Distrikts Columbia stellt hunderte Datensätze frei zur Verfügung: Open Data Catalog.

Wir laden folgende Daten der DCGISopendata als shape-Datei herunter: Straßen-Mittellinien.

../../_images/data11.png

Der Einfachheit halber können wir eine Kopie der Datensätze unter folgendem Link herunterladen:

county10.shp.zip

Datenquelle: [DCOPENDATA]

Arbeitsablauf

  1. Suche die heruntergeladene Datei Roadway_Block-shp.zip` im Download-Bereich. Erweitere die Datei und zieh die Datei Roadway_Block.shp in den Arbeitsbereich.

../../_images/115.png
  1. Wir sehen einen neuen Layer Roadway_Block im Layer-Bereich. Dieser Layer stellt alle Straßen in Washington DC dar. Wähle das Tool Objekte abfragen in der Attributwerkzeugleiste. Klicke auf einen beliebigen Straßenabschnitt, um die enthaltenen Attribute zu ermitteln. Man sieht Standardattribute wie den Straßennamen oder Straßentyp, aber es gibt auch ein Attribut SUMMARYDIR. Dieses Attribut ist für das Routing wichtig, weil es Einbahnstraßen von Straßen mit Gegenverkehr unterscheidbar macht. Das Attribut enthält 4 verschiedene Werte. BD (Both directions) steht für Straßenabschnitte mit Gegenverkehr. OB (Out Bound) steht für Einbahnstraßen, auf denen der Verkehr nur in der Richtung der Linie erlaubt ist (vom Startpunkt zum Endpunkt) und IB (In Bound) für Einbahnstraßen, auf denen der Verkehr nur entgegengesetzt der Linienrichtung erlaubt ist. Für den Wert ?? nehmen wir eine Straße mit Gegenverkehr an. Wir verwenden die hinterlegten Informationen jetzt, um einen Pfeil für Einbahnstraßen anzuzeigen.

../../_images/213.png
  1. Klicke auf den Knopf Layergestaltungsfenster öffnen im Bereich Layer. Wähle Regelbasierend als Darstellung aus dem drop-down Menü aus.

../../_images/310.png
  1. Wir werden einen neuen Layerstil mit Hilfe eines Filters für Einbahnstraßen erstellen. Klicke auf den Knopf Regel hinzufügen.

../../_images/42.png
  1. Im Dialog Regel bearbeiten klicken wir auf den Knopf Ausdruck.

../../_images/52.png
  1. Im Ausdruckseditor erweitern wir Felder und Werte in der mittleren Spalte. Wir wählen das Attribut SUMMARYDIR und klicken in der rechten Spalte auf Alle eindeutigen. Es werden die 4 oben beschriebenen Werte angezeigt. Mithilfe dieser Referenzwerte wird die Bearbeitung des Ausdrucks unterstützt. Wir können später auf jeden der Werte doppelt klicken, um ihn dem Ausdruck hinzuzufügen.

../../_images/62.png
  1. Unser Ziel ist es, einen Ausdruck zu erzeugen, der alle Einbahnstraßen selektiert. Wir geben den folgenden Ausdruck ein und klicken auf OK.

"SUMMARYDIR" in ('IB', 'OB')
../../_images/72.png
  1. Als nächstes ändern wir den Symbollayertyp zu Markierungslinie.

../../_images/82.png
  1. Wir wählen auf Mittelpunkt für die Markierungsplatzierung.

../../_images/92.png
  1. Klicke auf das Symbol Einfache Markierung, scrolle nach unten und wähle den Marker gefülltes Dreieck. Wir sehen das das einem Pfeil ähnelnde Symbol nun für die Einbahnstraßen angezeigt wird. Allerdings ziegen alle Pfeile in dieselbe Richtung, obwohl für die Einbahnstraßen mehrere Richtungen hinterlegt sind. Wir können die Symbolik weiter verfeinern indem wir eine vom Datensatz abhängige Richtung des Symbols unter Drehung vorgeben.

../../_images/105.png
  1. Klicke auf den Knopf Datendefinierte Übersteuerung neben Drehung.

../../_images/116.png
  1. Wir können einen Ausdruck für eine Bedingung formulieren, der abhängig von der Richtung der Einbahnstraßen unterschiedliche Rotationswerte liefert. Ein Rotationswert von 180° für eine Straße mit entgegengesetzter Richtung würde die Richtungen vereinheitlichen, wenn wir sie auf Straßen mit dem Attributwert IB anwenden. Gib den folgenden Ausdruck ein und klicke OK.

if( "SUMMARYDIR" = 'IB', 180, 0)
../../_images/125.png
  1. Wir sehen jetzt, dass die Pfeilspitzen entsprechend der Richtung und des Winkels der Einbahnstraßen ausgerichtet sind. Zur besseren Übersichtlichkeit verwenden wir die Richtungspfeile nur bei Einbahnstraßen. Für Straßen ohne Richtungsangabe nehmen wir an, dass sie in beiden Richtungen befahrbar sind. Wir können nun, da das Netzwerk korrekt modelliert wurde, einige Analysen vornehmen. Gehe zu Verarbeitung ‣ Werkzeugkiste.

../../_images/134.png
  1. Wir suchen den Algorithmus Netzwerkanalyse ‣ Kürzester Weg (Punkt zu Punkt). Starte ihn mit einem Doppelklick.

../../_images/144.png
  1. Im Dialogfenster Kürzester Weg (Punkt zu Punkt) wählen wir Roadway_Block als Netzwerk-Vektorlayer. Den Eintrag bei Zu berechnender Wegtyp belassen wir bei Kürzester. Als nächstes müssen wir einen Start- und Endpunkt vorgeben. Wir klicken dazu auf den -Button und klicken dann auf einen beliebigen Punkt des Straßennetzes im Arbeitsbereich. Wenn man die Ergebnisse des Tutorials nachvollziehen möchte, verwendet man -76.99730092166396,38.887624846748984 als Startpunkt und -76.99154831062152,38.89151000569929 als Endpunkt. Wir erweitern den Bereich Fortgeschrittene Parameter und wählen SUMMARYDIR als Richtungsfeld. Wir sollten mit den Attributwerten für die Richtung der Einbahnstraßen vertraut sein und verwenden OB als Wert für Vorwärts und IB als Wert für Rückrichtung. Die anderen Werte belassen wir bei den Voreinstellungen und klicken auf Starten.

../../_images/154.png
  1. Der Algorithmus nutzt die Geometrie des Layers und die zur Verfügung stehenden Parameter, um einen Graph des Netzwerks zu erstellen. Dieser Graph wird dann verwendet, um den kürzesten Weg zwischen Start- und Endpunkt zu ermitteln. Nach Abschluss der Berechnung wird im Layer-Bereich ein neuer Layer Kürzester Weg hinzugefügt. Er zeigt den kürzesten Weg zwischen Start- und Endpunkt. Über den Schließen-Button kann das Dialogfeld geschlossen werden.

../../_images/164.png
  1. Wir können sehen, dass es viele mögliche Wege zwischen Start- und Endpunkten gibt. Durch die Einschränkungen im Netzwerk wie z. B. Einbahnstraßen, stellt das Ergebnis den unter diesen Bedingungen kürzesten Weg dar. Es bietet sich immer an, die Analyse und die getroffenen Annahmen zu überprüfen. Eine einfache Möglichkeit der Überprüfung ist die Verwendung eines anderen Kartendienstes, um dessen Ergebnisse mit unseren zu vergleichen. Man kann z. B. den kürzesten Weg zwischen denselben Start- und Endpunkten nach Google Maps zum Vergleich heranziehen. wenn wir exakt dasselbe Ergebnis erhalten, wird unsere Analyse bestätigt.

../../_images/174.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)