aequilibrae.paths.PathResults#
- class aequilibrae.paths.PathResults[source]#
Path computation result holder
>>> from aequilibrae.paths.results import PathResults >>> project = create_example(project_path) >>> project.network.build_graphs() # Mode c is car in this project >>> car_graph = project.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) # 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)
- set_heuristic(heuristic: str) None [source]#
Set the heuristics to be used in A*. Must be one of get_heuristics().
- Arguments:
heuristic (
str
): Heuristic to use in A*.
- 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