[pgrouting-users] directions problem
Stephen Woodbridge
woodbri at swoodbridge.com
Thu Feb 12 13:09:01 EST 2009
So set reverse_cost when oneway=1 and cost when oneway=-1
Since you have already messed with the values I would do this now:
-- make sure everything is re-initiallized
UPDATE calle SET to_cost=length(the_geom), reverse_cost=length(the_geom);
-- update the oneway costs
update calle set reverse_cost=reverse_cost + 1000000 WHERE oneway=1;
update calle set cost=cost + 1000000 WHERE oneway=-1;
vacuum analyze calle;
Now see how your test route looks.
-Steve
Valeria Muñoz wrote:
> hi Stephen
>
> i got
>
> "oneway";"count"
> -1;1451
> 0;21403
> 1;2640
>
>
> 0=both ways
> -1=B->A
> 1= A->B
>
> RG.
>
> 2009/2/12 Stephen Woodbridge <woodbri at swoodbridge.com
> <mailto:woodbri at swoodbridge.com>>
>
> Valeria,
>
> What do you get for this query:
>
> select distinct oneway, count(*) as count from calle group by
> oneway, order by oneway;
>
> If you have a street A------->B then the oneway flag probable needs
> 3 values. 0 for both ways, 1? for A to B, and maybe 2? for B to A.
> You need to figure out which values are which.
>
> Then you need cost or reverse cost based on the value of oneway.
>
> -Steve
>
> Valeria Muñoz wrote:
>
> hi Daniel, thanks for the link..
> I did the following:
> * UPDATE calle SET to_cost=length(the_geom),
> reverse_cost=length(the_geom); *
> * *
> * UPDATE calle SET reverse_cost=reverse_cost + 1000000 WHERE
> oneway!=0 , oneway!=0 are one way streets. *
>
> my query:
>
> SELECT edge_id as gid,cost as length FROM
> shortest_path_astar('SELECT gid AS id,source::int4,
> target::int4, to_cost::double precision as cost,
> reverse_cost::double precision, x1,y1,x2,y2 FROM
> calle',3412,3411,false,true)**
>
> this do not works 100%, with some street works with others no...
> I am missing something?
> RG
>
> 2009/2/11 Daniel Kastl <kastl at orkney.co.jp
> <mailto:kastl at orkney.co.jp> <mailto:kastl at orkney.co.jp
> <mailto:kastl at orkney.co.jp>>>
>
>
> So I guess pgRouting doesn't know that there is a one way street.
> You might want to read this:
> http://pgrouting.postlbs.org/wiki/OneWayStreets
>
> Daniel
>
>
> Valeria Muñoz schrieb:
> > HI!!
> >
> > I have a little problem with my routing, the best
> path from
> A to
> > B do not respect the traffic direction.
> > attached image.
> >
> > please check in the example vicente perez rosales street
> >
> > Query
> >
> > rt.gid,rt.the_geom AS tg, AsText(rt.the_geom) AS wkt,
> > length(rt.the_geom) AS length, calle.gid FROM calle,
> (SELECT gid,
> > the_geom FROM dijkstra_sp_delta( 'calle', 3414, 3406,
> 3000) ) as rt
> > WHERE calle.gid=rt.gid;
> >
> >
> > RG
> >
> >
>
> ------------------------------------------------------------------------
> >
> >
>
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Pgrouting-users mailing list
> > Pgrouting-users at lists.postlbs.org
> <mailto:Pgrouting-users at lists.postlbs.org>
> <mailto:Pgrouting-users at lists.postlbs.org
> <mailto:Pgrouting-users at lists.postlbs.org>>
>
> > http://lists.postlbs.org/mailman/listinfo/pgrouting-users
> >
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.postlbs.org
> <mailto:Pgrouting-users at lists.postlbs.org>
> http://lists.postlbs.org/mailman/listinfo/pgrouting-users
>
>
>
More information about the Pgrouting-users
mailing list