Guide de démarrage rapide de pgRouting¶
pgRouting est une extension et ajoute des fonctionnalités de routage et autres analyses de réseaux aux bases de données PostGIS/PostgreSQL .
Le guide de démarrage rapide décrit comment ouvrir une base de données en ligne de commande et comment lancer une requête de plus court chemin avec les données du jeu de test.
Lancer pgRouting¶
- Ouvrir une fenêtre
pgrouting
:
et se connecter à la base de données
psql -U user pgrouting
- La commande \d permet de lister toutes les tables disponibles :
List of relations
Schema | Name | Type | Owner
--------+---------------------+----------+-------
public | classes | table | user
public | geography_columns | view | user
public | geometry_columns | view | user
public | nodes | table | user
public | raster_columns | view | user
public | raster_overviews | view | user
public | relation_ways | table | user
public | relations | table | user
public | spatial_ref_sys | table | user
public | types | table | user
public | vertices_tmp | table | user
public | vertices_tmp_id_seq | sequence | user
public | way_tag | table | user
public | ways | table | user
(14 rows)
- Lancer la fonction de plus court chemin Dijkstra :
SELECT seq, id1 AS node, id2 AS edge, cost
FROM pgr_dijkstra('
SELECT gid::int as id, source::int, target::int,
length::float8 as cost FROM ways',
100, 600, false, false
);
seq | node | edge | cost
-----+------+-------+---------------------
0 | 100 | 115 | 0.0605959823538948
1 | 99 | 2972 | 0.197600739218643
2 | 2151 | 3783 | 0.0139212050887606
... | ... | ... | ...
52 | 599 | 732 | 0.0390125147117973
53 | 600 | -1 | 0
(54 rows)
- Pour produire la géométrie de la route, relier le résultat avec les géométries routières :
SELECT seq, id2 AS edge, rpad(b.the_geom,60,' ') AS "the_geom (truncated)"
FROM pgr_dijkstra('
SELECT gid::int as id, source::int, target::int,
length::float8 as cost FROM ways',
100, 600, false, false
) a INNER JOIN ways b ON (a.id2 = b.gid) ORDER BY seq;
seq | edge | the_geom (truncated)
-----+-------+--------------------------------------------------------------
0 | 115 | 0102000020E610000002000000012D0208C4B0F2BFBD2DA237267A4A40E5
1 | 2972 | 0102000020E610000002000000622B0DA1EFB3F2BF65236B685E7A4A4001
2 | 3783 | 0102000020E610000002000000BD4571D8C7B4F2BFB2648EE55D7A4A4062
... | ... | ...
52 | 732 | 0102000020E6100000020000006B48DC63E903F3BF84CCDFCECF7B4A40E9
(53 rows)
- La commande \q permet de quitter le shell PostgreSQL.
Et ensuite ?¶
- pgRouting Website - Visitez le site web du projet http://www.pgrouting.org pour en apprendre plus sur pgRouting.
- pgRouting Documentation - Vous trouverez toute la documentation mise à jour ici : http://docs.pgrouting.org
- pgRouting Workshop - L’atelier “Routage FOSS4G avec les outils pgRouting, le réseau routier d’OpenStreetMap” est disponible ici : http://workshop.pgrouting.org