Open Trateotu opened 5 years ago
@Trateotu Can you write a test for this in the DRT_test?
@burghout Sure I need to prioritize other things at the moment but can write one in the future. Also I think it might be better documentation to add this to the integration test with the SF network, or to a 'CSGM' or 'Network' test group, since I do not think this is dependent on DRT being active.
@Trateotu ok will see what I can do this morning. Will open a bug branch from this from which of your branches?
@burghout ok thanks that would be great. I think David-DRT, I added a few updates and merged #57 there recently. Should we close #57 too?
@burghout Note: To be clear I do not believe that this occurs for ALL viable buslines that are to be merged into one path. I think that if we have two alternative lines for the same path then the second line is eliminated even when it seems like it should be kept. If, however, we have n (> 2) viable buslines that should be merged into one path then then I believe lines 1, 3, ... n are kept and the second one is elminated even though it should be kept.
In the passenger choice set generation step, after generating direct and indirect paths etc. for a given ODstop pair there is a merging step (Network::merge_paths_by_common_lines). In this merging step, if I have two lines that connect for example origin stop A and destination stop B, and the busroute for this segment is identical in terms of link sequence, then one of these two lines seems to be eliminated from the path set instead of merged, leaving whatever has the lowest lineID for this OD as the only alternative for this stop pair.
For example, say I have two lines connecting stop A to stop B that are identical w.r.t. route between this stop pair but not in other characteristics (e.g. headway and other stop visits besides A and B), one with ID 4 and one with ID 1, then the line with ID 1 will be stored and line 4 eliminated from the pathset for stop A->B.
Not sure what goes wrong just yet but pretty sure its a bug somewhere in Network::merge_paths_by_common_lines()