1. Open Trip Planner
  2. The problem
  3. From the outside in:
  4. API
  5. Narrative generation
  6. Trip planning operates on a directed graph
  7. The code
  8. Edges have costs
  9. Edge costs depend on the user
  10. Edge costs are time-dependent
  11. How edges work
  12. Planning on a graph (simplified)
  13. Dijkstra's algorithm
  14. Some additional complexities
  15. Time dependence
  16. Arrive-by trips
  17. Multi-criteria optimization
  18. Time-dependent multi-criteria Dijkstra's algorithm
  19. Locally correct choices are not always globally correct
  20. A*
  21. Contraction hierarchies
  22. Contraction hierarchies
  23. The data
  24. Open Street Map
  25. Building the street graph
  26. Complications
  27. Turn restrictions and penalties
  28. Edge-based graphs
  29. That's it for the street network
  30. Building the transit network
  31. The time-expanded model
  32. The time-dependent model
  33. Dwell times
  34. Linking the transit network to the street network
  35. StreetVertexIndexService
  36. Putting it all together: the graph building process
  37. Graph configuration file
  38. Where to save your graph
  39. Transit loader
  40. Street data
  41. Cache and region
  42. Permissions
  43. Bicycle safety properties
  44. Miscellaneous important transit builders
  45. Putting it together
  46. Contraction
  47. Questions?