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

working with transit modeling or different graph layers #184

Open
robfitzgerald opened this issue Apr 9, 2024 · 1 comment
Open

working with transit modeling or different graph layers #184

robfitzgerald opened this issue Apr 9, 2024 · 1 comment
Labels
rust Applies to the rust code

Comments

@robfitzgerald
Copy link
Collaborator

in the case of transit modeling,

  • we need edges appended to the graph which connect station stops
  • we need a RoadClassFrontierModel to know the mapping from these edges to a "transit" class name
  • we need a traversal model that knows how to find the transit edges in the graph by id

appending to the graph could take a few forms:

  • the user needs to add the links to the edges-complete file before running
    • cumbersome
  • TraversalModelBuilder::build can append links to the graph
    • all traversal models needs to keep track of the offset index + number of edges associated with the traversal model
    • how do we inform the RoadClassFrontierModel what the edge ids are?
  • TraversalModelService has a register_edges method
    • similar to how we update the state model
    • in order to know what the index will become, we need to have the un-modified graph in scope to check it's .size
@robfitzgerald robfitzgerald added the rust Applies to the rust code label May 10, 2024
@robfitzgerald robfitzgerald added this to the RouteE Transit milestone Jul 23, 2024
@robfitzgerald
Copy link
Collaborator Author

robfitzgerald commented Jul 23, 2024

sketch of a solution...

  1. a TraversalModel can create links, is called during CompassApp::try_from when creating a Graph
  2. a Graph::extend or Graph::merge method which adds vertex + edge data to the graph
  3. finally, a TraversalModel::register_graph_update() which takes the tuples and stores whatever information is relevant, which is called for every traversal model

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

No branches or pull requests

1 participant