[pgrouting-users] Multimodal routing state

Stephen Woodbridge woodbri at swoodbridge.com
Wed Feb 8 13:00:39 EST 2012


On 2/8/2012 11:49 AM, Javier Mr wrote:
> Hi,
>
> i'm currently involve in the development of a routing aplication. We
> have seen several libraries wich migth e very usefull to use, and one of
> them is pgRouting.
> What i wan't to know is some of the capabilities of pgRouting.
>
> 1. As i have read pgRouting can compute the cost from several tables and
> columns, rigth?, so it's posible to take into account the traffic state
> or the public transport availability dinamically?, how easy is to
> achieve this with pgRouting?. Any manuals?

Hi Javier,

In general the way pgRouting works is that you have a table of edges and 
a column for cost and reverse_cost and other attributes that are needed 
to model your problem.

When you process a request, you pass the solver a SQL statement that is 
processed to collect the edges and costs that you need for this request. 
(more on this in a minute).

The edges are read into a graph and the graph is solved for this request 
and the resulting edges are returned.

One of the reasons that we pass a SQL statement to the solver is that we 
can dynamically write the SQL to handle whatever cases we want. So for 
example, one common thing we do is to add a where clause to only select 
edges in a slightly expanded BBOX for the start and end points. This 
means that we minimize the number of segments in the graph we build. You 
can likewise construct a query that includes a join where you use the 
default costs in the edge table unless there are entries in a traffic 
feed. You can also select class of vehicle when you select the edges so 
you can change from normal auto class, to say a truck class, or 
emergency vehicle, or pedestrian. This is the general flexibility of 
storing the data in a database and pgRouting is designed to take 
advantage of that.


pgRouting has tools for:

In general we can solve shortest path or fastest time depending on your 
cost attribute.

Dijkstra shortest path/time
AStar Search shortest path/time
ShootingStar shortest path/time with turn restrictions (but it is 
current broken)
Turn Restricted Shortest Path (TRSP) is a Dijkstra based solver that 
also supports Turn restrictions. This is new, undocumented at the 
moment, and in git branch. But we do have some people using it successfully.
Time dependent shortest path (TDSP) is a GSoC project in a git branch.
Multimodal shortest path is a GSoC project in a git branch.
All Pairs Shortest Path (APSP) project which should be in git.

We also have Traveling Salesman Problem (TSP) solver.
Driving distance solver that generate isochrone polygons.

There are various tutorials and documentation and a wiki:

http://www.pgrouting.org/
http://www.pgrouting.org/documentation.html
http://www.pgrouting.org/download.html
https://github.com/pgRouting/pgrouting
https://github.com/pgRouting/pgrouting/wiki

Probably best to jump into one of the tutorials to find out how things 
work and to ask questions on the list if you get stuck.


> 2. What is the state of multimodal routing?. I have seen that was a 2011
> GSoC, but how stable is it?. Is there a manual, tutorial or similar for
> this? (i have only see 1 wiki page).

Don't know if this helps:
https://github.com/pgRouting/pgrouting/wiki/Multi-modal-Public-Transit-Routing

I think Kishore might still be monitoring the list. If not try a direct 
email to him.

Best regards,
   -Steve

> Best regards.
> Javier.
>
>
> _______________________________________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-users



More information about the Pgrouting-users mailing list