Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite PtRouter #39

Closed
1 of 3 tasks
hcourt opened this issue Mar 23, 2022 · 2 comments · Fixed by #58
Closed
1 of 3 tasks

Rewrite PtRouter #39

hcourt opened this issue Mar 23, 2022 · 2 comments · Fixed by #58

Comments

@hcourt
Copy link

hcourt commented Mar 23, 2022

Okay so we need to rewrite the PtRouter.

Tasks:

  • Pseudocode what's there now
  • Pseudocode what we want (below)
  • Do it in Java

Major changes:

  • Transit edges need weights, just like bike edges. These should be roughly the same magnitude as bike edges so we can compare them
  • Keep Dijkstra's, but use weights instead of time for edge selection.
  • Still keep around edge time for filtering out transit edges with departure times that are too early or in the past.
  • Add tuneable knobs for:
    • Transit weight/bike weight ratio
    • Transit weight between mode, time, number of transfers
@hcourt
Copy link
Author

hcourt commented Mar 23, 2022

We think we want to rewrite PtRouterImpl.RequestHandler.findPaths to use a single Dijkstra's pass instead of multiple passes with reversing; and rewrite MultiCriteriaLabelSetting/GraphExplorer to use weight instead of time.

@abhumbla
Copy link

i think a goal of this task should be to make the PT router not a special case in the config, but an actual profile with its own parameters (different types of weighting could be one). this could help a lot of weirdness we get interacting with the PT endpoints vs the normal one

at the extreme end of this we would unify PT graph and street graph and use the same graph algorithms (just that PT profile also needs to keep track of the current time). but for now i think just making it a first-class profile will have a lot of benefits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants