[pgrouting-users] Problem with shortest_path_shooting_star and reverse_cost

Hi,

I have a problem with shortest_path_shooting_star and shootingstar_sp

I use pgRouting-1.03_pg-8.3.7 with postgresql-8.3.10-1-windows and postgis-pg83-setup-1.3.3-1

For Data, i use a personal data.

I create my graph and I add “temps” as “cost” and “reverse_temps” as “reverse_cost” and I set reverse_temps=1000000 when direction=1.

When I run shortest_path_shooting_star :

$sql = "SELECT roads.edge_id0, AsText(roads.the_geom) AS wkt, roads.length, roads.gid

FROM roads, (SELECT edge_id FROM shortest_path_shooting_star(‘SELECT gid as id, source, target,temps as cost,reverse_temps as reverse_cost, x1, y1, x2, y2, rule, to_cost FROM roads order by id’,

“.$startEdge[‘gid’].”,

“.$endEdge[‘gid’].”,

true, true)) as rt

WHERE “.TABLE.”.gid=rt.edge_id;";

Pgrouting return a bad calcul (it not considerate reverse_cost : figure 1)

Value 0 : both trajet

Value 1 : one direction (drawing direction)

When I use shootingstar_sp :

$sql = "SELECT rt.gid, AsText(rt.the_geom) AS wkt,

length(rt.the_geom) AS length, “.TABLE.”.id

FROM “.TABLE.”,

(SELECT gid, the_geom

FROM shootingstar_sp(

‘“.TABLE.”’,

“.$startEdge[‘gid’].”,

“.$endEdge[‘gid’].”,

1, ‘temps’,true,true)

) as rt

WHERE “.TABLE.”.gid=rt.gid;";

I have a similar result (figure 1).

But when I use :

$sql = "SELECT rt.gid, AsText(rt.the_geom) AS wkt,

length(rt.the_geom) AS length, “.TABLE.”.id

FROM “.TABLE.”,

(SELECT gid, the_geom

FROM shootingstar_sp(

‘“.TABLE.”’,

“.$startEdge[‘gid’].”,

“.$endEdge[‘gid’].”,

1, ‘temps’,true,false)

) as rt

WHERE “.TABLE.”.gid=rt.gid;";

I have a correct result (figure 2), but my graph will not be oriented and I whill have bad calcul when I navigate between roads who have both direction (figure 3 is correct but figure4 is not correct).

Thanks

figure1.jpg

figure2.jpg

figure3.jpg

figure4.jpg