Suite

Pgrouting pgr_ksp avec un grand ensemble de données


J'ai un grand ensemble de données osm. Lorsque j'exécute une requête pgr_ksp, cela prend +30 minutes

Exemple:

SELECT seq , id1 , id2 , cost FROM pgr_ksp( 'SELECT id, source, target, cost FROM myways', 524356, 1210854, 2, false);

Mon serveur virtuel a 4 processeurs et 3 Go de RAM. Ma table de chemins a 2290470 lignes.

Les autres fonctions fonctionnent normalement mais pas pgr_ksp.

Est-ce que quelqu'un sait quel est le problème ?


Si vous avez un grand réseau, la sélection de l'ensemble du réseau dans votre requête deviendra toujours lente, quel que soit l'algorithme de routage que vous utilisez.

Avez-vous essayé de sélectionner uniquement le réseau dont vous avez réellement besoin et non l'ensemble des 2 Mio. Lignes? Le moyen le plus simple est de limiter la zone sélectionnée à l'aide d'une BBOX, voir par exemple Pourquoi une fonction de routage pgr_* prend-elle une éternité basée sur les données OSM dans une base de données activée pour le pgroutage

Parce que KSP est plus complexe que Dijstra, par exemple, il est susceptible d'être plus lent, et si vous l'essayez avec un grand réseau comme le vôtre, la différence peut devenir plus évidente.


Voir la vidéo: pgRouting + Geoserver + Leaflet JS #1 - Introduction (Octobre 2021).