Ich möchte den Algorithmus für den kürzesten Pfad für mehrere Quell- und Zielpaare gleichzeitig ausführen und ein Ergebnis als Tabelle erhalten und dann verarbeiten.
Wie mache ich das? Diese Abfrage funktioniert nicht:
SELECT a.source, a.target, paths.*
FROM all_to_all a, shortest_path_astar('...', a.source, a.target, false, false) paths;
ERROR: function expression in FROM cannot refer to other relations of same query level
(Übrigens bedeutet all_to_all nicht wörtlich alles für alles, :) es ist nur eine Anzahl von zufälligen Paaren)
Dies funktioniert auch nicht:
SELECT *
FROM all_to_all a, (
SELECT * FROM shortest_path_astar('...', a.source, a.target, false, false) yyy
) AS t2;
postgis
postgresql
routing
pgrouting
culebrón
quelle
quelle
Antworten:
Etwas wie
quelle
Hier ist eine Abfrage, die alle Segmente für alle Quell-Ziel-Kombinationen zurückgibt:
Unglaublich, widerspricht der SQL-Syntax, funktioniert aber!
quelle