aequilibrae.paths.PathResults#
- class aequilibrae.paths.PathResults[source]#
Path computation result holder
>>> from aequilibrae import Project >>> from aequilibrae.paths.results import PathResults >>> proj = Project.from_path("/tmp/test_project") >>> proj.network.build_graphs() # Mode c is car in this project >>> car_graph = proj.network.graphs['c'] # minimize distance >>> car_graph.set_graph('distance') # If you want to compute skims # It does increase path computation time substantially >>> car_graph.set_skimming(['distance', 'free_flow_time']) >>> res = PathResults() >>> res.prepare(car_graph) >>> res.compute_path(1, 17) # res.milepost contains the milepost corresponding to each node along the path # res.path_nodes contains the sequence of nodes that form the path # res.path contains the sequence of links that form the path # res.path_link_directions contains the link directions corresponding to the above links # res.skims contain all skims requested when preparing the graph # Update all the outputs mentioned above for destination 9. Same origin: 1 >>> res.update_trace(9) # clears all computation results >>> res.reset()
Methods
__init__()compute_path(origin, destination[, ...])Computes the path between two nodes in the network.
Return the availiable heuristics.
prepare(graph)Prepares the object with dimensions corresponding to the graph object
reset()Resets object to prepared and pre-computation state
set_heuristic(heuristic)Set the heuristics to be used in A*.
update_trace(destination)Updates the path's nodes, links, skims and mileposts
- compute_path(origin: int, destination: int, early_exit: bool = False, a_star: bool = False, heuristic: str | None = None) None[source]#
Computes the path between two nodes in the network.
A* heuristics are currently only valid distance cost fields.
- Arguments:
origin (
int): Origin for the pathdestination (
int): Destination for the pathearly_exit (
bool): Stop constructing the shortest path tree once the destination is found. Doing so may cause subsequent calls toupdate_traceto recompute the tree. Default isFalse.a_star (
bool): Whether or not to use A* over Dijkstra’s algorithm. WhenTrue,early_exitis alwaysTrue. Default isFalse.heuristic (
str): Heuristic to use ifa_staris enabled. Default isNone.
- prepare(graph: Graph) None[source]#
Prepares the object with dimensions corresponding to the graph object
- Arguments:
graph (
Graph): Needs to have been set with number of centroids and list of skims (if any)
- update_trace(destination: int) None[source]#
Updates the path’s nodes, links, skims and mileposts
If the previously computed path had early_exit enabled, update_trace will check if the destination has already been found, if not the shortest path tree will be recomputed with the early_exit argument passed on.
If the previously computed path had a_star enabled, update_trace always recompute the path.
- Arguments:
destination (
int): ID of the node we are computing the path too