[Cartoweb-users] pgdijkstra : trap "no path found" ?
Sylvain Pasche
sylvain.pasche at camptocamp.com
Tue Jan 31 09:08:17 EST 2006
Hi Arnaud,
Have a look at the "Trapping Errors" section in the postgresql manual:
http://www.postgresql.org/docs/8.0/interactive/plpgsql-control-structures.html
Regards,
Sylvain
Le mardi 31 janvier 2006 à 13:49 +0100, Arnaud Lesauvage a écrit :
> Hi all !
>
> I hope this is the right place to post this. Excuse me if it is not !
> I just successfully installed pgdijkstra on my PostGIS server, abd
> it works great !
> I have just a little problem though.
> I would like to calculate all travel times from one given point to
> a set of points.
> I created a simple function that returns the shortest time to
> travel from one point to another (my costs are minutes actually) :
>
> CREATE FUNCTION shortest_path_total_cost(int8, int8) RETURNS
> float8 AS $$
> SELECT sum(cost)
> FROM shortest_path('SELECT id, source, target, cost, reverse_cost
> FROM graph_edges',
> (SELECT id FROM graph_vertices WHERE geom_id=$1),
> (SELECT id FROM graph_vertices WHERE geom_id=$2),
> true,
> true);
> $$ LANGUAGE SQL;
>
> It works also very fine, but I can't use it on a whole table
> because it breaks whenever no path is found.
> I would like to be able to write a simle query like :
> UPDATE sometable
> SET time_to_reach_point1 = shortest_path_total_cost(point1,
> thispoint);
>
> But this query never runs because there are always points that
> cannot be reached. (ERROR: Error computing path: No path found)
>
> Does someone have a simple solution to this problem ?
> I am not very familiar with plpgsql or even with function
> creation, so maybe there a simple way to handle this ?
>
>
> Thanks a lot !
> --
> Arnaud
>
>
> _______________________________________________
> Cartoweb-users mailing list
> Cartoweb-users at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/cartoweb-users
More information about the Cartoweb-users
mailing list