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_trace
to recompute the tree. Default isFalse
.a_star (
bool
): Whether or not to use A* over Dijkstra’s algorithm. WhenTrue
,early_exit
is alwaysTrue
. Default isFalse
.heuristic (
str
): Heuristic to use ifa_star
is 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