[pgrouting-users] Problem with way restrictions in shooting star if
you have more then one rule for an edge
Max Weninger
max.weninger at gmail.com
Wed Jan 11 10:11:50 EST 2012
Hi
Thanks for providing the shooting star algorithm.
I am using your shooting star code. The only difference
is that I use a sqlite3 DB instead of postgres. So I only
"adapted" the code of fetching the data from DB to use
the sqlite3 API. The rest of the code is as it is in the
git repository at the moment.
The routing works find in general I only have problems
using certain "types" of turn restrictions. In special
as soon as there is more then one rule for an edge
It seems that it only "respects" the first rule for
turn restrictions and always ignore the other ones.
I correctly provide the "same" edge for every rule and AFAIKT
adjacent_edges is correctly filled with all the rules for this edge.
After that I am "lost" how the "boost" algorithm actually works
and at which point the information from adjacent_edges is used
during routing.
I also tried the same "osm data" with the "original" code
from a postgres DB and the result is the same
An example where it happens is here
routing from http://www.openstreetmap.org/browse/way/34849107
to http://www.openstreetmap.org/browse/way/96379178
As you can see it is not allowed to go "straight" on
still shooting star returns exactly this route
way http://www.openstreetmap.org/browse/way/96379178 has two rules with
to_cost > 100000
from http://www.openstreetmap.org/browse/way/96379173 (only straight on)
and as a second one
from http://www.openstreetmap.org/browse/way/34849107 (only styraight
on)but the second one seems to be ignored and thefore choosen for the route
The correct routing would be to go right to the next roundabout
and back which definitly has a lower cost.
So maybe you can give me some hints how I can debug where the
rules are "evaluated" to see if my "assumptions" are correct
Regards
max
More information about the Pgrouting-users
mailing list