Wie erstelle ich eine OD Straßenentfernungsmatrix in QGIS?

16

Ich suche nach den Schritten, die erforderlich sind, um eine Ursprungs-Ziel-Kostenmatrix (OD) zu erstellen.

Was ich suche, ist eine Matrix von Straßenentfernungen . Das Entfernungsmatrix-Werkzeug erzeugt nur euklidische Entfernungen. Das QGIS Roadgraph-Plugin erzeugt die kürzeste Straßenentfernung von einem Ursprung zu N Zielen. Was ich brauche, ist eine Datei, die Entfernungen von allen Ursprüngen zu den N nächstgelegenen Zielen enthält. Ich habe viele Ursprünge, daher ist es keine Option, die Analysen mit Roadgraph zu wiederholen. Danke noch einmal.

Ich suche nach einer schrittweisen Beschreibung, beginnend bei Null (dh mit meinen 3 Shapefiles: Herkunft, Ziele, Straßennetz).

Mathieu Philibert
quelle

Antworten:

4

QGIS verfügt über alle erforderlichen Algorithmen, es gibt jedoch noch keine GUI zum Erstellen von Matrizen. Mit etwas Python-Wissen sollte die Dokumentation der Network Analysis-Bibliothek Ihnen den Einstieg erleichtern.

Underdunkel
quelle
4

UPDATE - QGIS3:

Da dies ein wichtiges Thema zu sein scheint, möchte ich meine Antwort auf eine ähnliche Frage mitteilen .

Wenn Sie die aktuelle Version von QGIS (3) verwenden, können Sie das Plugin QNEAT3 verwenden . Es bietet mehrere Verarbeitungsalgorithmen , mit denen Ursprungs-Ziel-Matrizen (OD-Matrix) sofort als Linienebene, Tabelle oder CSV-Datei erstellt werden können. Alle Algorithmen stützen sich auf die dijkstra()Methode im qgis.analysisModul, daher werden alle Kosten auf der Grundlage kürzester Pfade berechnet und verwenden C ++ - Code für eine schnellere Ausführung.

Weitere Informationen zum Plugin finden Sie im qgis-Plugin-Repository und in der Plugin- Dokumentation .

root676
quelle
3

Ich denke, pgRouting wäre die beste Option für Sie. Könnten Sie sich bitte diesen Beitrag ansehen und sagen, ob dies im Allgemeinen das ist, wonach Sie suchen?

Mit pgRouting viele Start-Ziel-Routen erstellen (Antwort von Otto Coster) Wenn ja, dann wäre eine zusätzliche Schleife erforderlich, die die Berechnungen für alle Ziele durchführt

Thomas B
quelle
Das ist ein nützlicher Anfang und scheint mir sehr ähnlich zu sein. Das einzige Problem ist, dass ich keinen Zugriff auf PostGIS habe und mich gefragt habe, ob es QGIS-Plugins gibt, die die gleiche Analyse durchführen würden
MyFamily
QGIS selbst generiert keine Netzwerktopologie für die Berechnung der Straßenentfernungen. deshalb brauchst du alternativ so etwas wie pgRouting oder vielleicht GRASS-Module. Sie könnten einen Blick auf jcastellssala.wordpress.com/2012/05/07/… grass.osgeo.org/grass70/manuals/v.net.allpairs.html werfen
Thomas B
1

In QGIS gibt es das Entfernungsmatrix-Werkzeug aus der oberen Leiste: Vektor / Analysewerkzeuge / Entfernungsmatrix-Werkzeug (ich hoffe, die Übersetzung ist aufgrund meiner territorialen Version richtig).

Ich hoffe, es hilft

Ale
quelle
1
Danke Ale für deine Hilfe. @ BradHards ist richtig: Meine Frage ist nicht präzise genug. Was ich suche, ist eine Matrix von Straßenentfernungen . Das von Ihnen vorgeschlagene Entfernungsmatrix-Werkzeug erzeugt nur euklidische Entfernungen. Das QGIS Roadgraph-Plugin erzeugt die kürzeste Straßenentfernung von einem Ursprung zu N Zielen. Was ich brauche, ist eine Datei, die Entfernungen von allen Ursprüngen zu den N nächstgelegenen Zielen enthält. Ich habe viele Ursprünge, daher ist es keine Option, die Analysen mit Roadgraph zu wiederholen. Danke noch einmal.
Mathieu Philibert
1
@MathieuPhilibert Ich bin nach genau der gleichen Sache. Haben Sie jemals eine Lösung gefunden?
MyFamily