Je veux exécuter l'algorithme du chemin le plus court sur plusieurs paires source et cible à la fois et obtenir un résultat sous forme de tableau et le traiter ensuite.
Comment puis-je faire cela? Cette requête ne fonctionne pas:
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
(btw, all_to_all ne signifie pas littéralement tout pour tous, :) c'est juste un certain nombre de paires aléatoires)
Cela ne fonctionne pas non plus:
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
la source
la source
Réponses:
Quelque chose comme
la source
Voici une requête qui renvoie tous les segments pour toutes les combinaisons source-cible:
Incroyable, incohérent avec la syntaxe SQL, mais fonctionne!
la source