[pgrouting-users] TRSP - Bug with rules referring to the starting edge.
Fabien Ancelin
fabien.ancelin at gmail.com
Wed Feb 26 07:42:36 PST 2014
Hello all,
There is I suspect another bug in TRSP algorithm that occurs in the file
GraphDefinition.cpp, at line 299.
The issue appears when the start location for routing passed from
PostgreSQL is a position on a segment, and this position is different from
0 or 1 (For example Edge 200, Position 0.5). In that case, the starting
edge gets split. Because of that all the elements in the rule table
referencing to the starting segment need to be updated.
There are several things that caught my attention :
- The code in order to update the rule and replace the reference to the
starting segment is activated only if there 1 one segment in the precedence
list (line 299). The rule could very well have a reference to the starting
segment and a precedence list with more than 1 element.
- The logic to update the rule assumes that the starting segment will
always be the last element in the precedence list. That is not a right
assumption.
- Even when we do attempt to update the rule, the code logic seems
puzzling (line 301). The reference to the starting segment is removed, and
we insert the edges created from the split into the precedence list,
without checking the connection with the previous segment in the precedent
list.
Is that issues that you are aware of or planning to fix? Would you need
help to fix those bugs?
Regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20140226/94da101d/attachment.html>
More information about the Pgrouting-users
mailing list